我的書給出了類似但有點不同的普通語法和普通語言的解釋。 我懷疑這是錯誤的,是普通語言與正則語法相同的東西嗎? 我的書的定義是: 如果所有產品都是V-> aW或V-> Wa,V,W非終端或終端符號,「a」終端符號,則文法是規則的.W也可以是空的或是同樣的V.普通語言和普通語法之間的區別
2
A
回答
2
形式語法是一套規則,而形式語言是一組字符串。
正則語法是一種形式語法,描述了常規語言。
根據Wikipedia:
[T]他離開正規文法產生正是所有正則語言。正確的正則語法描述了所有這些語言的逆轉,也就是說正常語言也是如此。
如果允許左規則和右規則的混合,我們仍然有一個線性語法,但不一定是一個常規規則。
在上面,左規則規則的形式爲V->Wa
(右規則,形式爲V->aW
)。
1
普通語法和正則語言是兩個不同的術語:
- 甲語言是終端碼元的有效序列的(可能是無限的)集。
- A 語法定義哪些是有效序列。
相同的語言可以用不同的語法類表示(常規,上下文無關等)。 A 語言據說是規則的,如果它可以用常規的語法來表示。另一方面,常規語法總是定義一種常規語言。你發佈的是正則語法的定義。
有關更多信息,請參見this Wikipedia post。
相關問題
- 1. randn和普通Python之間的區別
- 2. 識別普通文件夾和「。」/「..」文件夾之間的區別
- 3. 給一個普通語言L
- 4. c語言中普通指針和自指針指針的區別
- 5. int CompareTo方法與普通If條件之間的區別?
- 6. 休眠時JTA,JPA和普通JDBC之間的區別
- 7. 抽象類擴展和普通類之間的區別延伸
- 8. 靜態嵌套類和普通類之間的區別
- 9. pagebookview和普通視圖之間的區別
- 10. 表面和紋理之間的區別(SDL /普通)
- 11. Mandrill - global_merge_vars和普通merge_vars之間的區別
- 12. GSP與普通Apriori方法的區別
- 13. 製片人和普通演員之間有什麼區別?
- 14. 語言和框架之間的區別
- 15. JavaBean,POJO和普通類的區別?
- 16. php ajax和普通頁面的區別
- 17. MacVim和普通Vim有什麼區別?
- 18. 普通網絡託管與SaaS或PaaS之間的區別
- 19. 普通清漆:beresp&resp之間的區別,bereq & req; req.ttl&beresp.ttl
- 20. 轉換普通語言持續時間喬達期或ISO 8601
- 21. 語法之間的區別
- 22. 如何區分標誌枚舉和普通枚舉之間的區別?
- 23. 基於語法分析程序的匿名和普通用戶之間
- 24. ruby和python之間的語法區別?
- 25. 普通浮法
- 26. 在PHP中使用普通HTML和HTML內部回聲語句或變量之間的區別
- 27. 博客的分層功能,即博客和普通網站之間的區別
- 28. 用普通的JavaScript編寫jQuery語句
- 29. 普通英語和簡單英語中[^ K] + name \?=([^'] *)的含義
- 30. 使用sdk和普通方法創建Firefox插件的區別