fix some specs
This commit is contained in:
27
README.md
27
README.md
@@ -8,11 +8,13 @@
|
|||||||
* RCURLY `}`
|
* RCURLY `}`
|
||||||
* LPAREN `(`
|
* LPAREN `(`
|
||||||
* RPAREN `)`
|
* RPAREN `)`
|
||||||
* ID `[all]`
|
* ID `[any]`
|
||||||
* SEMI `;`
|
* SEMI `;`
|
||||||
* COMMA `,`
|
* COMMA `,`
|
||||||
* ARROW `->`
|
* ARROW `->`
|
||||||
* STAR `*`
|
* STAR `*`
|
||||||
|
* ANDREF `&`
|
||||||
|
* DOLLAR `$`
|
||||||
* COMMENT `#`
|
* COMMENT `#`
|
||||||
* NUM `[0-9]*(.[0-9]+)?`
|
* NUM `[0-9]*(.[0-9]+)?`
|
||||||
* RETURN `return`
|
* RETURN `return`
|
||||||
@@ -23,8 +25,25 @@
|
|||||||
## Syntax Spec
|
## Syntax Spec
|
||||||
|
|
||||||
```
|
```
|
||||||
decl := val typespec id stmt ;
|
program := defn*
|
||||||
typespec := id | [id* -> id?]
|
defn := VAL type ID ;
|
||||||
stmt :=
|
| VAL type ID expr ;
|
||||||
|
|
||||||
|
expr := atom atom* ;
|
||||||
|
|
||||||
|
atom := ID
|
||||||
|
| NUM
|
||||||
|
| STR
|
||||||
|
| lambda
|
||||||
|
| compound
|
||||||
|
| reference
|
||||||
|
| dereference
|
||||||
|
|
||||||
|
stmt := defn
|
||||||
|
| expr
|
||||||
|
|
||||||
|
|
||||||
|
stmt := defn | st
|
||||||
|
|
||||||
|
|
||||||
```
|
```
|
||||||
Reference in New Issue
Block a user