常用词法规则
2014-02-26 15:09
453 查看
常用词法规则
下面给出一组很常用的词法定义规则:
grammar Abstract;
NAME :
(LETTER | UNDERLINE |CHINESECHAR)
(LETTER | UNDERLINE |DIGIT | CHINESECHAR)* ;
LETTER : ('A'..'Z' | 'a'..'z');
CHINESECHAR : '\u4E00' .. '\u9FA5' | '\uF900' .. '\uFA2D';
INT : DIGIT+;
DIGIT : '0' .. '9';
COLON : ':' ;
COMMA : ',' ;
SEMICOLON : ';' ;
LPAREN : '(' ;
RPAREN : ')' ;
LSQUARE : '[' ;
RSQUARE : ']' ;
LCURLY : '{';
RCURLY : '}';
DOT : '.' ;
UNDERLINE : '_';
ASSIGNEQUAL : '=' ;
NOTEQUAL1 : '<>' ;
NOTEQUAL2 : '!=' ;
LESSTHANOREQUALTO1 : '<=' ;
LESSTHAN : '<' ;
GREATERTHANOREQUALTO1 : '>=' ;
GREATERTHAN : '>' ;
DIVIDE : '/' ;
PLUS : '+' ;
MINUS : '-' ;
STAR : '*' ;
MOD : '%' ;
AMPERSAND : '&' ;
TILDE : '~' ;
BITWISEOR : '|' ;
BITWISEXOR : '^' ;
POUND : '#';
DOLLAR : '$';
COMMENT : '/*' . * '*/' {$channel=HIDDEN;} ;
LINE_COMMENT : '//' ~('\n' | '\r') * '\r'? '\n'{$channel=HIDDEN;} ;
WS : ( ' ' | '\t' | '\n' | '\r' ) + {Skip();} ;
下面给出一组很常用的词法定义规则:
grammar Abstract;
NAME :
(LETTER | UNDERLINE |CHINESECHAR)
(LETTER | UNDERLINE |DIGIT | CHINESECHAR)* ;
LETTER : ('A'..'Z' | 'a'..'z');
CHINESECHAR : '\u4E00' .. '\u9FA5' | '\uF900' .. '\uFA2D';
INT : DIGIT+;
DIGIT : '0' .. '9';
COLON : ':' ;
COMMA : ',' ;
SEMICOLON : ';' ;
LPAREN : '(' ;
RPAREN : ')' ;
LSQUARE : '[' ;
RSQUARE : ']' ;
LCURLY : '{';
RCURLY : '}';
DOT : '.' ;
UNDERLINE : '_';
ASSIGNEQUAL : '=' ;
NOTEQUAL1 : '<>' ;
NOTEQUAL2 : '!=' ;
LESSTHANOREQUALTO1 : '<=' ;
LESSTHAN : '<' ;
GREATERTHANOREQUALTO1 : '>=' ;
GREATERTHAN : '>' ;
DIVIDE : '/' ;
PLUS : '+' ;
MINUS : '-' ;
STAR : '*' ;
MOD : '%' ;
AMPERSAND : '&' ;
TILDE : '~' ;
BITWISEOR : '|' ;
BITWISEXOR : '^' ;
POUND : '#';
DOLLAR : '$';
COMMENT : '/*' . * '*/' {$channel=HIDDEN;} ;
LINE_COMMENT : '//' ~('\n' | '\r') * '\r'? '\n'{$channel=HIDDEN;} ;
WS : ( ' ' | '\t' | '\n' | '\r' ) + {Skip();} ;
相关文章推荐
- 堆删除最小元素的操作思路
- linux系统root密码忘了怎么办 三种方法快速找回root密码
- SHH开发之路(一):SQL中包含数据库自带的特殊函数解决办法
- Linux系统调用列表
- cocos2d-x学习资源汇总
- cocos2d-x 如何实现角色在地图中的不同高低台阶行走的路线控制
- nginx负载均衡基于ip_hash的session粘帖
- javascript笔记汇总
- c++ 时间类型详解 time_t
- OpenNMS全接触-事件及通知(七)
- android计时器Chronometer类的使用
- mysql常用命令
- ApacheDS配置用户以及用户组实现SSO
- win8找回经典开始菜单
- javascript中的undefined 和 not defined
- javascript中的undefined 和 not defined
- javascript中的原型链的简单理解
- 算法面试常见问题【转】
- 关于RHEL5中yum挂载iso源引起的问题(转)
- Linux:C/Socket多路复用select