grammar Rendszam; @members { int max_ar=-1; String max_rendszam; public static void main(String[] args) throws Exception { RendszamLexer lex = new RendszamLexer(new ANTLRFileStream(args[0])); CommonTokenStream tokens = new CommonTokenStream(lex); RendszamParser parser = new RendszamParser(tokens); try { parser.s(); } catch (RecognitionException e) { e.printStackTrace(); } } } /*------------------------------------------------------------------ * LEXER RULES *------------------------------------------------------------------*/ US : '\r'? '\n'; fragment DIGIT : '0'..'9' ; fragment LETTER : 'A'..'Z' ; NUM : (DIGIT)+; RENDSZAM : LETTER LETTER LETTER DIGIT DIGIT DIGIT; EQ : '=' ; SPACE : ' ' {skip();}; /*------------------------------------------------------------------ * PARSER RULES *------------------------------------------------------------------*/ s : (sor US)* {System.out.println("A legdragabb auto="+max_rendszam);}; sor : r=RENDSZAM EQ n=NUM {int ar = Integer.parseInt($n.text); if (ar>max_ar) { max_ar = ar; max_rendszam = $r.text; } };