[英]Creating parse tree to determine correctness of the LL Grammar given
我有一个程序,该程序当前将生成令牌输出,该输出将用于下一个程序的输入。 它将检查代码语法的正确性。
我遇到了如何开始将此语法转换为可用程序的问题。
以下是语法使用,我将如何开始制作这个。 或者哪里有很好的资源可以帮助我学习创建自己的解析器的基础知识。
这个实现将使用 Java,所以如果你能得到对应于 Java 实现的答案,那就太好了
程序 → stmt_list $$$
stmt_list → stmt stmt_list | ε
stmt → id = expr | 输入 ID | 打印表达式
expr → term term_tail
term_tail → 添加 op term term_tail | ε
术语 → 因子 fact_tail
fact_tail → mult_op fact fact_tail | ε
因子 → ( expr ) | 数量 | 身份证
add_op → + | ——
mult_op → * | / | // | %
您应该首先阅读编译器 - 原理、技术和工具的语法分析一章,也称为龙书。
检查输出令牌的步骤是:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.