unit JavaLexer; uses { dpgTokenStreamSelector; } lexer TJavaLexer; options { k = 2; importVocab = JavaDoc; exportVocab = Java; } tokens { "int"; } memberdecl { public Selector : IdpgTokenStreamSelector; } // ---------------------------------------------------------------------------- // Simple tokens // ---------------------------------------------------------------------------- SEMI : ';'; // ---------------------------------------------------------------------------- // JavaDocOpen // ---------------------------------------------------------------------------- JAVADOC_OPEN : "/**" { Selector.Push('docLexer'); } ; // ---------------------------------------------------------------------------- // Identifier // ---------------------------------------------------------------------------- ID options { testLiterals = true; } : ('a'..'z')+ ; WS : ( ' ' | '\t' | ( '\r' '\n' | '\r' | '\n' ) { newLine; } ) { _ttype := TT_SKIP; } ;