1
A
回答
1
使用標準算法構建下推自動機(PDA)。我不會詳細討論任何特定的構造(單獨的問題將會是一個更好的地方)但您可以搜索「convert cfg to pda」並獲得結果。一個例子是here。
從PDA構建兩帶圖靈機如下:
- 圖靈機讀取輸入膠帶(膠帶#1)左到右
- 圖靈機使用的第二帶作爲堆棧,在推動時向右移動,在彈出時向左移動。
使用標準結構從雙帶機器構造一個香草單帶圖靈機。單磁帶和雙磁帶TM的等價證據是一個建設性的證明,您可以按照隱含的算法爲您的CFG語言顯示構建一個單磁帶TM。
1
CFG的每個生成的單詞都可以寫成一個分析樹。如果你得到了由CFG生成的字符串,這些就是你的分析樹的葉子。要確定字符串是否由CFG生成,您只需從葉子到內部節點直到根節點。所以總的想法是扭轉生產規則。如果你可以到達根目錄,那麼字符串就是語法的一部分。如果你在某一點上,沒有轉向生產規則,那麼這個詞不是由CFG生成的。請注意,如果有多種可能性,您需要嘗試所有可能性,如果有可能,則該字符串由CFG生成。如果沒有任何作品,它不是。
+0
如果語法是左遞歸的,即使是間接的,這個答案的任何天真的實現都可能無法停止。 – rici
相關問題
- 1. 如何將DFA轉換爲圖靈機?
- 2. 將CFG轉換爲IL
- 3. 將XML轉換爲cfg文件
- 4. 將正則表達式轉換爲CFG
- 5. JavaCUP - 如何將這行EBNF轉換爲CFG語法?
- 6. 如何在將CFG轉換爲CNF時做最後一步?
- 7. 如何將cfg轉換爲具有2個狀態的pda?
- 8. 如何將精靈圖像轉換爲JSON以獲得Starbound mod?
- 9. 爲什麼lambda轉換不在圖靈機中?
- 10. Pygame將表面轉換爲精靈
- 11. 如何將位圖轉換爲視圖?
- 12. 如何將點圖轉換爲json圖?
- 13. 如何將圖像轉換爲位圖
- 14. 如何將圖像轉換爲圖標?
- 15. 如何將AChartEngine圖轉換爲位圖
- 16. 如何將位圖轉換爲圖像
- 17. 如何模擬圖靈機?
- 18. 將CFG字符串轉換爲元組的功能
- 19. 如何在Mac上使用TextEdit將.txt文件轉換爲.cfg文件?
- 20. 如何將TextureRegion轉換爲紋理來設置精靈紋理
- 21. 如何將網絡地圖網站轉換爲手機
- 22. 如何將世界座標轉換爲相機圖像座標?
- 23. 計算機如何將圖像轉換爲二進制文件?
- 24. 如何將html頁面轉換爲本機iPhone視圖?
- 25. 如何將圖像轉換爲字節[]?
- 26. 如何將2D轉換爲3D餅圖?
- 27. 如何將IHTMLImgElement轉換爲圖像
- 28. 如何將nsdata轉換爲圖像?
- 29. 如何將報告轉換爲圖像?
- 30. 如何將地圖轉換爲XML
您正在尋找像https://en.wikipedia.org/wiki/CYK_algorithm這樣的解析算法。也許閱讀它然後在TM上實現它。 –