各种语法树的生成过程(想看自定义表达式的语法树生成过程的同学请留言)

各种语法树的生成过程(想看自定义表达式的语法树生成过程的同学请留言)

输入文件Calc.st

能够处理加减乘除和括号运算的解析器,其文法如下:

// 输入文件Calc.st
Exp    : Exp '+' Term
       | Exp '-' Term
       | Term ;
Term   : Term '*' Factor
       | Term '/' Factor
       | Factor ;
Factor : '(' Exp ')'
       | 'number' ;

%%[0-9]+%% 'number' // 示例只处理非负整数
//无须书写 %%[+]%% '+' 等

1234+567+89+0+0的语法树生成过程

1234+567*89-0的语法树生成过程

(1234+567)/89-0的语法树生成过程

(1234+567)/(89-0)的语法树生成过程

End

(想看自定义表达式的语法树生成过程的同学请留言)

posted @ 2025-01-19 19:25  BIT祝威  阅读(41)  评论(0)    收藏  举报