Skip to content
- expr是什么
可以认为expr 是一个表达式, 最后会得到一个值, 表达式 可能是
- unop 的 比如 -a、not a 、 #a
- simpleexp 比如 123 、”123″, nil, true, false, …, a()
- binop 比如 1+2, 1 and 1, 1 < 2
- exprstat 分为
- primaryexp 分为
- prefixexp 分为
- primaryexp 在处理完prefixexp之后,他的前面可能是一个变量名,也可能是一个被()包起来的表达式,那么接下去可能遇到的是
- . 函数名. 取值
- .之后 又是一个名称 类似 a.b 或者 a:b()
- [ 认为是table要取内容
- : 函数名: 认为接下去是函数
- ( 、字符串 、{ 函数的参数
- assignment 分为
- , 则又是一个 primaryexp
- = 则是一个 explist1
- explist1
- expr
- unop
- simpleexp
- 数字
- 字符串
- nil
- true
- false
- …
- {
- 函数体
- primaryexp
- binop
- 有’+’ | ‘-‘ | ‘*’ | ‘/’ | ‘%’ | ‘^’ | ‘&’ | ‘|’ | ‘~’ | ‘<<‘ | ‘>>’ | ‘..’ | ‘>’ | ‘<‘ | ‘=’ | ‘>=’ | ‘<=’ | ‘‘ | ‘~=’ | and | or