所使用的开发环境:Windows10、python(PyCharm)环境 注意:expression已给,包括测试的例子,但是需要词法分析器分析出的token表,格式:(行数, token分类, token内容),可以配套我的词法分析器使用。 要求:创建一个使用LR(1) 方法的语法分析程序,程序有两个输入:1)一个是文本文档,其中包含2º型文法(上下文无关文法)的产生式集合;2)任务1词法分析程序输出的(生成的)token令牌表。程序的输出包括:YES或NO(源代码字符串符合此2º型文法,或者源代码字符串不符合此2º型文法);错误提示文件,如果有语法错标示出错行号,并给出大致的出错原因。 项目简介:程序读入上下文无关文法,并进行拓广文法,将产生式依次形成项目进行储存,设定好起点进行处理得到完整的项目集族,按照项目集族之间的转换得到action、goto表,读取词法分析得到的token,按照之前得到的action、goto表进行处理,得到语法分析的结果,查看是否符合自己设定的语法,如果出错可以形成缺失或者错误导致的错误报告,并输出到result.txt(正确会得到‘YES’)。
1
openssl-1.0.2o.rar
2023-04-01 14:08:17 6.66MB Python编译
1
使用Sablecc作为解析器生成器,用Java编写的开源迷你Python编译器。
2023-03-11 13:52:53 4KB 开源软件
1
所使用的开发环境:Windows10、python(PyCharm)环境 注意,main.py里面有一个写函数,如果没有该位置可能会出错,建议注释掉。 课题功能: 创建一个词法分析程序,该程序支持分析常规语法。使用DFA(确定性有限自动机)来实现此程序。 程序有两个输入:1)一个文本文档,包括一组3º语法(正规文法)的产生式;2)一个源代码文本文档,包含一组需要识别的字符串。 程序的输出是一个token(令牌)表,该表由5种token组成:关键词,标识符,常量,限定符和运算符。 项目简介: 词法分析器读入三型文法,将三型文法构建成一个起点和一个终点的NFA,然后将NFA用子集法构造成DFA,创建DFA的索引表,后续读取要扫描的代码,将代码中的每个词依次带入DFA的索引表进行状态转换,如果到达终态说明词符合文法要求,输出token列表(三元组:所在行号,类别,token 内容)如果出错会输出另一种三元组(行号, 对错判定, token内容),并将token列表写入txt文件供任务二LR(1)语法分析器来使用,同时也会将结果输出到result.txt文件来观测。
2023-03-05 14:33:24 7.3MB python 编译原理 课程设计 词法分析器
1
python带界面任意文法求FIRSTVT和LASTVT集以及求算符优先分析表
2023-02-12 20:45:45 10KB python 编译原理 陈火旺
1
详解详解python编译器和解释器的区别编译器和解释器的区别高级语言不能直接被机器所理解执行,所以都需要一个翻译的阶段,解释型语言用到的是解释器,编译型语言用到
2023-01-09 09:50:13 38KB python python编译器 编程语言
1
python实现手工编写的简易词法分析器,主要目的是提供一个词法分析器框架,有详细的函数分析。可以通过这个简易的词法分析器完善成为一个更详细的词法分析器。
2022-11-07 15:46:33 6KB python 编译原理 词法分析器
1
通过cpython把python的文件转换为二进制文件,达到代码保护的目的 1、下载Cython-0.28.2.tar.gz python setup.py install安装 2、创建你需要打包成二进制的python文件 test.py def hello(s): print(s) 3、创建一个setup.py文件,内如如下: from distutils.core import setup from Cython.Build import cythonize setup( name = "test", ext_modules = cytho
2022-08-25 16:40:33 31KB python python实例 二进制
1
python翻译java写的代码,有可执行文件和源码文件。 (苏州大学编译原理课程实验)去空产生式和去单产生式和无用产生式
2022-06-13 13:25:50 6.85MB python 编译原理 去空产生式 去单产生式
1
Proteus8.10 VSM Studio python编译器仿真Raspberry_系列_48_Remote_Light代码和仿真操作实验
2022-05-13 15:15:52 192KB Proteus VSMStudio python Raspberry
1