我有一個yacc文件描述了使用IMP(eclipse項目)開發編輯器的某種語言。我使用LPG作爲解析器生成器,所以我需要提取一個BNF規則從我的yacc文件。我收到的yacc文件包含規則和操作。但是,我想只提取要在LPG中使用的語法描述規則。這樣做的一種方法是手動提取規則並將其重新格式化爲BNF語法(或者可能正在編寫一個程序將其轉換爲我想要的方式)。我想知道是否有這樣做的自動化方式。我在一些博客中讀到野牛可以提供幫助,但我無法準確找到合適的命令。有沒有人知道如何處理這個問題。從yacc文件中提取BNF語法規則
我真的不能發佈yacc文件,因爲它是保密的。但如下
argExprList:
assignExp
{
// some rules here
}
| assignExpList ',' assignExp
{
//some other rules here
}
;
什麼,我想它轉換爲是單純的喜歡
argExpList ::= assignExp|assignExpList ',' assignExp
這正是我所問的。它解決了我的問題。 – lferasu
@Iferasu:...然後接受Rici的回答 –