C# 可视化——LR语法分析器

文法G(E'):

E'→#E#

E→E+T|T

T→T*F|F

F→(E)|i

产生式如下:

  1. E→E+T
  2. E→T
  3. T→T*F
  4. T→F
  5. F→(E)
  6. F→i

 

用C#完成了一个可视化的LR语法分析器,源代码从文件读取。点击选择文件按钮选择源文件,源文件的内容显示在textBox1中。

C# 可视化——LR语法分析器C# 可视化——LR语法分析器

  点击开始分析按钮,启动语法分析程序,分析过程和结果显示在textBox2中:

C# 可视化——LR语法分析器

  通过输入不同表达式进行测试,测试结果与预期相符。在功能性方面完全符合设计要求。

当输入不符合文法的语句时,程序会正常报错:

C# 可视化——LR语法分析器