编译原理
799050408
展开
-
关于词法分析的一点总结
学完词法分析,有点乱,稍微整理下整个过程下面我们都是以c语言为例,我们首先明确词法分析要做的是什么,词法分析是将字符流转化为记号流,字符流就是一行行的代码,如if(a > 10), a++, while(true)等等,记号流就是程序员所定义的数据结构,比如说对于if(a > 10)这样一行代码,可以分解成下列的数据结构:struct node {char *s =“IF”}; st原创 2016-10-28 11:56:58 · 3672 阅读 · 0 评论 -
关于语义分析的简单总结
关于语义分析的简单总结预备知识编译器的前端是由三个模块和两个核心数据结构(记号流,抽象语法树)组成的,编译器处于一个流水线的结构,阶段无关性(只考虑把每一个模块的输入输出)语义分析只依赖于前一阶段的抽象语法树语义分析也称为类型检查。上下文相关分析。负责检查程序(抽象语法树)的上下文相关的属性: 变量在使用前先声明每个表达式都有何时的类型函数调用和函数的定义一致……………… 举个例子原创 2016-12-31 15:23:23 · 11777 阅读 · 1 评论