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];
相关推荐
货拉拉技术2 分钟前
一句话叫车:货拉拉小程序 AI 叫车实战
前端·agent·ai编程
vipxieliang2 分钟前
ValidX vs 正则表达式:可读性与维护性对比
java·spring boot
yunyi7 分钟前
给桌面客户端做下载加速:从「桶直接公开」到「边缘优先、源站兜底」的三代演进
前端·后端
337808 分钟前
5分钟搞懂登录认证和授权框架Spring Security
java·spring boot
vipxieliang9 分钟前
Spring Security 6.x 实战:认证、授权与 JWT 集成
java·spring boot
world781122612 分钟前
【C++】set 和 map
java·前端·c++·set·map
学长毕设12 分钟前
基于SpringBoot的社区体育馆预约系统的设计与实现
java·spring boot·后端
程序猿乐锅15 分钟前
Streamlit 实现 AI 聊天 Agent:角色提示词、流式输出与会话管理
开发语言·前端·笔记·后端·python·学习
niucloud-admin18 分钟前
NIUCLOUD PHP SAAS上门家政使用文档:客户报表
前端·人工智能·ai编程
小南知更鸟19 分钟前
【2026 年 Python 包管理工具选型:从“工具崇拜”回到工程约束】
开发语言·python