Notation

Warning! This page documents an earlier version of Flux, which is no longer actively developed. Flux v0.24 is the most recent stable version of Flux.

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 (``).