Skip to content

Commit

Permalink
再遇剖析:優先級特殊處理
Browse files Browse the repository at this point in the history
  • Loading branch information
MROS committed Oct 11, 2024
1 parent 4581405 commit 1e2c6b7
Show file tree
Hide file tree
Showing 2 changed files with 47 additions and 3 deletions.
6 changes: 3 additions & 3 deletions book/零.一版/剖析(語法分析).md
Original file line number Diff line number Diff line change
Expand Up @@ -231,9 +231,9 @@
算式 = 乘除式・重複乘除式
重複乘除式 = +・重複乘除式
| −・重複乘除式
| e
重複乘除式 = +・乘除式・重複乘除式
| −・乘除式・重複乘除式
| e
乘除式 = 原子式・重複原子式
Expand Down
44 changes: 44 additions & 0 deletions book/零.二版/再遇剖析.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
零・二版新增了「若」、「術」兩語句,並增加了比較、餘數運算子。

## 運算子優先級語法定義

零・一版的算式語法如下:

```語法
算式 = 乘除式・(+・乘除式)*
| 乘除式・(-・乘除式)*
乘除式 = 原子式・(*・原子式)*
| 原子式・(/・原子式)*
原子式 = 數字
| 變數
| "("・算式・")"
```

為了區分**乘除****加減**以及括號的優先級,吾人生造了**乘除式****原子式**以讓剖析器自動以正確層級構造算式。

新增的比較、餘數運算子也可依照此法,再切分出更多運算子的語法:

```語法
算式 = 加減式・(==・加減式)*
| 加減式・(!=・加減式)*
| 加減式・(>=・加減式)*
| 加減式・(>・加減式)*
| 加減式・(<=・加減式)*
| 加減式・(<・加減式)*
加減式 = 餘數式・(+・餘數式)*
餘數式 = 乘除式・(%・乘除式)*
乘除式 = 原子式・(*・原子式)*
| 原子式・(/・原子式)*
原子式 = 數字
| 變數
| "("・算式・")"
```

### 特殊處理運算子優先級

0 comments on commit 1e2c6b7

Please sign in to comment.