java - antlr4 tutorial
ANTLR 4 $ canal=OCULTADO y opciones (1)
El equivalente v4 se vería así:
COMMENT
: ( ''//'' ~[/r/n]* ''/r''? ''/n''
| ''/*'' .*? ''*/''
) -> channel(HIDDEN)
;
lo que pondrá todos los comentarios de una y varias líneas en el canal HIDDEN
. Sin embargo, si no estás haciendo nada con estos tokens HIDDEN, también puedes skip
estos tokens, que se verían así:
COMMENT
: ( ''//'' ~[/r/n]* ''/r''? ''/n''
| ''/*'' .*? ''*/''
) -> skip
;
Tenga en cuenta que para decirle al lexer o al analizador que coincida con Ungreedy, ya no usa las options {greedy=false;}
, sino que agrega un ?
, similar a muchas implementaciones de expresiones regulares.
Necesito ayuda con mi gramática ANTLR 4 después de decidir cambiar a v4 desde v3. No tengo mucha experiencia con ANTLR, así que lo siento mucho si mi pregunta es tonta;)
En v3 usé el siguiente código para detectar comentarios de estilo Java:
COMMENT
: ''//'' ~(''/n''|''/r'')* ''/r''? ''/n'' {$channel=HIDDEN;}
| ''/*'' ( options {greedy=false;} : . )* ''*/'' {$channel=HIDDEN;}
;
En v4 no hay opciones específicas de la regla. Las acciones (mover al canal oculto) también son inválidas.
¿Podría alguien darme una pista sobre cómo hacerlo en ANTLR v4?