Ich habe eine YACC-Datei beschreibt eine bestimmte Sprache, für die ich einen Editor mit IMP (Eclipse-Projekt) zu entwickeln. Ich benutze LPG als Parser-Generator, so dass ich eine BNF-Regeln extrahieren musste aus meiner Yacc-Datei. Die YACC-Datei, die ich erhalten habe, enthält Regeln und Aktionen. Ich wollte jedoch nur die Regeln der Grammatikbeschreibung extrahieren, die in LPG verwendet werden. Eine Möglichkeit besteht darin, die Regeln manuell zu extrahieren und in die BNF-Syntax umzuformatieren (oder ein Programm zu schreiben, um es so zu konvertieren, wie ich es möchte). Ich habe mich gefragt, ob es einen automatisierten Weg dafür gibt. Ich habe in einigen Blogs gelesen, dass Bison helfen könnte, aber ich konnte nicht die richtigen Befehle finden. weiß jemand, wie man mit diesem Problem umgeht.extrahieren BNF Grammatikregeln aus yacc Datei
Ich kann nicht wirklich die yacc-Datei, die ich habe, da es vertraulich ist. aber ich konnte ein Beispiel geben, wie
argExprList:
assignExp
{
// some rules here
}
| assignExpList ',' assignExp
{
//some other rules here
}
;
folgt, was ich wollte, dass es umgewandelt werden soll, einfach wie
argExpList ::= assignExp|assignExpList ',' assignExp
Das war genau das, was ich gefragt habe. Es hat mein Problem gelöst. – lferasu
@Iferasu: ... dann akzeptiere Ricis Antwort –