阿摩線上測驗 登入

申論題資訊

試卷:94年 - 94 地方政府特種考試_三等_資訊處理:程式語言#38549
科目:程式語言
年份:94年
排序:0

題組內容

二、就下列文法(Grammar):(20 分) + | * | → a | b | c

申論題內容

(1)說明該文法對+與*兩運算子(Operator)之優先次序(Precedence)與結合性 (Association)。該文法是否為模糊文法(Ambiguous Grammar)?

詳解 (共 1 筆)

詳解 提供者:s1121ks011 s1121ks011

這個文法定義了三個非終端符號:+、*和→,以及三個終端符號:a、b和c。

根據這個文法:

  • +、*和→是非終端符號,它們代表了運算子和產生規則。
  • a、b和c是終端符號,它們代表了運算子的操作數。

在這個文法中,+和的優先次序相同,即沒有明確的優先次序。這意味著在沒有其他規則指定的情況下,+和的結合性是由其出現在表達式中的位置決定的。因此,這個文法中+和*的結合性是左結合的。

例如,對於表達式 a + b * c,*的結合性會優先於+,因此該表達式等價於 (a + (b * c))。

關於是否模糊文法,這個文法不是模糊文法。模糊文法是指一個文法中存在多種解釋或解析方式,導致同一個句子可以解析成不同的結果。在這個文法中,每個運算子(+和*)都只有一種解析方式,因此這個文法是一個明確的文法。