相关疑难解决方法(0)

是否有可用于8位嵌入式系统的flex/bison的替代方案?

我正在编写一个小型解释器,用于简单的BASIC语言,使用avr-gcc工具链在C语言的AVR微控制器上练习.但是,我想知道是否有任何开源工具可以帮助我编写词法分析器和解析器.

如果我写这个在我的Linux机器上运行,我可以使用flex/bison.现在我把自己限制在一个8位平台上,我必须手动完成所有操作,不是吗?

embedded parsing bison avr-gcc flex-lexer

80
推荐指数
3
解决办法
6万
查看次数

抽象语法树和具体语法树有什么区别?

我一直在阅读有关解释器/编译器如何工作的一些内容,而我感到困惑的一个领域是AST和CST之间的区别.我的理解是解析器生成一个CST,将它交给语义分析器,将其转换为AST.但是,我的理解是语义分析器只是确保遵循规则.我真的不明白为什么它会实际做出任何改变,使其变得抽象而不是具体.

有没有关于语义分析器的东西,或者AST和CST之间的差异有点人为?

parsing terminology abstract-syntax-tree semantic-analysis concrete-syntax-tree

74
推荐指数
6
解决办法
3万
查看次数

AST翻译?

我有一个AST(抽象语法树),现在我想测试我的编译器,给它2个或更多的数字,并期望输出与数学运算的结果(如计算器).

我的问题是,构建解释器的最佳方法是什么?访问AST节点是递归的,所以我不知道有多少封装计算存在,直到我到达树的末尾.但由于这是通过迭代迭代完成的,我怎样才能最终完成所有操作?

谢谢

interpreter abstract-syntax-tree

8
推荐指数
1
解决办法
5282
查看次数