Grammar#

The Meson language is defined by the following token types and production rules.

Table 9 Meson token types#

Token type

Matches (case-insensitive except for name tokens)

inf

so|then|therefore|hence|thus|get|infer|find|implies|whence|whereupon

sup

by|since|using|because|for

flow

now|next|claim

roam

but|meanwhile|note|have|from|observe|consider

conj

and|plus

modal

suppose|let

how

applying

name

[A-Za-z?!]([A-Za-z0-9_.]*[A-Za-z0-9_])?

(skip)

[,;.]|\s+

Listing 17 Meson production rules#
MesonScript ::= roam? initialSentence sentence*
initialSentence ::= assertion | supposition
sentence ::= conclusion | (roam|flow)? initialSentence
conclusion ::= inf assertion method?
assertion ::= nodes reason*
reason ::= sup nodes
method ::= how nodes
supposition ::= modal nodes
nodes ::= name (conj name)*