hlx 1.2.5

Configuration language designed specifically for ml/ai/data systems
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
// ------------------------------------------------
// The tiny language used in the ulator DSL
// ------------------------------------------------

WHITESPACE = _{ " " | "\t" | "\r" | "\n" }

program         = { reproducibility }
reproducibility = { "reproducibility" ~ "{" ~ statement* ~ "}" }

statement     = { identifier ~ "=" ~ expr }
expr          = { term ~ (("+" | "-") ~ term)* }
term          = { factor ~ (("x" | "*") ~ factor)* }
factor        = _{ reference | signed_number | identifier | "(" ~ expr ~ ")" }

reference     = { "@" ~ identifier ~ ("#" ~ number)? }
identifier    = @{ ASCII_ALPHANUMERIC+ }
signed_number = { ("-")? ~ number }
number        = @{ (ASCII_DIGIT | "_")+ }