在原有代码的基础上增加以下功能:

  1. 检查输入的表达式是否合法,即是否只包含数字、运算符号和括号,避免输入非法字符。

  2. 在分析时输出每个产生式所对应的语义动作,例如对于 F -> i 可以输出将 i 压入操作数栈的动作。

  3. 在分析时输出每个产生式所对应的四元式,例如对于 E -> E+T 可以输出将 E 和 T 相加并将结果存入一个新的临时变量的四元式。

  4. 在分析结束后输出语法树,可以使用图形化的方式展示语法树结构。

下面是增加功能后的代码:

在下面代码的基础上增加一些功能 #include stdioh#include stdlibh#include stringh#include iostreamusing namespace std;char str10;int index = 0;void E; E-TX;void X; X-+TX-TX^void T; T-FYvoid Y; Y-FYFY^void F;

原文地址: https://www.cveoy.top/t/topic/fip5 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录