亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? groovylexer.java

?? Groovy動態語言 運行在JVM中的動態語言 可以方便的處理業務邏輯變化大的業務
?? JAVA
?? 第 1 頁 / 共 5 頁
字號:
// $ANTLR 2.7.2: "groovy.g" -> "GroovyLexer.java"$
package org.codehaus.groovy.antlr.parser;
import org.codehaus.groovy.antlr.*;
import java.util.*;
import java.io.InputStream;
import java.io.Reader;
import antlr.InputBuffer;
import antlr.LexerSharedInputState;
import java.io.InputStream;import antlr.TokenStreamException;import antlr.TokenStreamIOException;import antlr.TokenStreamRecognitionException;import antlr.CharStreamException;import antlr.CharStreamIOException;import antlr.ANTLRException;import java.io.Reader;import java.util.Hashtable;import antlr.CharScanner;import antlr.InputBuffer;import antlr.ByteBuffer;import antlr.CharBuffer;import antlr.Token;import antlr.CommonToken;import antlr.RecognitionException;import antlr.NoViableAltForCharException;import antlr.MismatchedCharException;import antlr.TokenStream;import antlr.ANTLRHashString;import antlr.LexerSharedInputState;import antlr.collections.impl.BitSet;import antlr.SemanticException;public class GroovyLexer extends antlr.CharScanner implements GroovyTokenTypes, TokenStream {
    /** flag for enabling the "assert" keyword */
    private boolean assertEnabled = true;
    /** flag for enabling the "enum" keyword */
    private boolean enumEnabled = true;
    /** flag for including whitespace tokens (for IDE preparsing) */
    private boolean whitespaceIncluded = false;

    /** Enable the "assert" keyword */
    public void enableAssert(boolean shouldEnable) { assertEnabled = shouldEnable; }
    /** Query the "assert" keyword state */
    public boolean isAssertEnabled() { return assertEnabled; }
    /** Enable the "enum" keyword */
    public void enableEnum(boolean shouldEnable) { enumEnabled = shouldEnable; }
    /** Query the "enum" keyword state */
    public boolean isEnumEnabled() { return enumEnabled; }

    /** Include whitespace tokens.  Note that this breaks the parser.   */
    public void setWhitespaceIncluded(boolean z) { whitespaceIncluded = z; }
    /** Are whitespace tokens included? */
    public boolean isWhitespaceIncluded() { return whitespaceIncluded; }

    {
        // Initialization actions performed on construction.
        setTabSize(1);  // get rid of special tab interpretation, for IDEs and general clarity
    }

    /** Bumped when inside '[x]' or '(x)', reset inside '{x}'.  See ONE_NL.  */
    protected int parenLevel = 0;
    protected int suppressNewline = 0;  // be really mean to newlines inside strings
    protected static final int SCS_TYPE = 3, SCS_VAL = 4, SCS_LIT = 8, SCS_LIMIT = 16;
    protected static final int SCS_SQ_TYPE = 0, SCS_TQ_TYPE = 1, SCS_RE_TYPE = 2;
    protected int stringCtorState = 0;  // hack string and regexp constructor boundaries
    /** Push parenLevel here and reset whenever inside '{x}'. */
    protected ArrayList parenLevelStack = new ArrayList();
    protected int lastSigTokenType = EOF;  // last returned non-whitespace token

    protected void pushParenLevel() {
        parenLevelStack.add(new Integer(parenLevel*SCS_LIMIT + stringCtorState));
        parenLevel = 0;
        stringCtorState = 0;
    }
    protected void popParenLevel() {
        int npl = parenLevelStack.size();
        if (npl == 0)  return;
        int i = ((Integer) parenLevelStack.remove(--npl)).intValue();
        parenLevel      = i / SCS_LIMIT;
        stringCtorState = i % SCS_LIMIT;
    }

    protected void restartStringCtor(boolean expectLiteral) {
        if (stringCtorState != 0) {
            stringCtorState = (expectLiteral? SCS_LIT: SCS_VAL) + (stringCtorState & SCS_TYPE);
        }
    }
    
    protected boolean allowRegexpLiteral() {
        return !isExpressionEndingToken(lastSigTokenType);
    }

    /** Return true for an operator or punctuation which can end an expression.
     *  Return true for keywords, identifiers, and literals.
     *  Return true for tokens which can end expressions (right brackets, ++, --).
     *  Return false for EOF and all other operator and punctuation tokens.
     *  Used to suppress the recognition of /foo/ as opposed to the simple division operator '/'.
     */
    // Cf. 'constant' and 'balancedBrackets' rules in the grammar.)
    protected static boolean isExpressionEndingToken(int ttype) {
        switch (ttype) {
        case INC:               // x++ / y
        case DEC:               // x-- / y
        case RPAREN:            // (x) / y
        case RBRACK:            // f[x] / y
        case RCURLY:            // f{x} / y
        case STRING_LITERAL:    // "x" / y
        case STRING_CTOR_END:   // "$x" / y
        case NUM_INT:           // 0 / y
        case NUM_FLOAT:         // 0f / y
        case NUM_LONG:          // 0l / y
        case NUM_DOUBLE:        // 0.0 / y
        case NUM_BIG_INT:       // 0g / y
        case NUM_BIG_DECIMAL:   // 0.0g / y
        case IDENT:             // x / y
        // and a bunch of keywords (all of them; no sense picking and choosing):
        case LITERAL_any:
        case LITERAL_as:
        case LITERAL_assert:
        case LITERAL_boolean:
        case LITERAL_break:
        case LITERAL_byte:
        case LITERAL_case:
        case LITERAL_catch:
        case LITERAL_char:
        case LITERAL_class:
        case LITERAL_continue:
        case LITERAL_def:
        case LITERAL_default:
        case LITERAL_double:
        case LITERAL_else:
        case LITERAL_enum:
        case LITERAL_extends:
        case LITERAL_false:
        case LITERAL_finally:
        case LITERAL_float:
        case LITERAL_for:
        case LITERAL_if:
        case LITERAL_implements:
        case LITERAL_import:
        case LITERAL_in:
        case LITERAL_instanceof:
        case LITERAL_int:
        case LITERAL_interface:
        case LITERAL_long:
        case LITERAL_native:
        case LITERAL_new:
        case LITERAL_null:
        case LITERAL_package:
        case LITERAL_private:
        case LITERAL_protected:
        case LITERAL_public:
        case LITERAL_return:
        case LITERAL_short:
        case LITERAL_static:
        case LITERAL_super:
        case LITERAL_switch:
        case LITERAL_synchronized:
        case LITERAL_this:
        case LITERAL_threadsafe:
        case LITERAL_throw:
        case LITERAL_throws:
        case LITERAL_transient:
        case LITERAL_true:
        case LITERAL_try:
        case LITERAL_void:
        case LITERAL_volatile:
        case LITERAL_while:
        case LITERAL_with:
            return true;
        default:
            return false;
        }
    }

    protected void newlineCheck(boolean check) throws RecognitionException {
        if (check && suppressNewline > 0) {
            require(suppressNewline == 0,
                "end of line reached within a simple string 'x' or \"x\" or /x/",
                "for multi-line literals, use triple quotes '''x''' or \"\"\"x\"\"\"");
            suppressNewline = 0;  // shut down any flood of errors
        }
        newline();
    }
    
    protected boolean atValidDollarEscape() throws CharStreamException {
        // '$' (('*')? ('{' | LETTER)) =>
        int k = 1;
        char lc = LA(k++);
        if (lc != '$')  return false;
        lc = LA(k++);
        if (lc == '*')  lc = LA(k++);
        return (lc == '{' || (lc != '$' && Character.isJavaIdentifierStart(lc)));
    }

    /** This is a bit of plumbing which resumes collection of string constructor bodies,
     *  after an embedded expression has been parsed.
     *  Usage:  new GroovyRecognizer(new GroovyLexer(in).plumb()).
     */
    public TokenStream plumb() {
        return new TokenStream() {
            public Token nextToken() throws TokenStreamException {
                if (stringCtorState >= SCS_LIT) {
                    // This goo is modeled upon the ANTLR code for nextToken:
                    int quoteType = (stringCtorState & SCS_TYPE);
                    stringCtorState = 0;  // get out of this mode, now
                    resetText();
                    try {
                        switch (quoteType) {
                        case SCS_SQ_TYPE:
                            mSTRING_CTOR_END(true, /*fromStart:*/false, false); break;
                        case SCS_TQ_TYPE:
                            mSTRING_CTOR_END(true, /*fromStart:*/false, true); break;
                        case SCS_RE_TYPE:
                            mREGEXP_CTOR_END(true, /*fromStart:*/false); break;
                        default:  throw new AssertionError(false);
                        }
                        lastSigTokenType = _returnToken.getType();
                        return _returnToken;
                    } catch (RecognitionException e) {
                        throw new TokenStreamRecognitionException(e);
                    } catch (CharStreamException cse) {
                        if ( cse instanceof CharStreamIOException ) {
                            throw new TokenStreamIOException(((CharStreamIOException)cse).io);
                        }
                        else {
                            throw new TokenStreamException(cse.getMessage());
                        }
                    }
                }
                Token token = GroovyLexer.this.nextToken();
                int lasttype = token.getType();
                if (whitespaceIncluded) {
                    switch (lasttype) {  // filter out insignificant types
                    case WS:
                    case ONE_NL:
                    case SL_COMMENT:
                    case ML_COMMENT:
                        lasttype = lastSigTokenType;  // back up!
                    }
                }
                lastSigTokenType = lasttype;
                return token;
            }
        };
    }

        // stuff to adjust ANTLR's tracing machinery
    public static boolean tracing = false;  // only effective if antlr.Tool is run with -traceLexer
    public void traceIn(String rname) throws CharStreamException {
        if (!GroovyLexer.tracing)  return;
        super.traceIn(rname);
    }
    public void traceOut(String rname) throws CharStreamException {
        if (!GroovyLexer.tracing)  return;
        if (_returnToken != null)  rname += tokenStringOf(_returnToken);
        super.traceOut(rname);
    }
    private static java.util.HashMap ttypes;
    private static String tokenStringOf(Token t) {
        if (ttypes == null) {
            java.util.HashMap map = new java.util.HashMap();
            java.lang.reflect.Field[] fields = GroovyTokenTypes.class.getDeclaredFields();
            for (int i = 0; i < fields.length; i++) {
                if (fields[i].getType() != int.class)  continue;
                try {
                    map.put(fields[i].get(null), fields[i].getName());
                } catch (IllegalAccessException ee) {
                }
            }
            ttypes = map;
        }
        Integer tt = new Integer(t.getType());
        Object ttn = ttypes.get(tt);
        if (ttn == null)  ttn = "<"+tt+">";
        return "["+ttn+",\""+t.getText()+"\"]";
    }

    protected GroovyRecognizer parser;  // little-used link; TODO: get rid of
    private void require(boolean z, String problem, String solution) throws SemanticException {
        // TODO: Direct to a common error handler, rather than through the parser.
        if (!z)  parser.requireFailed(problem, solution);
    }    
public GroovyLexer(InputStream in) {	this(new ByteBuffer(in));}public GroovyLexer(Reader in) {	this(new CharBuffer(in));}public GroovyLexer(InputBuffer ib) {	this(new LexerSharedInputState(ib));}public GroovyLexer(LexerSharedInputState state) {	super(state);	caseSensitiveLiterals = true;	setCaseSensitive(true);	literals = new Hashtable();	literals.put(new ANTLRHashString("byte", this), new Integer(101));	literals.put(new ANTLRHashString("public", this), new Integer(112));	literals.put(new ANTLRHashString("case", this), new Integer(148));	literals.put(new ANTLRHashString("short", this), new Integer(103));	literals.put(new ANTLRHashString("break", this), new Integer(142));	literals.put(new ANTLRHashString("while", this), new Integer(136));	literals.put(new ANTLRHashString("new", this), new Integer(192));	literals.put(new ANTLRHashString("instanceof", this), new Integer(178));	literals.put(new ANTLRHashString("implements", this), new Integer(128));	literals.put(new ANTLRHashString("synchronized", this), new Integer(117));	literals.put(new ANTLRHashString("const", this), new Integer(40));	literals.put(new ANTLRHashString("float", this), new Integer(105));	literals.put(new ANTLRHashString("package", this), new Integer(78));	literals.put(new ANTLRHashString("return", this), new Integer(141));	literals.put(new ANTLRHashString("throw", this), new Integer(144));	literals.put(new ANTLRHashString("null", this), new Integer(195));	literals.put(new ANTLRHashString("def", this), new Integer(81));	literals.put(new ANTLRHashString("threadsafe", this), new Integer(116));	literals.put(new ANTLRHashString("protected", this), new Integer(113));	literals.put(new ANTLRHashString("class", this), new Integer(88));	literals.put(new ANTLRHashString("throws", this), new Integer(127));	literals.put(new ANTLRHashString("do", this), new Integer(41));	literals.put(new ANTLRHashString("strictfp", this), new Integer(42));	literals.put(new ANTLRHashString("super", this), new Integer(93));	literals.put(new ANTLRHashString("with", this), new Integer(137));	literals.put(new ANTLRHashString("transient", this), new Integer(114));	literals.put(new ANTLRHashString("native", this), new Integer(115));	literals.put(new ANTLRHashString("interface", this), new Integer(89));	literals.put(new ANTLRHashString("final", this), new Integer(37));	literals.put(new ANTLRHashString("any", this), new Integer(108));	literals.put(new ANTLRHashString("if", this), new Integer(134));	literals.put(new ANTLRHashString("double", this), new Integer(107));	literals.put(new ANTLRHashString("volatile", this), new Integer(118));	literals.put(new ANTLRHashString("as", this), new Integer(110));	literals.put(new ANTLRHashString("assert", this), new Integer(145));	literals.put(new ANTLRHashString("catch", this), new Integer(151));	literals.put(new ANTLRHashString("try", this), new Integer(149));	literals.put(new ANTLRHashString("goto", this), new Integer(39));	literals.put(new ANTLRHashString("enum", this), new Integer(90));	literals.put(new ANTLRHashString("int", this), new Integer(104));	literals.put(new ANTLRHashString("for", this), new Integer(139));	literals.put(new ANTLRHashString("extends", this), new Integer(92));	literals.put(new ANTLRHashString("boolean", this), new Integer(100));	literals.put(new ANTLRHashString("char", this), new Integer(102));	literals.put(new ANTLRHashString("private", this), new Integer(111));	literals.put(new ANTLRHashString("default", this), new Integer(126));	literals.put(new ANTLRHashString("false", this), new Integer(194));	literals.put(new ANTLRHashString("this", this), new Integer(129));	literals.put(new ANTLRHashString("static", this), new Integer(80));	literals.put(new ANTLRHashString("abstract", this), new Integer(38));	literals.put(new ANTLRHashString("continue", this), new Integer(143));	literals.put(new ANTLRHashString("finally", this), new Integer(150));	literals.put(new ANTLRHashString("else", this), new Integer(135));	literals.put(new ANTLRHashString("import", this), new Integer(79));	literals.put(new ANTLRHashString("in", this), new Integer(140));	literals.put(new ANTLRHashString("void", this), new Integer(99));	literals.put(new ANTLRHashString("switch", this), new Integer(138));	literals.put(new ANTLRHashString("true", this), new Integer(193));	literals.put(new ANTLRHashString("long", this), new Integer(106));}public Token nextToken() throws TokenStreamException {	Token theRetToken=null;tryAgain:	for (;;) {		Token _token = null;		int _ttype = Token.INVALID_TYPE;		resetText();		try {   // for char stream error handling			try {   // for lexical error handling				switch ( LA(1)) {				case '(':				{					mLPAREN(true);					theRetToken=_returnToken;					break;				}				case ')':				{					mRPAREN(true);					theRetToken=_returnToken;					break;				}				case '[':				{					mLBRACK(true);					theRetToken=_returnToken;					break;				}				case ']':				{					mRBRACK(true);					theRetToken=_returnToken;					break;				}				case '{':				{					mLCURLY(true);					theRetToken=_returnToken;					break;				}				case '}':				{					mRCURLY(true);					theRetToken=_returnToken;					break;				}				case ':':				{					mCOLON(true);					theRetToken=_returnToken;					break;				}				case ',':				{

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日本三级亚洲精品| 中文字幕一区二区在线观看| 午夜精品123| 欧美日韩在线播放三区四区| 亚洲免费观看高清完整版在线| 97久久人人超碰| 一区二区在线观看视频在线观看| 在线观看不卡一区| 视频一区在线播放| 精品va天堂亚洲国产| 国产精品888| 亚洲精品午夜久久久| 欧美日韩国产高清一区二区 | 在线视频国内自拍亚洲视频| 亚洲精品成人精品456| 欧美精品一区二区在线播放| 91.麻豆视频| 国产精品一区二区视频| 欧美韩国日本一区| 久久激情五月激情| 精品欧美乱码久久久久久1区2区| 国产一区二区女| 亚洲欧美日韩一区二区| 69成人精品免费视频| 国产成人精品免费在线| 亚洲午夜羞羞片| 欧美巨大另类极品videosbest | 精品国产乱码久久久久久夜甘婷婷 | 色素色在线综合| 国产成+人+日韩+欧美+亚洲| 国产在线一区二区综合免费视频| 日韩在线一区二区三区| 亚洲香蕉伊在人在线观| 夜夜精品浪潮av一区二区三区| 中文字幕一区二区在线观看| 中文在线资源观看网站视频免费不卡| 欧美精品一区二区三区高清aⅴ| 日韩一卡二卡三卡四卡| 日韩一二三区不卡| 欧美成人精品福利| 精品国产sm最大网站| 精品国产伦一区二区三区观看体验| 欧美一区二区三区在线视频| 日韩一级免费一区| 日韩亚洲国产中文字幕欧美| 日韩三级在线观看| 精品久久久久久综合日本欧美 | 亚洲欧洲日韩在线| 亚洲婷婷国产精品电影人久久| 国产精品电影一区二区| 中文字幕欧美一区| 亚洲黄色av一区| 亚洲6080在线| 捆绑调教一区二区三区| 国产一区福利在线| 成人精品国产免费网站| 99国产精品国产精品毛片| 在线亚洲欧美专区二区| 欧美人妖巨大在线| www国产精品av| 国产精品丝袜一区| 亚洲欧美日韩精品久久久久| 亚洲大型综合色站| 久久精品国产**网站演员| 国产不卡在线播放| 色综合久久综合网97色综合| 欧美日韩大陆在线| 26uuu成人网一区二区三区| 国产精品久久久久国产精品日日| 亚洲精品免费在线| 免费高清成人在线| 丰满少妇久久久久久久| 日本韩国精品在线| 日韩一区二区三区免费观看| 国产欧美一区二区精品仙草咪| 亚洲免费观看高清在线观看| 日日夜夜一区二区| 懂色av中文一区二区三区| 欧美色图在线观看| 亚洲精品一区二区三区影院| 国产精品第四页| 日本美女一区二区三区视频| 成人理论电影网| 911国产精品| 亚洲人妖av一区二区| 蜜桃久久av一区| 91污片在线观看| 欧美videos大乳护士334| 亚洲欧洲国产日本综合| 免费看精品久久片| av在线免费不卡| 日韩欧美一级特黄在线播放| 亚洲女人的天堂| 狠狠狠色丁香婷婷综合久久五月| 在线一区二区三区| 久久久午夜电影| 三级欧美韩日大片在线看| av在线这里只有精品| 亚洲精品一区二区三区影院| 亚洲国产日韩a在线播放| 成人深夜福利app| 日韩精品中文字幕一区二区三区| 亚洲精品久久久蜜桃| 国产成人综合亚洲网站| 337p亚洲精品色噜噜狠狠| 亚洲欧美偷拍卡通变态| 国产成人综合在线| 日韩午夜激情电影| 亚洲成人一区二区在线观看| 成人av午夜影院| 久久久蜜桃精品| 久久成人羞羞网站| 欧美一区二区三区在| 亚洲一区二区视频在线| 99久久免费视频.com| 久久久久综合网| 激情综合网天天干| 日韩欧美国产不卡| 日日夜夜精品视频天天综合网| 色94色欧美sute亚洲线路一久| 欧美激情在线一区二区| 国产在线精品一区在线观看麻豆| 欧美一级精品在线| 亚洲国产日韩a在线播放性色| 久久久久久久一区| 伦理电影国产精品| 欧美一区日韩一区| 日韩电影在线观看电影| 欧美日韩国产不卡| 午夜精品久久久久久久久| 在线观看亚洲专区| 一区二区免费视频| 欧美偷拍一区二区| 亚洲成av人片在线观看无码| 欧美午夜精品电影| 亚洲成人1区2区| 欧美二区三区91| 日本不卡视频一二三区| 制服视频三区第一页精品| 视频在线观看91| 欧美www视频| 国产精品影视在线观看| 国产视频一区二区三区在线观看| 国产精品亚洲第一| 国产精品嫩草99a| 97久久精品人人做人人爽50路 | 国产精品理伦片| 99久久综合色| 亚洲免费观看高清完整版在线观看| 91麻豆成人久久精品二区三区| 亚洲男人都懂的| 欧美日韩二区三区| 久久av资源网| 国产精品女同一区二区三区| av电影在线观看一区| 亚洲精品免费播放| 在线播放/欧美激情| 国内外成人在线| 国产精品日韩精品欧美在线| 91啪亚洲精品| 三级不卡在线观看| 久久久无码精品亚洲日韩按摩| 波多野结衣一区二区三区| 亚洲精选免费视频| 91精品国产日韩91久久久久久| 精品在线播放免费| 国产精品二三区| 51精品国自产在线| 国产成人精品免费网站| 亚洲男同性恋视频| 欧美一级欧美三级在线观看| 国产成人综合在线| 亚洲成人动漫在线免费观看| 欧美精品一区二区高清在线观看| 成年人国产精品| 视频一区二区欧美| 国产精品久久久爽爽爽麻豆色哟哟| 欧洲色大大久久| 国产麻豆一精品一av一免费 | 99精品1区2区| 婷婷中文字幕综合| 国产精品―色哟哟| 欧美日韩久久一区二区| 国产盗摄女厕一区二区三区| 国产精品综合一区二区三区| 亚洲婷婷综合久久一本伊一区| 日韩欧美的一区二区| 99视频精品全部免费在线| 久久精品国产99国产| 亚洲三级电影网站| 久久蜜桃av一区二区天堂| 欧美唯美清纯偷拍| 成人免费毛片嘿嘿连载视频| 视频一区在线播放| 樱花影视一区二区| 中文子幕无线码一区tr| 精品区一区二区| 欧美情侣在线播放| 色网综合在线观看| 成人中文字幕合集|