簡體   English   中英

開發生成語言的上下文相關語法

[英]Develop a context-sensitive grammar that generates the language

有人可以解釋如何創建生成語言的上下文相關語法嗎

L={i^nj^nk^ml^m | n,m ≥ 1} L={i^nj^nk^ml^m | n,m ≥ 1} ?

這就是我到目前為止所得到的:(我不確定它是對的)

S → IJ
I → iIX | iX; 
J → jJl | jYl; 
Xj → jX;
XY → Yk;
Y→ε.

如果您能一步一步地解釋如何正確地做到這一點或如何檢查答案的任何路徑,我將不勝感激。 因為即使從書中閱讀了CFG(CSG),我也完全迷失了如何解決這些問題。

謝謝你。

語言定義L={i^nj^nk^ml^m | n,m ≥ 1} L={i^nj^nk^ml^m | n,m ≥ 1}是指一個非零數的i秒,然后由相同數量的j S作為有i秒,然后通過不同的非零數的k秒,然后由相同數量的l S作為有是k s。

因此,從生成語言的兩個獨立部分的起始規則開始:

1. S → XY

添加生成 1 ij和 1 kl規則:

2. iXj → ij
3. kYl → kl

添加生成多個“嵌套”集的規則:

4. X → iXj
5. Y → kYl

例如, iijjkkklll的生成鏈是:

→1 XY
→4 iXjY
→4 iiXjjY
→2 iijjY
→5 iijjkYl
→5 iijjkkYll
→5 iijjkkkYlll
→3 iijjkkklll

暫無
暫無

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

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