Transcript
Page 1: 請解釋下列名詞: (1) 關鍵字 (key word) (2) 保留字 (reserved word) (3) 懸置指標 (dangling pointer)

假有以下之文法產生規則:S→aBcB→bXbB→bXX→a

X→ab(a) 字串“ ababc” 是否可由以上文法產生?(b) 以上文法產生規則是否是 ambiguous ?

(c) 寫出以上文法產生規則所定義之所有字串。

Page 2: 請解釋下列名詞: (1) 關鍵字 (key word) (2) 保留字 (reserved word) (3) 懸置指標 (dangling pointer)

根據題目之文法產生規則,寫出以下敘述的推導方法。A pretty book had a happy Mary

<sentence>::= <noun phrase><verb phrase><noun phrase>::= <article><adjective><name> <article∣> <adjective > <noun><verb phrase>::= <verb> <verb><noun phrase>∣<name>::= John Mary∣<noun>::= book peanut friend∣ ∣<adjective>::= happy pretty tasty∣ ∣<article>::= a the∣<verb>::= ate loved had∣ ∣

Page 3: 請解釋下列名詞: (1) 關鍵字 (key word) (2) 保留字 (reserved word) (3) 懸置指標 (dangling pointer)

• 請解釋下列名詞:• (1) 關鍵字 (key word)

• (2) 保留字 (reserved word)

• (3) 懸置指標 (dangling pointer)

• (4) 懸置標記引用 (dangling label reference)

Page 4: 請解釋下列名詞: (1) 關鍵字 (key word) (2) 保留字 (reserved word) (3) 懸置指標 (dangling pointer)

• 就下列定義的貝氏正式 (BNF) ,寫出剖析下列運算式 (expression) 後所得的剖析樹 (parsing tree) ,或指出其為語法錯誤 (syntax error) 。貝式正式 :<ep>::=<ep><op><tt> <tt>∣<op>::= +∣ *<tt>::=<cc> <ll><nn>∣<cc>::=T F∣<nn>::=0 1∣<ll>::=I J K L M N∣ ∣ ∣ ∣ ∣運算式(1) K1*I0+T*L1+M0*F+M1(2) L1*(J0+M1)+I1

Page 5: 請解釋下列名詞: (1) 關鍵字 (key word) (2) 保留字 (reserved word) (3) 懸置指標 (dangling pointer)

• 設有一語言以 EBNF (Extended Backus-Naur Form) 規則式定義如下:

• <bin-num> :: = [<digit>] <three-ones>[<digit>]   <three-ones> :: = 111   <digit> :: = 0 | 1 | 0 <bin-num> | 1 <bin-num>

• 請指出以下四個式子,何者符合上述的文法規定:• (1) 0000111111010• (2) 1111110• (3) 0011000101011• (4) 0110111011111

Page 6: 請解釋下列名詞: (1) 關鍵字 (key word) (2) 保留字 (reserved word) (3) 懸置指標 (dangling pointer)

• 一個 EBNF(Extended Backus-Naur Form) 規則定義如下:

• <sequence>::= A{B|C} [D]

• (1) 請列出所有由 1 個、 2 個或 3 個字元所構成合乎上述文法規定之述句 (sentence) 。

• (2) 請將上述 EBNF 規則定義,轉換成 BNF 規則定義。

Page 7: 請解釋下列名詞: (1) 關鍵字 (key word) (2) 保留字 (reserved word) (3) 懸置指標 (dangling pointer)

• 根據底下的語法,請舉出一個實例,並畫出語法樹 (syntax tree) ,以說明該語法為模擬兩可之語法 (ambiguous grammar) 。   <exp>::=<exp>+<exp>   <exp>::=<exp>*<exp>   <exp>::=id

Page 8: 請解釋下列名詞: (1) 關鍵字 (key word) (2) 保留字 (reserved word) (3) 懸置指標 (dangling pointer)

• 就下列文法示,如果下列字串屬於該文法所定義之語言,寫出其剖析樹 (parse tree) ,或指出其不屬於該語言。

• 文法:<S> - > <A>a<B>b<A> - > <A>b│b<B> - > a<B>│a

• 字串:• ( 一 ) bbbaab• ( 二 ) aaabba

Page 9: 請解釋下列名詞: (1) 關鍵字 (key word) (2) 保留字 (reserved word) (3) 懸置指標 (dangling pointer)

• 就下列定義的貝式正式 (BNF) ,寫出剖析下列運算式 (expression) 後所得的剖析樹 (parsing tree) 或指出其為語法錯誤 (syntax error) 。

• 貝式正式:<ep>::= <tt>*<ep> | <tt><tt>::= <vv> ^ <tt> | <vv><vv>::= A | B | C | D

• 運算式:• (a) A ^ B ^ C ^ D• (b) A * B * C * D• (c) A ^ B * C ^ D• (d) A * B ^ C * D• (e) A + B * C + D

Page 10: 請解釋下列名詞: (1) 關鍵字 (key word) (2) 保留字 (reserved word) (3) 懸置指標 (dangling pointer)

• 根據以下的語法規則,請問運算式 9-(24/3+1*2)-2 ,計算的結果為何?

• <expr>::=<mm> | <mm> * <expr> | <mm> / <expr><mm>::=<it> | <it> + <mm> | <it> - <mm><it>::=(<expr>) | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10|. ..

Page 11: 請解釋下列名詞: (1) 關鍵字 (key word) (2) 保留字 (reserved word) (3) 懸置指標 (dangling pointer)

• ( 一 )列出一個 Grammar 之四個主要構成份子 (essential components)

• ( 二 )一般常用什麼方式來描述程式語言之語法 (syntax) ?

Page 12: 請解釋下列名詞: (1) 關鍵字 (key word) (2) 保留字 (reserved word) (3) 懸置指標 (dangling pointer)

Recommended