申論 2我們定義一套算術式語言(expression language),其中包括變數與五種運算子:+(加法)、-(減法)、*(乘法)、/(除法)、^(指數)。^(指數)為向右結合性(rightassociative or associative to the right),其餘四種運算子為向左結合性(left associativeor associative to the left)。例如a-b-c 代表(a-b)-c 而a ^ b ^ c 代表a ^(b ^ c)。當一算術式中包含數個運算子時,我們優先計算^(指數),其次計算*(乘法)與/(除法),最後才計算+(加法)與-(減法)。我們並且可以用習見的括號( 與 )來改變計算順序。例如 a + b *(c + d)/ e ^ f 代表a +((b *(c + d))/(e ^ f))。請用巴納記法(Backus-Naur notation)來表示此算術式語言(expression language)。請特別注意運算子的結合性與計算順序。(20 分)