簡體   English   中英

命題邏輯的語法正確性

[英]Correctness of a grammar for propositional logic

我正在嘗試為命題邏輯編寫語法,以創建LL解析器(詞法分析)。

我嘗試了以下語法:

F = F and F
F = F or F 
F = F => F
F = F <=> F
F = not F
F = (F)
D = a

但是我發現它是模棱兩可的。 我嘗試了以下方法消除歧義:

F = F and A
F = A
A = F or B 
A = B
B = F => C
B = C
C = F <=> C
C=D
D = not F
D = (F)
D = a

這個語法正確嗎? 我能否成功消除歧義?

語法仍然模棱兩可。 這是非a和a的兩個推導:

推導1:

F   
F and A
A and A
B and B
C and C
not F and a
not A and a
not B and a
not C and a
not D and a
not a and a

推導2:

F    
A
B
C
D
not F
not F and A
not A and A
not B and B
not C and C
not D and D
not a and a

您需要在導數周圍加上括號,例如F =(F和A)

如果您不想使用括號,則另一種可能性是使用前綴表示法

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM