语法分析器醒目 用java或者c++实现(高分求助)

DraculaW DraculaW 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
考虑以下的文法G[lexp]:
lexp →NUMBER| ( op lexp-seq )
op →+ | - |*
lexp -seq → lexp-seq lexp|lexp
该文法表示类似LISP前缀格式中的简单整型算术表达式。例如,表达式34 - 3 * 42在该文法中写作(- 34 (* 3 42))。
1. 为该文法给出的表达式设计相应的抽象语法树结构,
2. 为该文法写出一个递归下降分析程序返回一个抽象语法树,并且同时计算各节点的值。(提示:改写文法用EBNF表示,避免死循环)
假设词法分析器的输出为已知:
1) 当前读取的单词的类型保存在变量token中,单词的类型包括 PLUS,MINUS,TIMES,NUMBER,ENDFILE(源文件结束标志);
2) 单词的字符串值有词法分析程序输出并保存在变量tokenString中;
例如对于源程序中出现的数42,词法分析器的输出tokenString=“42”,token=NUMBER
...全文

相关推荐

评论
收藏 已收藏
分享
返回顶部
DraculaW
非技术区 23,404 成员 70,506 内容