词法&语法分析器(带小窗口)

Lexer-Parser

用java实现的词法分析和语法分析的小程序

个人博客网站:https://daqwt.top

代码:https://github.com/DAQ121/Lexer-Parser

结果图

  • 词法分析

在这里插入图片描述

  • 语法分析

在这里插入图片描述

在这里插入图片描述

  • 判断是否是LL(1)文法

在这里插入图片描述

概述

  • 词法分析: 根据输入的字符序列,将字符序列转换为单词Token序列,识别每个字符,并给出相应的类型。
  • 语法分析: 根据给定的文法,判断是否是LL(1)文法,自顶向下分析。采用预测分析法:从文法开始符S 出发,从左到右扫描源程序,每次通过向前查看 1 个字符,选择合适的产生式,生成句子的最左推导。
  • 步骤:
  1. 从文件读入文法自动区分 终结符号VT 和 非终结符号VN
  2. 消除直接左递归
  3. 生成FIRSTFOLLOW集合
  4. 判断是否是LL(1)文法
  5. 构建预测分析表
  6. 输入要分析的单词串自动输出分析过程

代码结构

在这里插入图片描述

使用说明

  • grammer文件夹放入F盘下,我在代码包中也附带了一个名为文法测试.txt的文件,里面有对应的四种文法以及需要输入的字符串示例。
  • 运行Main主函数,即可…

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_44861399/article/details/106687804