Search in sources :

Example 16 with FINAL

use of org.apache.groovy.parser.antlr4.GroovyLexer.FINAL in project groovy by apache.

the class LexerFrame method scanScript.

private void scanScript(final StringReader reader) throws Exception {
    scriptPane.read(reader, null);
    reader.reset();
    // create lexer
    final GroovyLangLexer lexer = new GroovyLangLexer(reader);
    tokenPane.setEditable(true);
    tokenPane.setText("");
    int line = 1;
    final ButtonGroup bg = new ButtonGroup();
    Token token;
    int tokenCnt = 0;
    while (true) {
        token = lexer.nextToken();
        JToggleButton tokenButton = new JToggleButton(tokens.get(token.getType()));
        tokenButton.setFont(MONOSPACED_FONT);
        bg.add(tokenButton);
        tokenButton.addActionListener(this);
        tokenButton.setToolTipText(token.getText());
        tokenButton.putClientProperty("token", token);
        tokenButton.setMargin(new Insets(0, 1, 0, 1));
        tokenButton.setFocusPainted(false);
        if (token.getLine() > line) {
            tokenPane.getDocument().insertString(tokenPane.getDocument().getLength(), "\n", null);
            line = token.getLine();
        }
        insertComponent(tokenButton);
        tokenCnt++;
        if (eof().equals(token.getType())) {
            break;
        }
    }
    tokenStreamLabel.setText(" Token Stream(" + tokenCnt + "):");
    tokenPane.setEditable(false);
    tokenPane.setCaretPosition(0);
    reader.close();
}
Also used : Insets(java.awt.Insets) JToggleButton(javax.swing.JToggleButton) ButtonGroup(javax.swing.ButtonGroup) GroovyLangLexer(org.apache.groovy.parser.antlr4.GroovyLangLexer) Token(org.antlr.v4.runtime.Token)

Aggregations

SwitchExpressionContext (org.apache.groovy.parser.antlr4.GroovyLangParser.SwitchExpressionContext)13 IOException (java.io.IOException)12 Token (org.antlr.v4.runtime.Token)12 Tuple2 (groovy.lang.Tuple2)11 Arrays (java.util.Arrays)11 Collections (java.util.Collections)11 List (java.util.List)11 Collectors (java.util.stream.Collectors)11 CharStream (org.antlr.v4.runtime.CharStream)11 CharStreams (org.antlr.v4.runtime.CharStreams)11 CommonTokenStream (org.antlr.v4.runtime.CommonTokenStream)11 RecognitionException (org.antlr.v4.runtime.RecognitionException)11 ParseCancellationException (org.antlr.v4.runtime.misc.ParseCancellationException)11 GroovyParserRuleContext (org.apache.groovy.parser.antlr4.GroovyParser.GroovyParserRuleContext)9 BreakStatement (org.codehaus.groovy.ast.stmt.BreakStatement)8 ContinueStatement (org.codehaus.groovy.ast.stmt.ContinueStatement)8 Tuple.tuple (groovy.lang.Tuple.tuple)7 Tuple3 (groovy.lang.Tuple3)7 CompileStatic (groovy.transform.CompileStatic)7 NonSealed (groovy.transform.NonSealed)7