想做一个语法分析器, 其中仅包含+ - * / () 并能检测语法错误, 输出结果,希望经验的人给个提示如何做? 想做一个语法分析器, 分析计算用户自定义的算术表达式, 语法约定其中仅包含+ - * / () 运算符; 整型, 货币型变量或常量, 并能检测语法错误。语法正确, 输出结果, 希望经验的人给个提示如何做? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我以前用C写了一个差不多的,用的是三维数组+指针。没敢用面向对象,水平实在有限。怎么存储表达式定下来了就好做了,忘了编译原理了,:) 做过次,但是不好说,建议看下编译原理。如果用算符优先分析法的话,首先建立一个算符文法,再建立算符优先关系表,根据关系表就可以进行语法分析了。不过在语法分析前要先进行词法分析,扫描出输入串的单词,判别有没不允许出现的字符。通过语法分析可生成一连串的四元式,按顺序算出这些四元式就能得到计算结果了。关于多种类型数值,我那时是统一用变体类型来保存其值,每个值关联一种类型标识,实际计算的时候再进行转换。我对这个也没什么经验,应该有更好的方法。 Delphi6中块注释的新方法~~~~~~~~~~~~ 急问:储存过程导入导出数据库问题,无法打开BCP主数据库文件?在线等待 枚举系统窗口的问题 简单问题:ADO的TADOQuery查到的结果的记录是多少? DCOM连接问题 怎样学习Object Pascal? 问一个很菜的问题!!! 添加限制单机运行的功能?怎么做? 各位高手过来,我要送分啦,送很多的分。。。。为了一个问题!! 谁知道Delphi替代字符串函数,高分奖励 有关使用ADO连接SQL SERVER2000数据库的问题? 如何让程序将所有windows热键屏蔽,同时限制鼠标限制在程序的窗口内。
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货