如果我們主要使用上下文無關的語言進行編碼,我真的無法理解我們如何模擬圖靈機(它接受遞歸可枚舉語言)的輸出。我們如何編寫上下文無關語言的程序?程序是否應該用遞歸可枚舉的語言來完成圖靈?
1
A
回答
8
您正在混淆程序的規格和輸出。
例如,可以接受遞歸可枚舉語言的圖靈機仍然由有限轉換函數或「規則表」指定。規則表本身可以用常規語言表達。
再次,只有現代編程語言的基本語法完全由上下文無關語法定義。一個有效的程序必須滿足很多條件,這些條件不能被語法捕獲:標識符必須在使用之前聲明,函數只能定義一次,程序必須通過類型檢查器等等。
4
「大部分上下文無關」與「略懷孕」沒有意義的方式沒有任何意義。該屬性要麼存在,要麼不存在,並且對於我曾經使用過的任何編程語言,它都不是。
但這不是你可以在其中編寫任意算法的原因。語言的源代碼語法可能會或可能不會被特定的語法描述,但重要的是輸入/輸出行爲。例如,打印形式爲A^iB^iC^i的字符串的程序可以用Pascal編寫,即使這些字符串不構成上下文無關語言。但是這可能的原因並不在於Pascal語法強於上下文無關(雖然的確如此),而是Pascal中構造的語義(最終,程序將運行的馮諾依曼機器的概念)。
相關問題
- 1. 沒有上下文的遞歸可枚舉語言的示例
- 2. 證明常規語言和上下文無關語言是遞歸的
- 3. 我該如何寫C語言的GNURadio應用程序?
- 4. 以字典順序枚舉圖靈可識別語言
- 5. 是否有可能確定.NET程序集編寫的語言?
- 6. 我應該使用哪種語言來編寫GUI應用程序?
- 7. Swift編程語言枚舉實驗
- 8. 是否可以手動設置語言,我的應用程序
- 9. 如何使用C語言編寫多語言桌面應用程序#
- 10. 使用用外語(口頭)語言編寫的應用程序
- 11. 什麼編程語言是上下文無關的?
- 12. 用於編寫GUI應用程序的編程語言
- 13. CGI應用程序是否有優選的編程語言?
- 14. 是否有任何不是上下文無關語言的正規語言?
- 15. 爲以下語言編寫上下文無關語法
- 16. 我的程序是否完成圖靈?
- 17. 教堂編程語言應用程序
- 18. 如何找到用特定語言編寫的應用程序?
- 19. 系統編程語言和應用程序編程語言之間的區別
- 20. 從非遞歸上下文無關語法生成有限語言的算法
- 21. 用2種語言編寫程序?
- 22. 編寫的編程語言
- 23. 從彙編語言編寫C程序
- 24. 尋找非圖靈完成的語言
- 25. 如何確定一種語言是遞歸還是遞歸枚舉?
- 26. 序言遞歸語法
- 27. 程序如何使用以不同語言編寫的文件?
- 28. 是否可以使用三種編程語言編寫一個程序?
- 29. 多語言快遞應用程序
- 30. 如何使用用c語言編寫的cgi程序上傳圖像文件?
在大多數編程語言中,「大部分」都是上下文無關的。有些不是。 – Gabi
哦,對。抱歉誤解了。 –