1. 首页
  2. 考试认证
  3. 其它
  4. Compilers and Languages 用于简单语言的手工编码递归下降解析器

Compilers and Languages 用于简单语言的手工编码递归下降解析器

上传者: 2024-10-21 14:15:17上传 ZIP文件 2.2MB 热度 7次

编译器和语言项目包含了我在大学编译器和语言课程中的多个评估。评估详情如下:解析器问题E ::= E + T | T,T ::= T * F | F,F ::= (E) | a。这种语言的解析器需要手工编码为递归下降解析器。可以使用JFlex/flex作为标记器,或自行编写简单的标记器。至少,解析器应该识别有效的字符串并拒绝无效的字符串。额外学分可以通过扩展解析器以打印解析树或计算表达式获得(需要稍微修改语法,将F的规则替换为下一个练习中的F规则)。解决方案:我的解决方案首先使用手动编码的词法分析器来标记输入,输入需要在各个元素之间用空格分隔(例如: ( 5 + 4 ) )。解析器会基于标记化的输入解析语言定义的内容。由于输入语言具有左递归特性,我使用了修改版本来移除左递归。

下载地址
用户评论