资讯详情

JavaCC语法分析器

a4c26d1e5885305701be709a3d33442f.pngJavaCC(Java

Compiler

Compiler)是Java实现的语法分析器用于根据用户定制的规则分析上下文无关的语法内容,以简化编译器开发过程中涉及词法、语法和语义规则处理代码的数量。

与C语言实现的简化编译结构程序相比LEX(Lexical Analyzers)和YACC(Yet Another Compiler

Compiler),JavaCC采用递归下降的语法分析方法,定义了广泛的文法规则。JavaCC分析树或抽象语法树不直接生成(AST),但提供建立分析树或AST生成的预处理器JJTree,JJTree分析树是通过压栈出栈的递归方法生成的JavaCC预处理输入。

JavaCC快速使用,编译JavaCC生成的Java代码,只有标准JDK没有第三方的支持JAR可以完成。首先,用户遵循JavaCC语法规范编写源文件,将标记(Token)、在每个分析阶段,词法和语法规则以及行为定义*.jj文件中。

之后,使用JavaCC编译器编译*.jj可生成文件Java实现代码的特定语言分析器。生成的源程序包括:*Parser.java(语法分析),*TokenManager.java(词法分析器),TokenMgrError.java(错误处理程序),Token.

java (标记信息),*Constants.java (常用于分析器),SimpleCharStream.java

(字符流类)等源文件。javac编译源代码class之后,就可以运行了JavaCC语法分析工作由语法分析器生成。

在JavaCC还提供了项目JJDOC用于生成的工具BNF语法文档表示范式。JavaCC该项目为用户提供可直接使用的语法库和实例代码examples目录包括文本邮件处理,JJTree面向不同应用的示例,如示例和解释器实现。

在OGSA-DQP类似的查询编译器也用于项目中Polar*,来生成OQL对象查询树的语法分析结果,分析分布式查询内容,绘制OQL查询树。

目前NetBeans IDE已提供了JavaCC支持插件的编写和编译*.jj文件语法加亮,直接编译。NetBeans

IDE中借助JavaCC更多关于构建新语言的细节,请查看NetBeans Wiki详细教程。

标签: dqp9051多参变送器

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台