Skip to content

Commit d57ffbe

Browse files
committed
完善零.二版設計
1 parent 8644fa9 commit d57ffbe

File tree

1 file changed

+25
-6
lines changed

1 file changed

+25
-6
lines changed

book/零.二版/設計與概述.md

Lines changed: 25 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -41,11 +41,13 @@
4141

4242
零.二版新增「若」語句,以及「術」的定義與施展(調用),並支援「外術」(外部函式),以實現標準輸入輸出。
4343

44-
此外,為輔助「若」語句的使用,亦加入相等、不等、小於......等等比較算子。
44+
為輔助「若」語句的使用,亦加入相等、不等、小於......等等比較算子。
4545

46-
### 新增算子
46+
檔案的頂層僅允許變數宣告與術宣告,編譯時應可指定第一個要施展的術的名字,若無指定,便先行施展``術。
4747

48-
#### 比較運算
48+
## 新增算子
49+
50+
### 比較運算
4951
- `==`
5052
- 等於
5153
- `!=`
@@ -61,11 +63,11 @@
6163

6264
以上算子的求值結果皆為整數,若式子成立,值為1,否則值為0。運算優先級彼此相等,但比加減乘除都還要低。
6365

64-
#### 餘數
66+
### 餘數
6567

6668
`` 取餘數。優先級介於乘除與加減間。
6769

68-
### 「若」語句
70+
## 「若」語句
6971

7072
```音界
7173
若(甲==乙)【
@@ -95,7 +97,7 @@
9597

9698
此結構中,唯有當上一層的條件不符合時,才會嘗試下個括號內的條件並執行基括號內的語句。例如,以上法咒唯有在「甲<=10」時才會去檢查「乙==1」,當所有條件都不成立時,就執行`不然`基括號內的語句。
9799

98-
###
100+
##
99101

100102
```
101103
術.輾轉相除(甲、乙)【
@@ -118,3 +120,20 @@
118120
5. ``:右基括號,術體結束
119121

120122
在零.二版中,術的參數與歸值(回傳值)都是整數。若在任意分支中,術沒有歸值,編譯器應報錯。
123+
124+
## 作用域
125+
術在定義之後才能使用,也就是說,不支援術的互相調用。
126+
127+
以下法咒是非法的。
128+
```音界
129+
術.甲()【 】
130+
術.乙()【甲()】
131+
```
132+
133+
## 外術(外部函式)
134+
135+
支援 `打印整數(數)` 此一外術,其接受一個整數作為參數,執行後會將該整數送進標準輸出。
136+
137+
## 法咒執行流程
138+
139+
編譯時應可指定第一個要施展的術的名字,若無指定,便先行施展``術。若檔案中無``術,執行最後一個宣告的``。若一個術都沒定義,編譯後的執行檔將直接結束。

0 commit comments

Comments
 (0)