随笔分类 - 编译原理
摘要:一、ANTLR简介和学习动机 1. ANTLR简介 antlr是指可以根据输入自动生成语法树并可视化的显示出来的开源语法分析器。ANTLR—Another Tool for Language Recognition,其前身是PCCTS,它为包括Java,C++,C#在内的语言提供了一个通过语法描述来
阅读全文
摘要:一、part7 资料来源:https://ruslanspivak.com/lsbasi-part7/ 看作者博客的标题就知道,这一节我们需要完成抽象语法树的功能。 抽象语法树和具体语法树(解析树) 例如这个表达式的例子(2 * 7 + 3)就形成了这样的一棵抽象语法树。 而该表达式的解析树(具体语
阅读全文
摘要:一、part4 承接上次的内容,我们继续编写part4,这个部分我们的任务是完成输入一个仅带乘除运算符的表达式,然后返回表达式的结果。 主要修改或添加的内容: 原来我们的分析工作全部都是放在Interpreter类中完成,但到了现在的阶段,我们将解析的工作放到两个类中进行完成,即原Interpret
阅读全文
摘要:一、编写解释器的动机 学习了Vue之后,我发现对字符串的处理对于编写一个程序框架来说是非常重要的,就拿Vue来说,我们使用该框架时可以通过如v-on:, v-model等html的属性时,我们能够在里面嵌入js代码,其实这块就已经使用了编译原理的知识来对输入的字符串进行解析,然后将它们嵌入到js代码
阅读全文