<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 閱讀(410) 評論(0)  編輯  收藏 所屬分類: 項目筆記
    主站蜘蛛池模板: 亚洲一区中文字幕久久| 99久久亚洲综合精品成人网| 亚洲中文无码亚洲人成影院| 免费可以看黄的视频s色| 波多野结衣亚洲一级| 国产精品美女午夜爽爽爽免费| 狠狠色伊人亚洲综合网站色| 成年女人毛片免费观看97| 亚洲日韩一区二区三区| 国产免费久久精品| 无码精品人妻一区二区三区免费| 精品亚洲一区二区三区在线观看| 久久久久久久国产免费看| 亚洲va在线va天堂va888www| 99久久久国产精品免费牛牛| 亚洲午夜精品一区二区公牛电影院 | 免费黄色app网站| 在线观看国产一区亚洲bd| 亚洲精品视频在线看| 久久久免费观成人影院| 伊人久久综在合线亚洲2019| 国产精品久久免费| 久久水蜜桃亚洲AV无码精品| 人人狠狠综合久久亚洲高清| 中文精品人人永久免费 | 亚洲第一福利网站| 性生交片免费无码看人| 免费看内射乌克兰女| 国产亚洲综合网曝门系列| 免费视频爱爱太爽了| 三级网站在线免费观看| 亚洲精品免费在线视频| 国产免费人视频在线观看免费| 香蕉免费在线视频| 波多野结衣亚洲一级| 日韩精品亚洲aⅴ在线影院| 免费h片在线观看网址最新| 校园亚洲春色另类小说合集| 国产AV无码专区亚洲AV男同| 成年人网站在线免费观看| 亚洲五月午夜免费在线视频|