23 lines
700 B
Markdown
23 lines
700 B
Markdown
The definition of `Atom` is as given in the Preserves text syntax.
|
|
|
|
```text
|
|
Document := Expr* sp
|
|
Expr := sp (Atom | Compound | Punct | Embedded | Annotated)
|
|
Compound := Sequence | Record | Block | Group | Set
|
|
Punct := `,` | `;` | `:`+
|
|
|
|
sp := (space | tab | cr | lf)*
|
|
|
|
Sequence := `[` Expr* Trailer sp `]`
|
|
Record := `<` Expr* Trailer sp `>`
|
|
Block := `{` Expr* Trailer sp `}`
|
|
Group := `(` Expr* Trailer sp `)`
|
|
Set := `#{` Expr* Trailer sp `}`
|
|
|
|
Trailer := Annotation*
|
|
|
|
Embedded := `#!` Expr
|
|
Annotated := Annotation Expr
|
|
Annotation := `@` Expr | `#` ((space | tab) linecomment) (cr | lf)
|
|
```
|