| Home | Libraries | People | FAQ | More

##### Generator Operators

See here for more information about Generator Operators.

Expression | Attribute | Description
--- | --- | ---
`!a` | `A` | Not predicate. Ensure that `a` does not succeed generating, but don't create any output
`&a` | `A` | And predicate. Ensure that `a` does succeed generating, but don't create any output
`-a` | `optional<A>` | Optional. Generate `a` zero or one time
`*a` | `vector<A>` | Kleene. Generate `a` zero or more times
`+a` | `vector<A>` | Plus. Generate `a` one or more times
`a | b` | `variant<A, B>` | Alternative. Generate `a` or `b`
`a << b` | `tuple<A, B>` | Sequence. Generate `a` followed by `b`
`a % b` | `vector<A>` | List. Generate `a` delimited `b` one or more times

> For more information about the attribute propagation rules implemented by the compound generators please see Generator Compound Attribute Rules.