- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
这是我翻译的第一篇论文。
发表在这里,是希望与计算机编程爱好者,英语爱好者,数学爱好者一起交流。文章内容很深奥,在下不才,翻译得很直白,希望更多朋友帮我指出错误翻译,基本知识错误,专业名词错误等,文章划线处是我自己感觉翻译得很糟糕的地方,希望朋友们能多多指点。
虚心请教,希望高手赐教!希望错误之处能为我指出,而不是类似喷子……
感谢赵老师的帮助和指教,我也希望我能像赵老师一样能在这一领域取得成功!
原文地址:/KB/recipes/FastMathParser.aspx#idInit
赵老师官网地址:
希望有更高见的朋友可以一起交流!
快速数学表达式解析器
简介
许多应用都需要数学表达式解析。这个项目的主要目的是提供一种快速简便的方法来实现。muParser是一种可扩展的高性能数学解析库。它是基于一个表达式转换成字节码,并预先计算其常量部分。
数学解析器的库是用纯C++编写的,且将会符合每一个标准的编译器编译。我提供了静态库和一个DLL version,让你为执行你的项目做好准备。这个代码已经用MS VC++ V7.1和GCC V3.3.1测试过了。据说它也可以用在BCB上。我提供了三个演示项目来帮助你了解它的用法。
关于这个解析器的更多信息可以在它的项目主页中找到。一个在线的数学解析器的类文件也是可用的。
目录
简介 2
默认执行 4
1.内建函数 4
2.内建的双目运算符 5
将该解析器添加到你的项目 5
1.使用DLL 6
2.使用静态库 6
3.源代码蕴含 7
解析器接口 8
1.解析器初始化/反初始化 8
2.设置表达式 8
3.赋值表达式 8
4.定义标识符字符集 9
5.定义解析器变量 9
6.定义解析器的常量 11
7.定义解析器的函数 11
8.定义解析器的运算符 12
1.单目运算符 12
2.双目运算符 13
9.查询解析器的变量 14
10.查询解析器的常量 14
11.设定自定义值识别回调 15
12.删除常量或变量 16
13.错误处理 17
示例代码 19
背景 19
1.字节码范例 19
2.字节码的解释 20
基准 20
许可证 20
相关链接 20
特点
以下是一份目前支持该解析器库的功能列表。其主要目的是保持尽可能扩展且确保最高的解析速度。扩展解析器是主要基于允许用户添加自定义回调函数上的,只需要一个绝对最小的代码即可。比如,你需要确切的两行代码来添加一个新的函数。但扩展解析器可能根本不必要,因为它伴随有一个强大的默认执行。以下是一些特点的列表(不完全统计):
1.易用:你只需要几行代码就可以求连接表达式的值。
2.非常快:比许多其他解析器快
3.用户自定义运算符:双目运算符 后缀运算符 中缀运算符
4.用户自定义的函数:一个固定数量多达五个参数
可变数量的参数
一个单字符串参数(用于数据库查询)
5.用户自定义常量:数值常量 字符串常量
6.用户定义的变量:无限量 在解析器运行时定义解析器
相对其他变量而言赋值变量是可能的
7.自定义值识别回调函数:支持二进制和十六进制数值 可用于实现数据库查询
8.有许多功能的默认执行: 26个预定义的函数
15个预定义的运算符
支持关联一个给定的变量进行数值微分
支持赋值运算符
可移植性:包含GNU的Makefile文件
包含BCB项目文件
MSVC 7.1托管和非托管代码的项目文件
ISO 14882兼容的代码
每种语言都能使用从C -style中导出函数用于DLL version
10.单位支持:使用后缀运算符作为单位乘法器(3M - 0.003)muParser.cpp的类mu::Parser中。DLL version在内部使用这个类。
1.内建函数
下表给出了一个支持默认执行功能的概述。它列出了函数名,参数个数和简要说明。
名称 Argc. 说明 sin 1 正弦函数 cos 1 余弦函数 tan 1 正切函数 asin 1 反正弦函数 acos 1 反余弦函数 atan 1 反正切函数 sinh 1 双曲正弦函数 cosh 1 双曲余弦函数 t
文档评论(0)