:wrapped_gift:词法分析器
用java实现的词法分析和语法分析的小程序 :carp_streamer:
个人博客网站: : :heart_with_ribbon:
:television:结果图
词法分析
语法分析
判断是否是LL(1)文法
概述
词法分析:根据输入的字符序列,将字符序列转换为单词Token序列,识别每个字符,并相应地的类型
语法分析:根据给定的文法,判断是否是LL(1)文法,自顶向下分析。采用预测分析法:从文法开始符号S出发,从左到右扫描源程序,每次通过向前查看1个字符,选择合适的产生式,生成句子的最左推导。
步骤:
从文件读入文法自动区分终结符号VT和非终结符号VN
消除直接左递归
生成FIRST和FOLLOW集合
判断是否是LL(1)文法
构建预测分析表
输入要分析的单词串自动输出分析过程
代码结构
使用说明
将grammer文件夹放入˚F盘下,在我包代码中也。附带了一个名为文法测试.txt的文件,里面有对应的四种文法以及需要输入的字符串示例。
运行Main
2021-06-09 20:28:47
19KB
Java
1