在WHERE条件表达式中存在IN/NOT IN的逻辑符号,其格式为:expression IN/NOT IN exp_set,其中exp_set为子查询或者多个常量。语法文件为:
equation
:expression (("not in"^|"in"^|"在于"^|"不在于"^) exp_set);
exp_set
: LPAREN constexpset RPAREN
{#exp_set = #([SUBCONTAIN_OP, "subcontain_op"], #exp_set);}
;
constexpset
: constant (COMMA^ constant)*
;
1、当碰到IN/NOT IN时,IN/NOT IN为根节点,expression、exp_set为叶子节点。
2、exp_set必须要有左括号、右扣号,整个exp_set虚构为一个subcontain_op的根节点,LPAREN constexpset RPAREN分别为它的叶子节点。
3、constexpset为多个常量组成,格式为12, 15, 30。当存在超过两个节点时,12和15为一级叶子节点,第一个,为它们的根节点,30和第一个,组成第二个,的叶子节点,如此迭加。
AI_94传票对照表.金额 不在于(12, 34, 45, 50) 生成的抽象语法树如下:
posted on 2007-04-06 20:23
LORD BLOG 阅读(522)
评论(0) 编辑 收藏 所属分类:
工作日志