¿Alguien ha trabajado para convertir la salida de peg de nuevo a la gramática de entrada?
Recientemente heredé un proyecto que usa PEG. Tenemos el analizador PEG pero la gramática de origen parece haberse perdido o falta. ¿Es posible recuperar la gramática solo del código del analizador PEG?
El proceso es bastante sencillo de hacer a mano.
peg$parse
.} else {
peg$currPos = s#;
s# = peg$FAILED;
}
significa que había un artículo en secuencia.
while (s# !== peg$FAILED)
es una repetición.if (s# === peg$FAILED)
es una rama alternativa de una elección.
Comentario más útil
El proceso es bastante sencillo de hacer a mano.
peg$parse
.significa que había un artículo en secuencia.
while (s# !== peg$FAILED)
es una repetición.if (s# === peg$FAILED)
es una rama alternativa de una elección.