Notation

Note: This document is a living document and may not represent the current implementation of Flux.

The syntax of the language is specified using Extended Backus-Naur Form (EBNF):

Production  = production_name "=" [ Expression ] "." .
Expression  = Alternative { "|" Alternative } .
Alternative = Term { Term } .
Term        = production_name | token [ "…" token ] | Group | Option | Repetition .
Group       = "(" Expression ")" .
Option      = "[" Expression "]" .
Repetition  = "{" Expression "}" .

A production is an expression constructed from terms and the following operators, in increasing precedence:

|   alternation
()  grouping
[]  option (0 or 1 times)
{}  repetition (0 to n times)

Lowercase production names are used to identify lexical tokens. Non-terminals are in camel case. Lexical tokens are enclosed in double quotes ("") or back quotes (``).

This documentation is open source. See a typo? Please, open an issue.


Need help getting up and running? Get Support