Ho un file yacc che descrive un determinato linguaggio per il quale sto sviluppando un editor utilizzando IMP (progetto eclipse). Sto usando il GPL come generatore di parser, quindi ho bisogno di estrarre una regola BNF dal mio file yacc. il file yacc che ho ricevuto contiene regole e azioni. Tuttavia, volevo estrarre solo le regole della descrizione della grammatica da utilizzare in GPL. un modo per farlo è estrarre manualmente le regole e riformattarle nella sintassi BNF (o scrivere un programma per convertirlo nel modo in cui lo voglio). Mi stavo chiedendo se esiste un modo automatico per farlo. Ho letto in alcuni blog che il bisonte potrebbe aiutare ma non sono riuscito a trovare esattamente i comandi appropriati. qualcuno sa come affrontare questo problema.estratto regole grammaticali BNF dal file yacc
Non riesco a pubblicare il file yacc in quanto è riservato. ma ho potuto fare un esempio come segue
argExprList:
assignExp
{
// some rules here
}
| assignExpList ',' assignExp
{
//some other rules here
}
;
quello che volevo da convertire in è semplicemente come
argExpList ::= assignExp|assignExpList ',' assignExp
Era esattamente quello che stavo chiedendo. Ha risolto il mio problema. – lferasu
@Iferasu: ... quindi accetta la risposta di Rici –