1. 使用如下文法: E ® E+T | T T ® T*F | F F ® (E) | id 2. 对于任意给定的输入串(词法记号流)进行语法分析,要求采用LR分析器来完成。手工构造LR分析表,利用移进-归约分析算法(P71 图3.12)输出(P73 表3.8)对应的动作部分。如: 输入:id*+id/(id+id)# 输出:移进 按 F->id归约 按 T->F归约 移进 error …… 3. 要有一定的错误处理功能。即对错误能提示,并且能在一定程度上忽略尽量少的记号来进行接下来的分析。 例如: 从状态0开始的记号流为:bm 将b移进之后,栈里的情况应该为: 0 b 2 此时查表发现 action[2,m]=error 输出打印:error 把A和状态1相继压入栈,用户指针后移到FOLLOW(A)对应的元素继续分析。 4. 利用P94页的表3.13的方式将错误进行分类提示,即给出具体的出错信息。 扩展: 在已有文法的基础上再加上减法“-”和除法“/”对应的产生式构成最终的文法。从而使得记号流可以处理带括号的加、减、乘、除四则运算。
2019-12-21 19:37:55 6KB 编译原理
1
编译原理实验 语法分析器的程序,是采用的算符优先文法,是大三时候写的,很全,里面包括源程序 和实验报告等。
2019-12-21 19:37:20 176KB 编译原理 语法分析 算符优先 实验
1
使用MFC实现编译原理LL1语法分析器(含消除左递归)使用MFC实现编译原理LL1语法分析器(含消除左递归)
1
Tiny-yolo 预训练模型darknet.conv.weights做初始化,进行后期精调
2019-12-21 19:36:36 22.33MB Tiny-yolo
1
(1)输入任意文法,消除左递归和公共左因子;   (2)打印文法的First和Follow集;   (3)判断是否是LL(1)文法,如果是则打印其分析表;   (4)输入一个句子,如果该句子合法则输出与句子对应的语法树;    能够输出分析过程中每一步符号栈的变化情况。    如果该句子非法则进行相应的报错处理。
2019-12-21 19:35:34 3.33MB 语法分析 C语言 报告
1
编译原理的课程设计,用c++完成了词法分析和语法分析的功能,附带结题报告。
2019-12-21 19:34:42 14.23MB 编译原理 词法分析 语法分析 SLR
1
这是《编译原理》的课程设计--C-Minus词法语法分析器(带有课程设计报告),采用Web前端的JavaScript实现,兼容多种浏览器。词法分析器部分采用表驱动机制实现,同时提供一套用于快速验证性的正则匹配测试工具。语法分析器采用LR(0)文法实现,并且提供自动化构造LR(0)的操作表生成器。(源代码的注释非常详细,请先看下里面的"说明.txt")(温馨提示:下载后评论【需要评选等级】会返回被扣除的积分)
2019-12-21 19:34:10 182KB JavaScript 编译器 scan parser
1
为简单函数绘图语言编写一个解释器。解释器接受用绘图语言编写的源程序,经语法和语义分析之后,将源程序所规定的图形显示在显示屏(或窗口)中。用编译器编写工具LEX/YACC提供的方式规定绘图语言的词法和语法,用C/C++语言编写解释器的语义。实验使用的操作系统是WIN10,实现软件是microft visual studio community 2017版本。任务划分为三个部分,分别是词法分析器、语法分析器、语义分析器。
1
C语言写的语法分析器,对于给出的任意LL1文法,实现了求First集,Follow集,预测分析表的生成,分析栈分析句子的合法性。原创的
2019-12-21 19:32:27 205KB C 语法分析 源代码
1
编译原理大作业 完整编译器 词法分析 语法分析 语义分析 简单绘图语言
2019-12-21 19:31:29 25KB 词法分析 语法分析 语义分析
1