基本的部分叫规则:Specification, 描述一门语言的规则有很多,这些规则会组成一个表,在匹配的时候,用于查询。
用于描述匹配数量的 Rept 是前置的,因为这更容易解析:
```
+rule
*rule
?rule
```
匹配字符串和匹配字符是一样的语法,只是长度为 1,是字符:
```
:( \w+ :)
:=> token
```
规则名称隐含了生成语法树的规则:
@ 开始的规则,不会对捕获的数据进行命名,只是传递到下一级函数捕获中:
_ 下划线开始的规则,会被忽略掉。
大小写的规则名称,都会进行命名,如果捕获的是 atom, 不会转换成长度为 1 的 atoms.