簡體   English   中英

語言的上下文無關語法 {a^ib^jc^i}

[英]Context-Free Grammar of language {a^i b^j c^i}

在練習期間,我應該為以下語言編寫上下文無關語法:

在此處輸入圖像描述

我不確定我是否完全理解這種方法,但這就是我得到的。

由於我們至少需要 1 個c被任何相等數量的ab包圍(可能為零),我想出了以下 CFG:

T --> aCb | aTb | C
C --> cS | cC
S --> empty

例如,從上面看,我永遠不能創建一個字符串,其中沒有至少 1 個c 但我可以創建一個只有c而沒有ab的字符串。 類似我可以使用AA ... c ... s 也是。

但是,我覺得這個 CTF 比需要的要復雜一些。 任何人都可以告訴我如何改進,或者如果它是錯誤的 - 我錯過了什么?

編輯:rici的一些好的輸入之后,我現在得到的是:

T --> aTb | cC
C --> cC | empty

通過刪除任何冗余(例如可以通過aCbC aTb以及非終端S

  1. 消除S 除了收取薪水之外,它沒有做任何事情。

  2. T → a C b是多余的,因為您已經有T → a T bT → C ,這顯然可以做同樣的事情(通過按順序應用它們)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM