语法解析工具Scrooge Twitter、PetitParser、Lexer、YYAST介绍

以下为你介绍的语法解析工具都可用在Linux系统上:Scrooge Twitter(Thrift 代码解析/生成器)、PetitParser(语法解析器)、Lexer(C语言词法分析器)、YYAST(语法解析生成器)。

1、Scrooge Twitter(Thrift 代码解析/生成器)

Scrooge 是一个 Thrift 代码解析/生成器,能够生成 Scala 和 Java 代码。这就意味着,它能够取代 Apache Thrift 代码生成器,并能在 libthrift 上生成符合标准的可兼容的二进制编解码。

建议使用Scala语法生成代码。

因为 Scala 与 Java 的API 兼容,所以你能够使用 apache thrift 编解码生成器来生成 Java 文件,并在 Scala 中使用它们,但是使用 Java 集合和可变的"bean"类生成的代码可能会导致一些问题出现,这时候就必须手动修改了。但是,可以直接通过生成 Scala 代码来规避这个问题。所以说,使用Scala语法生成代码的兼容性更好。

2、PetitParser(语法解析器)

PetitParser是一个强大、易用、灵活的解析工具,使用Dart写成。它文档丰富,代码易懂,作者也非常热情。在学习的过程中,我曾经有过很多疑问,都得到了作者及时详尽的解答,在这里要特别表示感谢。如果大家对解析器的实现感兴趣,或者想自己写一些复杂的解析规则,建议把它的代码看懂再动手。

3、Lexer(C语言词法分析器)

Lexer是一个由 Java 编写的 C 语言词法分析器,词法分析是编译过程的第一个阶段,是编译的基础。这个阶段的任务是从左到右一个字符一个字符地读入源程序,即对构成源程序的字符流进行扫描然后根据构词规则识别单词(也称单词符号或符号)。

主要特点有:

支持识别十进制数、八进制数、标识符、关键字、分割符、操作符等多种词素。

支持文件导入和源代码编写两种输入方式。

采用Swing GUI类库,算法和UI通过回调接口实现松耦合。

运行效果:

语法解析工具Scrooge Twitter、PetitParser、Lexer、YYAST介绍

语法解析工具Scrooge Twitter、PetitParser、Lexer、YYAST介绍

下载地址:https://gitee.com/kinegratii/Lexer

4、YYAST(语法解析生成器)

YYAST 是一个开发库,通过添加抽象语法树 AST 生成器来完成 Lex 和 Yacc 的功能。其生成的 AST 可轻松被编译器解析。

下载地址:https://gitee.com/mirrors/yyast

注明

以上就是语法解析工具Scrooge Twitter、PetitParser、Lexer、YYAST的介绍内容,这些语法解析工具都能使用在Linux操作系统中。

栏目相关文章