阿摩線上測驗 登入

申論題資訊

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

題組內容

一、定義下述文法(grammar): expression → expression + expression | expression - expression | type type → int | double

申論題內容

1根據上面之文法,請畫出 int + int + int 兩個不同的剖析樹(parsing tree)。(10 分)

詳解 (共 1 筆)

詳解 提供者:hchungw
可以繪製兩個不同的剖析樹(parsing tree)來表示表達式 int + int + int。這個文法定義了表達式可以是兩個表達式通過 + 或 - 連接,或者是一個基本類型(int 或 double)。
剖析樹 1
在這個剖析樹中,我們首先將第一個和第二個 int 進行相加,然後將結果與第三個 int 相加:
sql
複製程式碼
         expression
             |
       --------------
      |              |
 expression        int
      |
   --------
  |        |
int     expression
          |
         int
這個剖析樹表達了表達式 ((int + int) + int) 的計算順序。
剖析樹 2
在這個剖析樹中,我們首先將第二個和第三個 int 進行相加,然後將第一個 int 與這個結果相加:
sql
複製程式碼
         expression
             |
       --------------
      |              |
    int        expression
                 |
            ---------
           |         |
      expression   int
           |
          int
這個剖析樹表達了表達式 (int + (int + int)) 的計算順序。
這兩個剖析樹展示了不同的運算順序,反映了文法中表達式結構的選擇性和靈活性。