flex:快速词法分析器-用于C和C ++词法分析的扫描仪生成器
2023-02-19 04:47:59 633KB c flex lexer lexer-generator
1
语义分析器 Java编程语言的子集的语义分析器。 :语义分析(也包括上下文敏感分析)是编译器构造过程中的一个过程,通常在解析后从源代码中收集必要的语义信息。 它通常包括类型检查,或确保在使用前声明了一个变量,该变量无法用扩展Backus–Naur形式描述,因此在解析过程中不容易检测到。 先决条件: 该应用程序是使用Java构建的,因此您应该在计算机上安装才能运行它。 特征: 词法分析。 语法分析(解析)。 语义分析。 用法: 将此存储库下载或克隆到您的计算机。 编译并运行带有命令行参数的任何Tester类(Testlexer,TestParser或TestSemantic)都指向测试文件路径。 javac Testlexer . java java Testlexer test_file_path 或者 javac TestParser . java java TestP
2022-05-17 11:03:24 38KB java parser compiler lexer
1
ANTLR实践 使用ANTLR构建C代码子集的Lexer和Parser 您可以按照 说明使用它
2021-11-28 19:16:55 8.92MB parse antlr lexer Java
1
修改java源码 mysqlparser this is a mysql parser, lexer is modified from mysql5.6.35 source code to java by myself, parser is created by bison2.7. 一个mysql的sql解析,词法解析部分是人工将mysql5.6.35源码翻译成java版,语法解析部分是通过bison2.7对mysql5.6.35中sql_yacc.yy文件生成的,语义解释部分由于sql_yacc.yy中都是c语言的,所以生成的语义解释都注释掉了,导致解析以外的所有功能需要用java重新改造,目前只实现了获取sql类型,库名,表名,有时间的话可能会再追加wherelist。。。。。 Sample try { MySQLParser parser = new MySQLParser(); List resultList = parser.parse("select * from acdb.acc where id = 1;delete from acd
2021-11-21 15:55:07 238KB 系统开源
1
从零开始用 Go 实现 Lexer & Parser
2021-08-03 09:04:36 4.72MB golang
1
:wrapped_gift:词法分析器 用java实现的词法分析和语法分析的小程序 :carp_streamer: 个人博客网站: : :heart_with_ribbon: :television:结果图 词法分析 语法分析 判断是否是LL(1)文法 概述 词法分析:根据输入的字符序列,将字符序列转换为单词Token序列,识别每个字符,并相应地的类型 语法分析:根据给定的文法,判断是否是LL(1)文法,自顶向下分析。采用预测分析法:从文法开始符号S出发,从左到右扫描源程序,每次通过向前查看1个字符,选择合适的产生式,生成句子的最左推导。 步骤: 从文件读入文法自动区分终结符号VT和非终结符号VN 消除直接左递归 生成FIRST和FOLLOW集合 判断是否是LL(1)文法 构建预测分析表 输入要分析的单词串自动输出分析过程 代码结构 使用说明 将grammer文件夹放入˚F盘下,在我包代码中也。附带了一个名为文法测试.txt的文件,里面有对应的四种文法以及需要输入的字符串示例。 运行Main
2021-06-09 20:28:47 19KB Java
1
i think of you 的词法分析器
2021-06-02 09:00:17 30KB 编译器 词法分析
1
氖 霓虹灯是一种实验性编程语言。它具有类似C的语法,并且可以轻松地与C / C ++互操作。 特征 变数 声明新变量: int i = 0 写变量: i = 5 读取变量: i = i + 5 可变范围 范围内定义的变量无法从该范围外访问 范围内被覆盖的变量在该范围之后再次可用 功能 声明函数: fun hello(float f) int { … } 调用函数: hello(3.14) 资料类型 整数(64位): int i = 0 浮点数(64位): float f = 0.0 布尔值(1位): bool b = true 大批支持以下原始数据类型的一维数组: int[5] a float[5] a bool[5] a 字符串string s = "Hello World!"字符串类型是托管的,这意味着字符串的长度与数据一起保存 链接外部目标文件 可以将目标文件与用Neon编写的
2021-06-01 21:56:25 120KB programming-language parser llvm lexer
1
用C或C++或其他程序设计语言写一个简单的词法分析程序,程序可以满足下列要求: 1、能分析如下几种简单的语言词法 (1) 标识符: ID=letter(letter|digit)* (2) 关键字(全部小写) main int float double char if then else switch case break continue while do for (3)整型常量:NUM=digit digit* (4)运算符 = + - * / < >= ; ( )? : (5)空格由空白、制表符和换行符组成,用以分隔ID、NUM、运算符等,字符分析时被忽略。 2、单词符号和相应的类别码 假定单词符号和相应的类别码如下: 单词符号 种别码 int 1 = 17 float 2 < 20 if 3 24 标识符 10 >= 25 整型常量 11 ; 26 + 13 ( 27 - 14 ) 28 * 15 ? 29 / 16 : 30 3、词法分析程序实现的功能 输入:单词序列(以文件形式提供),输出识别的单词的二元组序列到文件和屏幕 输出:二元组构成: (syn,token或sum)其中: syn 为单词的种别码 token 为存放的单词自身符号串 sum 为整型常数
2021-04-11 10:01:39 71.76MB c++ VS2019 MFC
1
python实现的词法分析器和语法分析器,哈工大威海编译原理实现,词法分析器能够识别字符串,能够判断所输入的字符串是否符合文法,语法分析器采用自底向上的LR0实现。
2019-12-21 20:16:23 19KB python lexer parser
1