[英]LL1 boolean operator Grammar to implement Recursive decent parser
這是來自原始語法的小塊,我必須實現遞歸的正確解析器。 我們必須從中刪除歧義,左遞歸等,以便我們可以實現其解析器。 我已完成其他位,但無法弄清楚如何處理not運算符(〜)。
有效的表達式可能是。 1&〜1,(1&~1)等
我有處理大括號,以及&和或符號但不能處理〜符號。
這是原始語法。
A -> A & A
A -> ~A
A -> (A)
A -> 0 | 1
我無法弄清楚如何處理〜 。
這是我的解決方案:
one -> two one'
one' -> ~one|^
two -> three two'
two' -> & three two'|^
three -> four three'
three' -> || four three' | ^
four -> (one) |0 |1
當我實現它時,一切都適用於括號,或者操作符。 但否定〜沒有奏效。 所以我認為語法沒有正確轉換為LL(1)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.