编译原理(词法分析)
文章目录 1.编译原理概述 2.词法分析 正规集 正规式 正规文法 自动机 已知集合求正规式、DFA; 已知正规式求DFA、集合; 已知DFA求正规式、集合; DFA的确定化、最小化。 1.编译原理概述 程序设计语言的翻译模式:编译、汇编;转换(预处理);反汇编、反编译;交叉编译、交叉汇编 静态语义错误(如分母不为0)在语义分析阶段可以被检测出来 词法分析里的坑点,因为词法分析只是识别记号,它并不会排查声明变量结构性错误,这个错误要到语法分析之中才可以被检查出来 动态语义错误编译过程中一般不会处理,只有到程序执行时才会发现 几个错误的典型实例 对程序语句的翻译主要考虑两类语句:声明语句和可执行语句,其中,对声明语句,主要是将所需要的信息正确地填入合理组织的 符号表 中;对可执行语句,则是 翻译成中间代码 在以阶段划分的编译器中, 符号表管理 和 出错处理 两个阶段的工作贯穿于编译器工作始终。 有两个因素使得有限自动机是不确定的,一个是 具有ε状态转移 ,另一个是对同一字符, 可能有多于一个的下一状态转移 词法分析器有四个作用,请给出其中的任意两个: 识别记号并交给语法分析器 / 滤掉源程序中的无用成分 / 处理与具体平台有关的输入 / 调用符号表管理器或出错管理器 语法分析器根据语法规则 识别出记号流中的结构 ,并 构造一棵能够正确反映该结构的语法树 。 检查输入中的错误