|
@@ -50,11 +50,11 @@ output(sqrt(2), square(sqrt(2)))
|
|
|
本节引入了不可变变量和函数声明, 那个新的词法定义如下:
|
|
|
|
|
|
```
|
|
|
-语句 ::= 函数定义 | 表达式 # 新增了统筹的语句
|
|
|
-函数定义 ::= 函数 "=" 表达式 # 新增了函数定义
|
|
|
+语句 ::= 函数定义 | 表达式 # 新增了统筹的语句
|
|
|
+函数定义 ::= 函数 "=" 表达式 # 新增了函数定义
|
|
|
表达式 ::= 加后表达式 (("+" | "-") 加后表达式)*
|
|
|
加后表达式 ::= 因子 (("*" | "/") 因子)*
|
|
|
-因子 ::= 左括号 表达式 右括号 | 函数 | 数字 | 标识符 # 之前的语法中最简因子只能是数字, 现在可以是标识符了
|
|
|
+因子 ::= 左括号 表达式 右括号 | 函数 | 数字 | 标识符 # 之前的语法中最简因子只能是数字, 现在可以是标识符了
|
|
|
函数 ::= 标识符 左括号 (表达式 (逗号 表达式)*){0,1} 右括号
|
|
|
```
|
|
|
|