讓我來舉個例子。 假設一個文本文件的內容如下:如何編寫Lex和Yacc來解析部分文件
功能FUN1 {
INT A,B,C;
功能FUN2 {
INT d,E;
char f g;
功能FUN3 {
INT H,I;
}
}
在上述文本文件,打開支架的數目不匹配閉括號的數目。該文件作爲一個整體不遵循語法。然而,部分函數fun2和fun3遵循語法。通常文本文件非常大。
如果用戶想要解析整個文件,即函數fun1,那麼程序應該輸出一個錯誤,因爲大括號不匹配。但是,如果用戶只想解析部分文件,即函數fun2/fun3,那麼程序不應該因爲大括號匹配而拋出錯誤。
我現在有一個問題 1.有沒有辦法讓Lex和Yacc只加載 部分文件?如果是這樣,那麼它是如何完成的。