开始学习antlr4
来源:互联网 发布:品茗标书制作软件 编辑:程序博客网 时间:2024/05/01 08:44
按照https://theantlrguy.atlassian.net/wiki/display/ANTLR4/ANTLR+4+Documentation中的开始学习antlr4,成功运行Hello程序。
先记录一下,翻译的不准确理解的不到位的地方还请大家指正。
1.标示符
token names/rules
用大写
rulenames用小写
和java的标示符规则类似,开头可以是_,数字等,其他的可以用字母等,如下规则。
fragment
NameChar
: NameStartChar
|
'0'
..
'9'
|
'_'
|
'\u00B7'
|
'\u0300'
..
'\u036F'
|
'\u203F'
..
'\u2040'
;
fragment
NameStartChar
:
'A'
..
'Z'
|
'a'
..
'z'
|
'\u00C0'
..
'\u00D6'
|
'\u00D8'
..
'\u00F6'
|
'\u00F8'
..
'\u02FF'
|
'\u0370'
..
'\u037D'
|
'\u037F'
..
'\u1FFF'
|
'\u200C'
..
'\u200D'
|
'\u2070'
..
'\u218F'
|
'\u2C00'
..
'\u2FEF'
|
'\u3001'
..
'\uD7FF'
|
'\uF900'
..
'\uFDCF'
|
'\uFDF0'
..
'\uFFFD'
;
字面值
不区分字符和字符串,都是简单的识别单个字符。识别中不包含正则表达式,但可以用标准的转换符号。
动作
动作即代码块,在{}里面。
嵌入的代码可以放置在@header
and @members
命名的动作,词法和语法分析的规则里面,除了语法分析器的参数和属性部分,例如参数,局部变量。
动作时不被解释或者翻译进入生成的词法和语法分析器的。
关键字
import
, fragment
, lexer
, parser
, grammar
, returns
, locals
, throws
, catch
, finally
, mode
, options
, tokens
虽然rule,if之类的不是关键字,但还是尽量避免不要用之类的词作为命名。
0 0
- 开始学习antlr4
- antlr4学习(一)
- antlr4学习(二)
- Antlr4学习笔记
- antlr4学习笔记1-语法结构
- ANTLR4-实践
- antlr4读书笔记
- Antlr4 环境配置
- antlr4 爬坑日记
- antlr4 部署到idea
- 开始学习
- 开始学习
- 开始学习
- 开始学习
- 开始学习
- 开始学习
- 开始学习
- 学习开始
- 《路由器关于RIP实验与协议》
- 题目1040:Prime Number 题目1047:素数判定
- 负载均衡-haproxy安装配置
- opencv2显示一张图像及waitkey()函数解析
- 概率图模型(PGM)学习资料汇总
- 开始学习antlr4
- AE编辑器使用小结
- 《Programming in Lua 3》读书笔记(二十八)
- android AttributeSet API
- joomla 如何提速
- 引用的使用
- LeetCode刷题笔录Maximal Rectangle
- CBitmapButton位图按钮简明教程
- ExtJs--14--Ext.typeOf() 与 javascript中的typeof很相似,只是在类型上进行了一点简单的扩展,其实可以直接看源代码就可以看得懂的