The definitions of `Atom`, `ws`, and `linecomment` are as given in the Preserves text syntax.
{:.postcard-grammar.textsyntax}
| *Document* | := | *Expr*⋆ *Trailer* **ws**
| *Expr* | := | **ws** (*SimpleExpr* | *Punct*)
| *SimpleExpr* | := | *Compound* | *Embedded* | *Annotated* | *Atom*
| *Compound* | := | *Sequence* | *Record* | *Block* | *Group* | *Set*
| *Punct* | := | `,` | `;` | `:`+
{:.postcard-grammar.textsyntax}
| *Sequence* | := | `[` *Expr*⋆ *Trailer* **ws** `]`
| *Record* | := | `<` *Expr*⋆ *Trailer* **ws** `>`
| *Block* | := | `{` *Expr*⋆ *Trailer* **ws** `}`
| *Group* | := | `(` *Expr*⋆ *Trailer* **ws** `)`
| *Set* | := | `#{` *Expr*⋆ *Trailer* **ws** `}`
{:.postcard-grammar.textsyntax}
| *Trailer* | := | (**ws** *Annotation*)⋆
{:.postcard-grammar.textsyntax}
| *Embedded* | := | `#!` *SimpleExpr*
| *Annotated* | := | *Annotation* *SimpleExpr*
| *Annotation* | := | `@` *SimpleExpr* | `#` ((**space** | **tab**) *linecomment*) (**cr** | **lf**)