<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 18,  comments - 0,  trackbacks - 0

    class L extends Lexer;

    options {
     k=5;
     charVocabulary = '\u0000' .. '\uFFFE';
     testLiterals=false;
     caseSensitive = false;
     caseSensitiveLiterals = true;
    }

    ONE_ARG_OP
     : '~';
    TWO_ARG_OP
     : '&' | '|' | '^' | '+' | '-' | '/' | '%'; 
    STAR
     : '*';
    COMPARE_OP
     : '>' | '<' | ">=" | "<=" | "!=" | "<>" | "=";
    NOT_EXIST:
     "not exist";
    EXIST:
     "exist";
    COMMA
     : ',';
    SEMI: ';';
    POINT
     : '.';
    LPAREN
     : '(';
    RPAREN
     : ')';

    PARAM_LPAREN
     : '{';

    PARAM_RPAREN
     : '}';


    COLUMN
     : "column";
    WHERE
     : "where";

    WS : (' '|'\n'|'\r'|'\t')+ {$setType(Token.SKIP);}
        ;

    QUOTED_STRING
     : ('"'|'\'') (ESC|~('\''|'"'|'\\'|'\n'|'\r'))* ('"'|'\'')
     ;
    protected
    ESC
     : '\\'
      ( 'n'
      | 'r'
      | 't'
      | 'b'
      | 'f'
      | '"'
      | '\''
      | '\\'
      | '0'..'3'
       (
        options {
         warnWhenFollowAmbig = false;
        }
       : '0'..'7'
        (
         options {
          warnWhenFollowAmbig = false;
         }
        : '0'..'7'
        )?
       )?
      | '4'..'7'
       (
        options {
         warnWhenFollowAmbig = false;
        }
       : '0'..'7'
       )?
      )
     ;

    PARAM_ID
     : PARAM_LPAREN ID PARAM_RPAREN
     ;

    ID options {testLiterals=true;}
     : ID_START_LETTER ( ID_LETTER )*;

    protected
    ID_START_LETTER
        :    'a'..'z'
        | '_'
        |    '\u0080'..'\ufffe'
        ;
    protected
    ID_LETTER
        : ID_START_LETTER
        | '0'..'9'
        | '/'
        ;

    REAL_NUM
     : NUM (POINT DOT_NUM)?
     ;
    protected
    NUM : '0'
     | NUM_START (NUM_LETTER)*
     ;
    protected
    DOT_NUM
     : (NUM_LETTER)+
     ;
    protected
    NUM_START
     : '1'..'9'
     ;
    protected
    NUM_LETTER
     : '0'..'9'
     ;

    ML_COMMENT
     : "/*"
      ( /* '\r' '\n' can be matched in one alternative or by matching
        '\r' in one iteration and '\n' in another.  I am trying to
        handle any flavor of newline that comes in, but the language
        that allows both "\r\n" and "\r" and "\n" to all be valid
        newline is ambiguous.  Consequently, the resulting grammar
        must be ambiguous.  I'm shutting this warning off.
        */
       options {
        generateAmbigWarnings=false;
       }
      :
       { LA(2)!='/' }? '*'
      | '\r' '\n'  {newline();}
      | '\r'   {newline();}
      | '\n'   {newline();}
      | ~('*'|'\n'|'\r')
      )*
      "*/"
      {$setType(Token.SKIP);}
     ;

    posted on 2007-04-03 17:59 LORD BLOG 閱讀(407) 評(píng)論(0)  編輯  收藏 所屬分類: 項(xiàng)目筆記
    主站蜘蛛池模板: 亚洲综合色在线观看亚洲| 色拍自拍亚洲综合图区| 国产VA免费精品高清在线| 亚洲va久久久噜噜噜久久天堂| 亚洲一区免费视频| 国产精品亚洲综合天堂夜夜| 亚洲热妇无码AV在线播放| 一个人在线观看视频免费| 一级做a爰片久久毛片免费陪| 亚洲一区二区中文| 亚洲AV中文无码乱人伦在线视色| 中文字幕的电影免费网站| 精品亚洲AV无码一区二区三区| 亚洲不卡AV影片在线播放| 最近免费中文字幕大全免费| 国产亚洲蜜芽精品久久| 亚洲美女视频网址| 亚洲欧洲日本在线| 亚色九九九全国免费视频| 男女一边摸一边做爽的免费视频| 亚洲乱码日产精品BD在线观看| 亚洲精品国产精品乱码不卞| 91免费资源网站入口| 免费无码又爽又刺激一高潮| 久久亚洲精品无码gv| 亚洲精品午夜在线观看| 亚洲无码视频在线| 精品剧情v国产在免费线观看| 免费高清国产视频| 产传媒61国产免费| 亚洲七久久之综合七久久| 亚洲福利在线视频| 国产中文在线亚洲精品官网| 成人免费毛片观看| 免费观看美女用震蛋喷水的视频| 三根一起会坏掉的好痛免费三级全黄的视频在线观看 | 四虎影视大全免费入口| 无码日韩精品一区二区免费暖暖| 人妻巨大乳hd免费看| 亚洲欧美日韩综合俺去了| 亚洲精品456在线播放|