antlr v4 使用指南连载3——g4文件概览
2014-12-10 16:35
411 查看
g4文件概览
在深入介绍之前,有必要先给大家了解一下g4文件的结构,以便对如何编写语法规则文件有个全局的认识,我想这是大有禆益的。因为这样我们就可以很清晰地知道需要的东西写在哪里,或者哪些东西是无法加到antlr中的。grammar Name; options {...} import ...; tokens {...} @actionName {...} <<rule1>> ... <<rule2>>
这是一个完整的antlr语法规则文件,下面一一做出简要声明:
grammar Name 这是词法跟语法都在同一个文件声明的写法,称之为combined。若要分开,可以使用lexer grammar Name和parser grammar Name。
options 可以是如下四个选项。
superClass:用于生成xxxLexer.java、xxxParser.java的父类
language:目标语句,如java
tokenVocab:toekn词库
TokenLabelType:默认的是antlr的Token类型,这里可以使用自定义的token类,如MyToken。需要配合TokenFactory使用
import 可以导入各个独立的lexer、parser文件,只能用于combined写法。
actionName 可以是如下内容
@header:定义类文件头。比如嵌入java的package、import声明
@member:定义类文件内容。比如类成员、方法
如果要指定在lexer或者parser中,可以使用 @lexer::membere、@parser::member。
rule 语法规则。
lexer示例
lexer grammar HelloLexer; HI : 'H' 'i' ID : [a-z]+; WS : [\t\n\r\s]+ -> skip;
parser示例
parser grammar HelloParser; options { language=Java; tokenVocab=HelloLexer; } @header { package com.laudandjolynn.antlr; import java.util.Set; import java.util.HashSet; } @member { private int count; public int getCount() { return count; } } start : HI ID;
未完待续>>>
相关文章推荐
- CCSv7使用指南连载2:基于外设文件新建工程
- CCSv7使用指南连载3:CCS文件及编译构建过程
- DOS 批处理文件 使用指南
- SharePoint文件磁盘存储组件使用指南
- PDF文件使用指南
- C# LiveUpdate.exe实现文件在线更新(原理说明,使用指南一)
- C# LiveUpdate.exe实现文件在线更新升级(原理说明,使用指南一)
- Apache指南: .htaccess文件使用手册
- 文件上传利器SWFUpload使用指南
- 如何监控Linux文件系统事件:inotify使用指南(1)
- SharePoint文件磁盘存储组件使用指南
- 火星人软件安装指南 -- 使用 IIS 配置文件快速配置 IIS6 设置
- 使用微软代码签名证书签名ActiveX控件和.exe等文件指南
- bat 文件 学习使用指南
- PDF文件使用指南
- DisplayTag应用所需包,css文件及使用指南
- SharePoint文件磁盘存储组件使用指南
- PDF文件使用指南
- eclipse + JBoss 5 + EJB3开发指南(5):使用配置文件发布Session Bean
- 微软ASP.NET站点部署指南(3):使用Web.Config文件的Transformations