我越來越 bnfc: src/LexBNF.x:(80,13)-(86,20): Non-exhaustive patterns in case
錯誤。這是什麼意思? 它並沒有真正說出我的BNF語法有什麼問題,我也不知道如何找到錯誤。過去幾天我試圖尋找它,但未成功。 我檢查是否每個符號都在文件的某個地方定義,我修正了一些規則,沒有任何幫助。
我已經爲某種語言創建了一個BNF並且想要檢查某個輸入是否對該BNF有效。例如,如果我有一個BNF像 <palindrome> ::= a <palindrome> a | b <palindrome> b |
c <palindrome> c | d <palindrome> d |
e <palindrome> e | ...
| z <p
需要使用非擴展BNF語法幫助: Σ = {a,b,c}
L = {ω ɛ Σ^* | such that all a's (if any) comes before all c's(if any)}
例如,串ABA,CBC和abacbc所用的語言,但串ABCABC不是。 這是我迄今爲止(是不是正確,請糾正我,如果我錯了?): S-> asbsc | bsasc | ascsb |ɛ