【编译原理】第二章课后习题(王生原版)
生活随笔
收集整理的這篇文章主要介紹了
【编译原理】第二章课后习题(王生原版)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
文章目錄
- 給定文法,確定其語言
- 給定語言,確定其文法
- 語法分析
- 證明文法是否具有二義性
給定文法,確定其語言
給定語言,確定其文法
方法一定義的文法會產生E+E+E……之類的無限循環,舍去
首先上下文無關文法是2型文法,特征是每個產生式左部都有一個非終結符。
(3)中也可以
S→Ab
A→BAB|a
B→a|b
3型文法
3型文法是在2型文法的基礎上對產生式右部做了限制:
右線性文法:產生式右部是終結符號串或終結符號串接一個非終結符
左線性文法:產生式右部是終結符號串或一個一個非終結符接終結符號串
(1)
S→aS|ε
(2)
S→aS|aA
A→bA|b
如果條件是n,m≥0:
S→aS|bA|ε
A→bA|ε
(3)
如果條件是n,m≥1:
S→aS|aB
B→bB|bC
C→cC|c
首先要了解一個表示十進制數的文法,如下:
在上面文法的基礎上再對其進行改造
(1)
(2)
語法分析
首先將文法解釋成下面常見的形式:
eg:(5)i+(i+i)
例題:
證明文法是否具有二義性
證明方法:
很簡單,一個句型只要能畫出兩個不同的語法樹,就是二義的。
(1)生成的語言是嵌套的括號
(2)
總結
以上是生活随笔為你收集整理的【编译原理】第二章课后习题(王生原版)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 三星 SSIR 携手印度科学学院 IIS
- 下一篇: 【编译原理】FIRSTVT和LASTVT