byacc java yacc

java - byacc



Yacc equivalente para Java (5)

En el pasado, he usado ANLTR tanto para lexer como para analizador, y la página de inicio de JFlex dice que puede interoperar con ANTLR. No diría que la documentación en línea de ANTLR sea tan buena. Terminé invirtiendo en ''La referencia definitiva de ANTLR'' , lo que ayudó considerablemente.

Estoy trabajando en un proyecto de diseño de compilador en Java. Se realizó el análisis léxico (usando jflex) y me pregunto qué herramienta tipo yacc sería la mejor (la más eficiente, la más fácil de usar, etc.) para realizar el análisis sintáctico y por qué.



Otra opción sería el analizador GOLD .

A diferencia de muchas de las alternativas, el analizador GOLD genera las tablas de análisis de la gramática y las coloca en un archivo binario, no ejecutable. Cada idioma admitido tiene un motor que lee las tablas binarias y analiza su archivo fuente.

No he usado la implementación de Java específicamente, pero he usado el motor Delphi con resultados bastante buenos.


Si desea específicamente un comportamiento similar a YACC (basado en tablas), el único que conozco es CUP .

En el mundo Java, parece que más personas se inclinan hacia analizadores de descendencia recursivos como ANTLR o JavaCC .

Y la eficiencia rara vez es una razón para elegir un generador de analizador.


También hay jacc.

Jacc es lo más cercano a yacc que puede obtener, pero se implementa en java puro y genera un analizador java.

Interactúa bien con jFlex

http://web.cecs.pdx.edu/~mpj/jacc/