回答
這是不正確的,因爲沒有辦法得到一個單一的「B」(或任何數量的「B」沒有任何「A」)。
(我想你可以通過改變只有一個字母解決它; O)
PS對不起,前面不正確答覆;認爲這是爲我= j。
您定義了L1 = {a^i b^j | i,j> = 0}。換言之,這是所有字符串的語言,它們以零個或多個a開始,以零個或多個b結尾。這是一種常用語言;它的正則表達式是a * b *。正規文法(也有上下文無關文法)如下:
S := lambda | aS | bT
T := lambda | bT
另一個上下文無關文法如下:
S := lambda | aS | Sb
很抱歉,如果我失去了一些東西,你的語言更比我正在閱讀的還要複雜。如果您有理由相信所定義的L1與我描述的語言不同,請解釋。
謝謝!我知道我的答案是沒有產生任何b的產品。我試着再次解決它,得到了{S:= lambda | ASB} {A:= lambda | a} {B:= lambda | b}但它仍然不同於您的解決方案,但僅僅是因爲您的是一個簡化版本還是我在第二次嘗試時弄錯了?這並不複雜,它確實很簡單。我正在學習它新鮮。 – Nitin 2012-02-23 03:48:46
你好,Nitin(這不簡單,但它的工作原理)。 – 2012-02-23 04:34:29
- 1. 從AST構建CFG
- 2. 給一個CFG此語言
- 3. 構造一個置換圖
- 4. 構造一個類型
- 5. 構造一個罐子?
- 6. 對於另一個構造
- 7. 凡構造一個對象
- 8. Java的一個LinkedListNode構造
- 9. 構造一個空矩陣
- 10. C++在類構造上做了一個類構造成員?
- 11. EasyMock:在java中構造一個構造函數調用
- 12. 我與另一個構造函數調用構造函數有一個錯誤
- 13. ponylang:在另一個構造函數中調用構造方法?
- 14. 構造一個通用對象(不是默認構造函數)
- 15. 確定一個構造函數調用其基類的構造
- 16. 從另一個構造函數調用默認構造函數
- 17. 多個構造
- 18. 將CFG展平爲結構化代碼
- 19. 如何構造一個長字符串
- 20. 使用結構從一個類構造另一個類
- 21. 如何構造一個迭代器類?
- 22. 自然語言CFG構建器算法
- 23. 測試類只能有一個構造
- 24. 在WebGL中構造一個金字塔
- 25. 在列表理解中構造兩個非嵌套for循環
- 26. 用map重構一個對象for each
- 27. 是否有可能將構造函數放在另一個構造函數的構造函數中?
- 28. 從另一個構造一個典型的調用構造函數,但給我一個錯誤
- 29. C++一個類的默認構造函數調用另一個類的另一個默認構造函數
- 30. 其中一個QImage構造函數給了我一個鏈接器錯誤,但另一個構造函數不?
所以它正確的我!= j?另外,您是否還可以快速確認L2 = {a^2n b^n,n> = 0}是{S = ASB | e} {A = A | aa | e} {B = b | e}?堆棧讓我發表另一個問題'因爲我是一個新手! – Nitin 2012-02-23 03:17:21
不,這是不正確的,我!= j - 看到參數。它不能產生「b」。我的「對不起」是關於我刪除的更早的答案(我擔心你可能在我刪除之前閱讀過)。你的L2也是不正確的 - 它可能更簡單(根本不需要A和B)。例如,L2可以給出S→ASB→aaSB→aaB→aa。 – 2012-02-23 03:20:30
好的抱歉在這種情況下誤讀你的遺憾。感謝我現在拿到L1。但是對於L2來說,我的回答是不正確的,因爲它必須是最簡單的形式,還是不能正確生成? – Nitin 2012-02-23 03:44:58