关于语法分析器我最近想要制作一个表达式分析器.由用户输入一个表达式,由程序分析和计算表达式的值.首先验证是否有语法错误或
来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/23 23:27:31
关于语法分析器
我最近想要制作一个表达式分析器.由用户输入一个表达式,由程序分析和计算表达式的值.首先验证是否有语法错误或表达式错误,例如分母为零之类的,例如多了一个单独的括号之类的.能够分析到函数例如sqrt();sin()之类的(各种运算函数都事先写好了),并且按正确的顺序运算,允许括号提升运算优先级.我只知道似乎用数组和正则表达式可以实现.真正做起来却无从下手.请问谁能够提供一解决思路,最好有一些java代码和流程.
麻烦大家最好给一些算法,
例如如何处理运算次序,如何从语句中分析出“-”表示的究竟是减法还是负号之类的.
我最近想要制作一个表达式分析器.由用户输入一个表达式,由程序分析和计算表达式的值.首先验证是否有语法错误或表达式错误,例如分母为零之类的,例如多了一个单独的括号之类的.能够分析到函数例如sqrt();sin()之类的(各种运算函数都事先写好了),并且按正确的顺序运算,允许括号提升运算优先级.我只知道似乎用数组和正则表达式可以实现.真正做起来却无从下手.请问谁能够提供一解决思路,最好有一些java代码和流程.
麻烦大家最好给一些算法,
例如如何处理运算次序,如何从语句中分析出“-”表示的究竟是减法还是负号之类的.
可以看看这个,我刚解析了一大堆.那个源代码就是表达式分析器,有括号的可以用递归解决,遇到左括号递归括号内的表达式,最后要递归完毕配上右括号有效.-号出现的位置不多,要不就开始出现,要不就在‘(’右边出现,还可能在sin右边出现,自己在这些地方判断下就行了,至于sin类那些运算,可以在分析表达式的时候用个词法分析器判定一下,然后用个'S'代替方便运算.当遇到S的时候,直接递归S右边的表达式就可以了.遇到其他双目预算符就用栈操作就可以了.http://zhidao.baidu.com/question/230577084.html
编写一个程序,可以计算算术表达式的值,对非法表达式要给出提示,并要求重新输入正确的表达式.(正确的表达式范例:123+4
C语言 四则运算程序接受用户输入的一个四则运算表达式,输出其结果.例如用户输入表达式(5-1/5)*5,则输出结果 24
编写一个程序,可以计算算术表达式的值,对非法表达式要给出提示,并要求重新输入正确的表达式.
编写一个程序,可以计算算术表达式的值,对非法表达式要给出提示,并要求重新输入正确的表达式
编译原理词法分析器求一个词法分析的源代码
(C++) 输入一个由数字、+、-、*、/及括号组成的自述表达式,求其值.
用C++语言设计一个简单计算器.用户输入四则运算表达式,程序输出正确结果(有追加)
C语言 从键盘输入一个简单的数学表达式,计算并显示该表达式的值 求算法和程序
java 正则表达式 求验证密码必须由字母和数字组成的正则表达式
表达式语法扫描 从键盘输入一个表达式,判断它是否符合下面的语法规则:(1) 表达式只能由单字母、运算符
试用C语言设计一个程序,程序的功能是接收任意输入一个算术表达式,判断表达式中的括号是否配对出现.
关于编译原理编译原理的此法分析器设计有一道题中的结尾要求中这样写到:……分析器的输入为由上述几类单词构成的程序(c语言的