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

DraculaW 2005-06-03 03:00:53
考虑以下的文法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
...全文
166 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

23,407

社区成员

发帖
与我相关
我的任务
社区描述
Java 非技术区
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧