词法¶
Lumos 认可的空白字符只有 \x20(空格),\x09(制表符), \x0A(换行符)。
其它任何字符均不会被认为是空白字符。
对于运算符,我们的处理方法非常简单:
- 以下字符被允许作为运算符的一部分:
! @ # $ % ^ & * - + = | \ : ; < > , . ? / ~; - 永远取最长的匹配。
也就是说,如果遇到这样的内容 a+-b,它会被解析为 +- 运算符,而不是 + 运算符后跟 - 运算符。
此时如果未定义 +- 运算符,则会报错。
如果我们定义一个运算:
// 我们用 `\mul` 来表示 `*` 运算符
// `\mul_mul` 也就是 `**` 运算符
def \mul_mul(int a, int b) -> int {
return pow(a, b);
}