编译原理
三选在阿里搬砖块
00年程序员,22年进入阿里巴巴,记录人生和职业里程,分享开发相关知识。
展开
-
语法分析--编译原理
语法分析语法分析在词法分析之后,采用上下文无关文法来描述程序语言的语法结构,主要是将现行的单词符号序列转换为分析树1.1 自顶向下采用深度延伸的方法来完成推导(从头到尾,直到发现不行)存在的问题:左递归带来的死循环左递归种类和消除(1)直接左递归:A→Aa 消除:将A变成A,...原创 2020-04-05 20:23:17 · 179 阅读 · 0 评论 -
词法分析-编译原理
三.词法分析词法分析是编译过程的第一步,对单词进行分析,创立符号表,将单词与行号关联。本章主要通过正规文法和有限自动机,来判别某些句子能否被接受。正规表达式—正规语言确定有限自动机(DFA):一个输入只有一种输出非确定有限自动机(NFA):一个输入存在多种输出正规表达式→NFA等价子集算法:NFA→DFADFA的最小化:一致法判断,求异法判断DFA→正规表达式上述的过程,即能...原创 2020-04-05 19:46:02 · 374 阅读 · 0 评论 -
形式文法和形式语言--编译原理
形式文法和形式语言本章主要阐述了一些基本的概念,为后续部分的编译进行了基础的准备:符号符号串及其运算(闭包运算,关注星闭包和正闭包)推导和规约文法,句型,句子,语言语法分析树:句型,短语,直接短语,句柄,素短语,最左素短语二义性乔姆斯基文法2.1 符号串和语言:人工语言:必须是明确的,不能有歧义。字母表:符号的有限集合。符号:可以互相区分的记号或元素。符号串:字母表...原创 2020-04-05 18:45:02 · 864 阅读 · 0 评论 -
概述--编译原理
一. 编译概述1.1 编译程序作为一种语言处理系统,将程序语言(源语言)翻译成机器可以理解的语言(目标语言)。编译器的组织:前端和后端前端:词法分析,语法分析,语义分析…过程,主要分析源程序,独立于目标机器。(可移植性)后端:代码生成/优化,相关处理,主要涉及指令选择,与目标机器相关。遍/趟:对源程序或者中间结果从头到尾扫描一次,并加工,这个流程就是趟。比如输入到完成词法分析的...原创 2020-02-27 13:58:12 · 254 阅读 · 0 评论