LR(0)项目集规范族的构造,按照编译原理相应的算法
2019-12-25 11:39:44 33KB LR(0)
1
LR(0)文法分析器(LR (0) grammar parser)对于实现整个编译器而言,语法分析器是整个过程的核心部分,同时对构造整个编译器起到了关键作用,对程序的进一步扩展,以后有机会涉及对编译器的编写而言,将会是很容易便上手,当然,对于复杂的文法,复杂的语言而言,需要对文法的识别进一步扩展
2019-12-25 11:10:55 4.29MB 编译原理 文法分析 LR(0) 分析器
1
这是个很复杂的程序,包含了LL1,LR,slr和lalr的编译器,相信你们一定用得着
2019-12-21 22:25:42 37KB lalr1
1
LR分析器工作过程算法描述: 一个LR分析器的工作过程可看成是栈里的状态序列,已规约串和输入串所构成的三元式的变化过程。分析开始时的初始三元式为 (s0, #, a1a2……an#) 其中,s0为分析器的初态;#为句子的左括号;a1a2……an为输入串;其后的#为结束符(句子右括号)。分析过程每步的结果可表示为 (s0s1……sm, #X1X2……Xm ai, ai+1……an#) 分析器的下一步动作是由栈顶状态sm和现行输入符号ai所唯一决定的。即,执行ACTION(sm,ai)所规定的动作。经执行每种可能的动作之后,三元式的变化情形是: (1) 若ACTION(sm,ai)为移进,且s = GOTO(sm,ai),则三元式变成: (s0s1……sm s, #X1X2……Xm ai, ai+1……an#) (2) 若ACTION(sm,ai)= {A→β},则按照产生式A→β进行规约。此时三元式变为 (s0s1……sm s, #X1X2……Xm A, ai ai+1……an#) 此处s = GOTO(Sm-r,A),r为β的长度,β = Xm-r+1……Xm。 (3) 若ACTION(sm,ai)为“接受”,则三元式不再变化,变化过程终止,宣布分析成功。 (4) 若ACTION(sm,ai)为“报错”,则三元式的变化过程终止,报告错误。 一个LR分析器的工作过程就是一步一步的变换三元式,直至执行“接受”或“报错”为止。
2019-12-21 22:23:04 12.74MB 编译原理实验 LR分析表 LR分析器
1
这是我自己用c++编的LR分析器,下载后即用。对编译时出现的各种错误都能纠正,很好用,希望能够帮助大家。 另外补充一下:此编译器实现功能主要是+*()的操作。
2019-12-21 22:21:46 3KB LR分析器 c++
1
用C#实现了编译原理中词法分析、LL1分析、SLR1分析和LR1分析,同时用LR1分析实现了语法制导翻译,程序中已提供了示例代码,可以对代码进行分析。需用VS2008才能打开项目
2019-12-21 22:19:40 277KB 编译原理 语法分析 LL(1) SLR(1)
1
LR(0)语法分析的实现:对于所输入的LR(0)文法,不论对错,都应有明确的信息告诉外界。对于符合规则的LR(0)文法,将输出LR(0)分析表,并可以对输入的句子进行语法分析输出相应语法树。
2019-12-21 22:17:03 81KB LR(0)语法分析的实现
1
用C#完成了一个可视化的LR语法分析器,源代码从文件读取。点击选择文件按钮选择源文件,源文件的内容显示在textBox1中。分析的过程和结果显示在textBox2中。
2019-12-21 22:03:13 212KB C# 语法分析
1
吴恩达老师深度学习课程作业用到的资源文件,亲测可用!
2019-12-21 22:02:06 2.63MB datasets
1
北邮大三编译原理课程序 注释很详细
2019-12-21 22:00:58 7KB 编译原理 北邮 语法分析程序 LR
1