antlr基本语法

1 在antlr中,字符串是用单引号引起来的,如果需要表示单引号,则加一个反斜杠表示,‘|”。
2 产生式形式:产生式左部:产生式右部;
3 基本符号
1)“|”:表示或,表示两边的符号出现任何一个都会匹配。
2)“()+”:表示括号内部的符号可以出现一次或者多次。
3)“()*”:表示括号内部的符号可以出现零次或者多次。
4)“()?”:括号内部的符号可以出现零次或者一次。
5)“{ }”:所包含的语句称为动作,用目标代码编写。当所跟的符号匹配后会执行该动作。skip()表示跳过。
6)“option{}”:特殊的动作。内部可以设置参数。
4 program: statement+; :一个程序由一条或者多条语句组成。
5 终结符 : var :变量 int:整数 string:字符串 ws:空白字符
6 非终结符:program:程序体 statement:语句 expreesion:表达式
multExpr:乘法因子表达式 Atom:因子
一个statement(语句)是由一个表达式加分号(比如:“23+1;”)或者赋值表达式加分号(比如:“str=”HelloWorld”;”)这种形式组成的。所以定成(expression | VAR ‘=’ expression) ‘;’。而一个expression
(表达式)是由一个字符串(适用于str=”Hello World”;这样的)或是两个乘法因子做加减(或者干脆就是一个乘法因子)形成的。同理,一个multExpr(乘法因子)是由多个(或者就一个)atom(因子)做乘法运算得到的。而一个atom(因子),或者是一个整数,或者是一个用括号括起来的表达式。这样,就完整的定义了我们的一个简单的文法了

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值