
编译原理
kafm
哼
展开
-
编译前奏:高级程序设计语言概述
以下内容均由编译原理视角展开高级程序语言概述程序设计语言的定义高级程序设计语言的一般特性先介绍一些有代表性的程序设计语言语言特点FORTRAN数值计算COBOL事务处理Pascal结构化程序设计Lisp函数式程序设计Prolog逻辑程序设计C系统程序设计Smalltalk面向对象程序设计Java...原创 2019-01-11 21:47:31 · 1397 阅读 · 0 评论 -
语法分析:LL(1)语法分析的实现及扩展的巴科斯范式
终于港到实现。。LL(1)语法与LL(1)分析当一个文法满足以下条件时,称这个语法为LL(1)语法,LL(1)语法可以通过LL(1)的分析方法进行分析文法不含有左递归同一非终结符的FIRST集合两两不相交同一非终结符的FIRST集若包含 ε,则不能与FOLLOW集相交LL(1)分析:若当前待匹配符号属于当前非终结符的某个产生式的候选首符集中,则将该非终结符按此产生式推导若当...原创 2019-08-13 21:42:06 · 1620 阅读 · 0 评论 -
词法分析(四):DFA的化简
词法分析概述虽然本篇博客冠名以词法分析,但是DFA的化简对于词法分析来说不是必要的它仅仅是自动机理论的一部分,甚至,你不需要自动机理论,也可以手打出来一个Tokenizer但是自动机理论是词法分析器的自动产生工具的理论自动化并且简化要不然何以称之为屠龙之术?(虽然前端技术可能只是屠龙术的起式 )(词法分析的理论我都看了有一周了,还没着手实现,好tm难 )DFA的化简(最小化)D...原创 2019-07-23 15:01:37 · 5357 阅读 · 0 评论 -
词法分析(三):有限自动机DFA与NFA
词法分析概述有限自动机(FA)有限自动机是对状态图的形式化描述也就是说,有限自动机可以等价地表示为状态图,一个状态图也可以表示成等价的FA有限自动机(Finite Automata)即FA有限自动机分为: 确定有限自动机(Deterministic Finite Automata) 非确定有限自动机(Nondeterministic Finite Automata)确定有限...原创 2019-07-23 00:36:43 · 21024 阅读 · 0 评论 -
词法分析(二):词法规则的形式化——正规式与正规集
语法描述的基本概念复习一下以下概念:字母表:一个有穷字符集,记为Σ字母表中的每个元素称为字符Σ上的字(字符串):由Σ中的字符构成的一个有穷序列不包含任何字符的序列称为空字,记为εΣ*表示Σ上所有字的全体,包含空字ε例:设Σ={ a,b },则Σ* = { ε,a,b,aa,ab,bb,ba,aaa,…}若U、V为Σ*的两个子集,则U和V的连接(积)定义为UV = { αβ | ...原创 2019-07-20 20:50:21 · 8899 阅读 · 0 评论 -
词法分析(一):状态转换图
状态转换图状态转换图是一张有限有向图结点表示状态,结点用圆圈表示状态之间存在有向弧,弧上标记有字符或字符集,表示某一状态接受箭弧上的字符/字符集输入后到达另一状态一张状态转换图中的状态个数是有限的,其中有一个初态,至少有一个终态如上图表示状态1为初态,状态3为终态,状态1接受字符a到达状态2,接受数字到达状态3终态用双圈表示状态转换图可用于识别 / 接受一定的字符串若存在...原创 2019-07-20 15:30:07 · 41598 阅读 · 4 评论 -
词法分析(五):正规式与有限自动机
词法分析概述唉,不想学习,老是想起别的事情这篇博客讲的是正规式和有限自动机的等价性,为NFA写出等价的正规式,为一个正规式构造等价的NFA有了NFA与正规式的关系,就把正规式和前面所述串接起来了总而言之,状态图,正规式/正规集,有限自动机都是同种东西的不同形式正规集是实在存在的编程语言的单词集合,正规式是单词集合的抽象描述,计算机难以理解正规式,或者说正规式的概念难以映射到计算机...原创 2019-07-24 20:03:02 · 6108 阅读 · 1 评论 -
编译原理:词法分析概述
//放暑假了,大三了。开学就要学编译原理、微机原理、操作系统三门大课qnq//true true beginning词法分析概述首先搞清楚词法分析在编译程序中的位置以及作用:源程序 经过词法分析 得到单词符号(包括单词符号的种别,是标识符啦,还是数据啦,还是括号或者操作符…),分析出的单词符号供语法分析器进一步处理词法分析由词法分析器(Lexical Analyzer)完成,...原创 2019-07-19 17:14:07 · 1627 阅读 · 0 评论 -
编译原理:形式语言简介
形式语言简介 乔姆斯基(Chomsky),美国语言学家,原创 2019-01-26 20:56:00 · 1493 阅读 · 0 评论 -
编译原理概述
着手看编译原理 2019/1/9目录编译程序、解释程序与翻译程序编译程序的工作阶段编译程序结构编译程序的生成编译程序把某一种高级语言程序等价地转换为一种低级语言程序(如汇编语言或机器语言)的程序,称为编译程序运行编译程序的机器称为宿主机,运行编译后的程序的机器称为目标机,经常目标机就是宿主机诊断编译程序(Diagnostic Compiler)帮助开发和...原创 2019-01-10 11:33:00 · 534 阅读 · 0 评论 -
编译原理:高级程序设计语言的语法描述
true beginning高级程序设计语言的语法描述原创 2019-01-26 00:45:26 · 1708 阅读 · 0 评论 -
语法分析:LL(1)分析
本篇介绍的LL(1)分析,这是一种自上而下分析的方法关于语法描述的概念自上而下分析从文法的开始符号出发,向下推导。推出句子根据输入串,从文法开始符号(根结点)出发,自上而下地为输入串建立语法树eg:有语法:S → xAy A → ** | *从左向右扫描输入串,取到 x 进行匹配时,分析文法开始符号 S 的产生式,只有一个 S → xAy,那么只能将 S 推导为句型 xAy...原创 2019-08-11 21:07:04 · 17805 阅读 · 2 评论