[go: up one dir, main page]

piston_meta 0.9.3

A DSL parsing library for human readable text documents
Documentation
opt: "optional"
inv: "inverted"
prop: "property"
any: "any_characters"
seps: "[]{}():.!?\""
1 "string" [..seps!"name" ":" w? t?"text"]
2 "node" [$"id" w! t!"name" w! @"rule""rule"]
3 "set" {t!"value" ..seps!"ref"}
4 "set_opt" {t?"value" ..seps!"ref"}
5 "opt" {"?"opt "!"!opt}
6 "number" ["$" ?"_""underscore" ?@"set"prop]
7 "text" ["t" {"?""allow_empty" "!"!"allow_empty"} ?@"set"prop]
8 "reference" ["@" t!"name" ?@"set"prop]
9 "sequence" ["[" w? s!.(w!) {@"rule""rule"} "]"]
10 "select" ["{" w? s!.(w!) {@"rule""rule"} "}"]
11 "separated_by" ["s" @"opt" ?".""allow_trail"
  "(" w? @"rule""by" w? ")" w? "{" w? @"rule""rule" w? "}"]
12 "token" [?"!""not" @"set""text" ?[?"!"inv @"set"prop]]
13 "optional" ["?" @"rule""rule"]
14 "whitespace" ["w" @"opt"]
15 "until_any_or_whitespace" [".." @"set_opt"any @"opt" ?@"set"prop]
16 "until_any" ["..." @"set_opt"any @"opt" ?@"set"prop]
17 "repeat" ["r" @"opt" "(" @"rule""rule" ")"]
18 "lines" ["l(" w? @"rule""rule" w? ")"]
19 "rule" {
  @"whitespace""whitespace"
  @"until_any_or_whitespace""until_any_or_whitespace"
  @"until_any""until_any"
  @"lines""lines"
  @"repeat""repeat"
  @"number""number"
  @"text""text"
  @"reference""reference"
  @"sequence""sequence"
  @"select""select"
  @"separated_by""separated_by"
  @"token""token"
  @"optional""optional"
}
20 "document" [l(@"string""string") l(@"node""node") w?]