
编译原理
文章平均质量分 87
sHuXnHs
这个作者很懒,什么都没留下…
展开
-
深入浅出词法分析Ⅱ(词法单元的识别 )
核心——识别器(有穷自动机)有穷自动机识别字符串的过程开始,自动机处于初始状态输入字符串的第一个字符,这时自动机会查询当前状态上与输入字符相匹配的边,并沿这条边转换到下一个状态。继续输入下一个字符,重复第二步,查询当前状态上的边并进行状态转换当字符串全部输入后,如果自动机正好处于接受状态上,则自动机接受了这一字符串。有穷自动机{不确定有穷自动机NFA:确定的有穷自动机DFA:有且只...原创 2018-10-18 01:42:05 · 1424 阅读 · 0 评论 -
编译原理基础概念
基础概念1.编译器和解释器的区别:编译器是一种程序,在源语言中读取程序,转为目标代码,并报告翻译过程中检测到源程序的任何错误;解释器是直接在用户提供的输入上执行源程序中指定的操作;编译器生成机器语言目标程序比解释器快,但解释器通过执行源代码语句,可以提供更好的错误诊断2.编译过程词法分析(识别单词)语法分析(分析语法)语义分析(分析语义)中间代码生成(初步翻译结果)代码优...原创 2018-09-29 01:45:02 · 1180 阅读 · 0 评论 -
文法
文法的定义文法就是指怎么由一堆符号组成一个有含义的句子的规则和协议。文法的形式定义:G=(V,T,P,S)非终结符号集V = {<赋值语句>,<左部量>,<右部表达式>,<简单变量>,<下标变量>,<运算符>}终结符号集T = {a,b, c,m[1],m[2],m[3], +, -}语法规则集P = {&l...原创 2018-10-09 21:20:14 · 2524 阅读 · 0 评论 -
深入浅出词法分析(正则表达式)
基本概念词法分析器的主要任务:读入源程序的输入字符,将他们组成词素,生成并输出一个词法单元序列,每一个词法单元对应于一个词素。词法分析器还要过滤源程序中的注释和空白和注释还要将编译器生成的错误消息与源程序的位置联系起来词法分析器将其转为token的序列,语法分析器每次从词法分析器获得一个token,对不同的token的处理也不同token词法:带有附加信息的字符串lexeme...原创 2018-10-17 01:08:27 · 3409 阅读 · 0 评论 -
词法分析Ⅲ
正则表达式与正则文法的等价性对任意一个正则表达式,存在定义同语言的文法对任意一个正则文法,存在定义同语言的表达式正则表达式转换为等价的正则文法步骤引入开始符号 S,从如下正则定义式: S→\rightarrow→r按如下规则将S→\rightarrow→r分解为新的正则定义式,在过程中根据需要引入新的语法变量分解规则 A→\rightarrow→r如果 r=r1...原创 2019-01-03 22:11:54 · 182 阅读 · 0 评论 -
语法分析
文章目录语法分析器语法分析器作用语法分析的任务语法分析器分类上下文无关文法与正则文法NFA转为上下文无关文法推导与规约二义性递归下降分解消除左递归提取左公因子LL(n)LL(1)自底向上语法分析(串w规约为文法开始符号S)LR(n)LR语法分析表语法分析器语法分析器作用从词法分析器获得单元的序列,确认该是否可以由语言文法生成对于语法错误的程序,报告错误信息对于语法正确的程序,生成分析树...原创 2019-01-05 15:18:12 · 497 阅读 · 0 评论