我正在尝试制作一个词法解析器来计算给定 EBNF 术语的所有解决方案。例如:
语法:
T::= 无 | 在 | (T+T) | (T*T)
一个::=一个| 乙 | c | d | e
运营商:
* 异或
. 序列
+ 并行
符号:
abcde
示例术语:
a.(b+c).(d*e)
计算项:
预期的树输出:
解决方案应该是所有的树枝。
我的问题是,这将是执行此操作的最佳方法?
现在我想使用 ANTRL 来构建语法分析树。
但我不太确定如何使用重构方法来计算术语。
谢谢!