Example usage for org.antlr.v4.runtime Lexer DEFAULT_MODE

List of usage examples for org.antlr.v4.runtime Lexer DEFAULT_MODE

Introduction

In this page you can find the example usage for org.antlr.v4.runtime Lexer DEFAULT_MODE.

Prototype

int DEFAULT_MODE

To view the source code for org.antlr.v4.runtime Lexer DEFAULT_MODE.

Click Source Link

Usage

From source file:net.certiv.json.test.base.AbstractBase.java

License:Open Source License

public List<String> getTokenTypes(LexerGrammar lg, ATN atn, CharStream input) {
    LexerATNSimulator interp = new LexerATNSimulator(atn,
            new DFA[] { new DFA(atn.modeToStartState.get(Lexer.DEFAULT_MODE)) }, null);
    List<String> tokenTypes = new ArrayList<String>();
    int ttype;//from w ww.jav a2s.co m
    boolean hitEOF = false;
    do {
        if (hitEOF) {
            tokenTypes.add("EOF");
            break;
        }
        int t = input.LA(1);
        ttype = interp.match(input, Lexer.DEFAULT_MODE);
        if (ttype == Token.EOF) {
            tokenTypes.add("EOF");
        } else {
            tokenTypes.add(lg.typeToTokenList.get(ttype));
        }

        if (t == IntStream.EOF) {
            hitEOF = true;
        }
    } while (ttype != Token.EOF);
    return tokenTypes;
}

From source file:org.apache.olingo.server.core.uri.parser.Parser.java

License:Apache License

private ParserRuleContext parseRule(final String input, final ParserEntryRules entryPoint)
        throws UriParserSyntaxException {
    UriParserParser parser = null;/*from  w w w . jav  a  2  s .  co m*/
    UriLexer lexer = null;
    ParserRuleContext ret = null;

    // Use 2 stage approach to improve performance
    // see https://github.com/antlr/antlr4/issues/192

    // stage = 1
    try {

        // create parser
        if (logLevel > 0) {
            //TODO: Discuss if we should keep this code
            lexer = new UriLexer(new ANTLRInputStream(input));
            showTokens(input, lexer.getAllTokens());
        }

        lexer = new UriLexer(new ANTLRInputStream(input));
        parser = new UriParserParser(new CommonTokenStream(lexer));

        // Set error strategy
        addStage1ErrorStategy(parser);

        // Set error collector
        addStage1ErrorListener(parser);

        // user the faster LL parsing
        parser.getInterpreter().setPredictionMode(PredictionMode.SLL);

        // parse
        switch (entryPoint) {
        case All:
            ret = parser.allEOF();
            break;
        case Batch:
            ret = parser.batchEOF();
            break;
        case CrossJoin:
            ret = parser.crossjoinEOF();
            break;
        case Metadata:
            ret = parser.metadataEOF();
            break;
        case PathSegment:
            ret = parser.pathSegmentEOF();
            break;
        case FilterExpression:
            lexer.mode(Lexer.DEFAULT_MODE);
            ret = parser.filterExpressionEOF();
            break;
        case Orderby:
            lexer.mode(Lexer.DEFAULT_MODE);
            ret = parser.orderByEOF();
            break;
        case ExpandItems:
            lexer.mode(Lexer.DEFAULT_MODE);
            ret = parser.expandItemsEOF();
            break;
        case Entity:
            ret = parser.entityEOF();
            break;
        case Select:
            ret = parser.selectEOF();
            break;
        default:
            break;

        }

    } catch (ParseCancellationException hardException) {
        // stage = 2
        try {

            // create parser
            lexer = new UriLexer(new ANTLRInputStream(input));
            parser = new UriParserParser(new CommonTokenStream(lexer));

            // Set error strategy
            addStage2ErrorStategy(parser);

            // Set error collector
            addStage2ErrorListener(parser);

            // Use the slower SLL parsing
            parser.getInterpreter().setPredictionMode(PredictionMode.LL);

            // parse
            switch (entryPoint) {
            case All:
                ret = parser.allEOF();
                break;
            case Batch:
                ret = parser.batchEOF();
                break;
            case CrossJoin:
                ret = parser.crossjoinEOF();
                break;
            case Metadata:
                ret = parser.metadataEOF();
                break;
            case PathSegment:
                ret = parser.pathSegmentEOF();
                break;
            case FilterExpression:
                lexer.mode(Lexer.DEFAULT_MODE);
                ret = parser.filterExpressionEOF();
                break;
            case Orderby:
                lexer.mode(Lexer.DEFAULT_MODE);
                ret = parser.orderByEOF();
                break;
            case ExpandItems:
                lexer.mode(Lexer.DEFAULT_MODE);
                ret = parser.expandItemsEOF();
                break;
            case Entity:
                ret = parser.entityEOF();
                break;
            case Select:
                ret = parser.selectEOF();
                break;
            default:
                break;
            }

        } catch (final RecognitionException weakException) {
            throw new UriParserSyntaxException("Error in syntax", weakException,
                    UriParserSyntaxException.MessageKeys.SYNTAX);

            // exceptionOnStage = 2;
        }
    } catch (final RecognitionException hardException) {
        throw new UriParserSyntaxException("Error in syntax", hardException,
                UriParserSyntaxException.MessageKeys.SYNTAX);
    }

    return ret;
}

From source file:org.tvl.goworks.editor.go.highlighter.GoHighlighterLexerState.java

License:Open Source License

private GoHighlighterLexerState() {
    this(Lexer.DEFAULT_MODE, null);
}