JAVA动态表达式:Antlr4 G4模板

能解析@xxx ,@xx.xx 这种表达式

复制代码
grammar Expr;

expression :
             '(' expression ')'          # parens
            | expression 'and' expression # andOp
            | expression 'or' expression  # orOp
            | AT_VARNAME comparison_op NUMBER # comparison
            | AT_VARNAME comparison_op STRING # comparison
            | AT_VARNAME comparison_op VARNAME # comparison
            | AT_VARNAME contains_op VARNAME # comparison
            | AT_VARNAME contains_op NUMBER # comparison
            | AT_VARNAME contains_op STRING # comparison
            | AT_VARNAME comparison_op AT_VARNAME # comparison
            | VARNAME comparison_op NUMBER # comparison
            | VARNAME comparison_op STRING # comparison
            | NUMBER comparison_op NUMBER # comparison
            | STRING comparison_op STRING # comparison
            | VARNAME comparison_op VARNAME # comparison
            | VARNAME contains_op VARNAME # comparison
            | VARNAME contains_op NUMBER # comparison
            | VARNAME contains_op STRING # comparison
            | STRING contains_op STRING # comparison
            ;

comparison_op : '<' | '<=' | '>' | '>=' | '==' | '!=';
contains_op: 'contains' | 'notcontains';

AT_VARNAME : '@' [a-zA-Z_0-9.]* VARNAME;
STRING : '\'' ( '\\' . | '\\\'' | ~[\\'] )* '\'';
NUMBER : '-'? [0-9]+ ('.' [0-9]+)?;
VARNAME : [a-zA-Z_][a-zA-Z_0-9]*;
WS : [ \t\r\n]+ -> skip; // 忽略空白字符
fragment Letter: [a-zA-Z];
fragment Digit: [0-9];
fragment ChineseCharacter: [\u4e00-\u9fa5];
相关推荐
石一峰69912 小时前
C 语言函数设计模式实战经验
c语言·开发语言·设计模式
sitellla12 小时前
Pydub:用 Python 处理音频,不写废话
开发语言·python·其他·音视频
瀚高PG实验室12 小时前
java中间件无法连接数据库
java·数据库·中间件·瀚高数据库
东南门吹雪12 小时前
JAVA TCP socket编程框架
java·高并发·socket·tcp·nio
xingyuzhisuan12 小时前
缓存命中率提升方案:从 30% 优化至 82% 全流程优化记录
java·开发语言·缓存·ai
郑洁文12 小时前
基于Python的恶意流量监测系统的设计与实现
开发语言·python
AI玫瑰助手12 小时前
Python流程控制:for循环与range函数的搭配使用
开发语言·python·信息可视化
一条泥憨鱼12 小时前
Java开发效率神器:Lombok从入门到精通!
java·后端·学习·开发·lombok
anew___12 小时前
2026年Python爬虫技术完全指南:从入门到实战
开发语言·爬虫·python
Jinkxs12 小时前
Python基础 - 初识内置函数 Python自带的便捷工具
android·java·python