女王控的博客

编译原理

8 篇文章

编译器之旅(三)——运算符优先级

需求 我们在上一部分中看到,解析器不一定强制执行我们语言的语义,它仅强制执行语法的语法和结构规则。 我们最终得到了计算表达式错误值(如2 * 3 + 4 * 5)的代码,因为该代码创建了一个如下所示的AST… »

编译器之旅(二)——解析简介

需求 为上一节识别的语言定义一个语法 准备 BNF 这是语法的 BNF 描述 竖线将语法中的选项分开,因此含义是: 表达式可以只是一个数字,或者 一个表达式是两个用’*‘标记分隔的表达式,或者 一个表达式是两个用’/‘标记分隔的表达式,或者 一个表达式是两个用’+‘标记分隔的表达式,或者 一个表达式是两个由’-‘标记分隔的表达式 数字始终是 T_INTLIT 语法的 BNF… »

0%