`
alin_ass
  • 浏览: 34589 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

antlr解析googlecodewiki.1 -- 段落和标题

 
阅读更多

 

input:

 

= ab zx =
abc inline
XXX

== cd ==
zef
 

antlr syntax:

 

grammar bestpaper;  
options {  
    output=AST;  
    ASTLabelType=CommonTree;  
}  
chapter   
    :   (paragraph NEWLINE+)+;     
paragraph  
    :   heading NEWLINE+ content | heading;    
heading  
    :  SPACE? (heading1 | heading2 | heading3 | heading4 | heading5 | heading6) SPACE?;      
heading1  
    :   H1 SPACE title SPACE H1;  
heading2  
    :   H2 SPACE title SPACE H2;  
heading3  
    :   H3 SPACE title SPACE H3;  
heading4  
    :   H4 SPACE title SPACE H4;  
heading5  
    :   H5 SPACE title SPACE H5;  
heading6  
    :   H6 SPACE title SPACE H6;      
title     
    :   (WORD SPACE)* WORD;  
content   
    :   (line NEWLINE)* line;  
line  
    :	SPACE? (WORD SPACE)* WORD SPACE? | SPACE;

      
H1  
    :   '=';  
H2  
    :   '==';  
H3  
    :   '===';  
H4  
    :   '====';  
H5  
    :   '=====';  
H6  
    :   '======';     
INT   
    :   ('1'..'9')('0'..'9')* | '0';          
NEWLINE   
    :   '\r'? '\n' ;  
SPACE     
    :   (' ' | '\t')+;  
WORD  
    :   (~('\r' | '\n' | ' ' | '\t'))+; 

 

parse tree:



  • 大小: 11.9 KB
0
0
分享到:
评论

相关推荐

    antlr-2.7.7.jar和antlr-2.7.6.jar

    总之,ANTLR是构建解析器的强大工具,而antlr-2.7.7.jar和antlr-2.7.6.jar是ANTLR的不同版本,它们以JAR文件的形式提供,用于Java项目中解析和处理结构化文本。选择使用哪个版本应根据项目的需求、兼容性和稳定性来...

    ant-antlr-1.6.3. jarant-antlr-1.6.3.jar ant-antlr-1.6.3.jar

    ant-antlr-1.6.3.jarant-antlr-1.6.3.jarant-antlr-1.6.3.jarant-antlr-1.6.3.jar

    antlr-2.7.7.jar.zip

    "antlr-2.7.7.jar.zip"这个压缩包是ANTLR 2.7.7版本的Java实现,包含了运行ANTLR工具和使用其生成的解析器所需的所有类。在Java项目中正确引用这个jar包,就能利用ANTLR的能力来解析和处理自定义语言的语法。

    antlr-3.5.2-complete.jar

    antlr-3.5.2-complete.jar

    antlr-2.7.7.jar

    总结来说,ANTLR-2.7.7.jar是一个用于生成解析器和词法分析器的工具,它是ANTLR 2.7.7版本的实现,适用于Java平台。它可以帮助开发者快速构建和维护语言解析相关的项目,支持多种语法和解析策略,但可能缺乏较新版本...

    com.springsource.org.antlr-3.0.1.jar

    Spring项目中如果从"http://www.antlr.org/download"下载antlr-3.1.3.jar会遇到java.lang.NoSuchFieldError: ruleMemo异常,从从 ...下载则不会 这个包就是从这里下载的

    antlr-3.0.1.jar

    spring-framework-3.0.0.M3 com.springsource.org.antlr-3.0.1.jar

    antlr-4.8-complete.jar

    antlr-4.8-complete.jar

    antlr4-runtime-4.7-API文档-中文版.zip

    赠送jar包:antlr4-runtime-4.7.jar; 赠送原API文档:antlr4-runtime-4.7-javadoc.jar; 赠送源代码:antlr4-runtime-4.7-sources.jar; 赠送Maven依赖信息文件:antlr4-runtime-4.7.pom; 包含翻译后的API文档:...

    ant-antlr-1.6.4.jar.zip

    总结起来,"ant-antlr-1.6.4.jar.zip"是一个集成Ant和ANTLR的实用工具包,它为Java开发者提供了便利的构建和解析功能。通过理解和掌握Ant的任务驱动机制,以及ANTLR的语法规则生成原理,开发者可以更高效地处理复杂...

    antlr-2.7.7.tar.gz

    We reserve no legal rights to the ANTLR--it is fully in the public domain. An individual or company may do whatever they wish with source code distributed with ANTLR or the code generated by ANTLR...

    antlr-intellij-plugin-v4-1.14.zip

    对于下载的"antlr-intellij-plugin-v4-1.14.zip"文件,它是2020年版本的ANTLR Intellij Plugin v4.14的备份。这意味着它可以安装到IntelliJ IDEA中,为用户提供ANTLR 4的支持。安装步骤通常包括解压缩文件,将解压后...

    org.hibernate.ejb-library-3.4.0.GA

    5. `com.springsource.antlr-2.7.7.jar`:ANTLR是一个强大的解析器生成器,用于读取、处理、执行或翻译结构化文本或二进制文件。 6. `com.springsource.net.sf.cglib-2.2.0.jar`:CGLIB是一个代码生成库,用于扩展...

    antlr-runtime-3.4-API文档-中文版.zip

    赠送jar包:antlr-runtime-3.4.jar; 赠送原API文档:antlr-runtime-3.4-javadoc.jar; 赠送源代码:antlr-runtime-3.4-sources.jar; 赠送Maven依赖信息文件:antlr-runtime-3.4.pom; 包含翻译后的API文档:antlr-...

    antlr4-runtime-4.2-API文档-中文版.zip

    赠送jar包:antlr4-runtime-4.2.jar; 赠送原API文档:antlr4-runtime-4.2-javadoc.jar; 赠送源代码:antlr4-runtime-4.2-sources.jar; 赠送Maven依赖信息文件:antlr4-runtime-4.2.pom; 包含翻译后的API文档:...

    org.hibernate.ejb-library-3.4.0.GA-A

    4. `com.springsource.antlr-2.7.7.jar`:ANTLR是一个强大的解析器生成器,用于读取、处理、执行或翻译结构化文本或二进制文件,Hibernate使用它解析HQL。 5. `com.springsource.net.sf.cglib-2.2.0.jar`:CGLIB是一...

    antlr-runtime-3.5-API文档-中文版.zip

    赠送jar包:antlr-runtime-3.5.jar; 赠送原API文档:antlr-runtime-3.5-javadoc.jar; 赠送源代码:antlr-runtime-3.5-sources.jar; 赠送Maven依赖信息文件:antlr-runtime-3.5.pom; 包含翻译后的API文档:antlr-...

    spring-framework-3.0.5.RELEASE-dependencies-1

    org.antlr org.aopalliance javax.activation javax.annotation javax.ejb javax.el javax.faces javax.inject javax.jdo javax.jms javax.mail javax.persistence javax.portlet javax.resource javax.servlet ...

Global site tag (gtag.js) - Google Analytics