Module tfm::pl::cst

source ·
Expand description

Concrete syntax tree for property list files

The CST, or parse tree, of a property list file mostly just represents the nesting of parenthesis. The AST is the most useful representation.

Rough form of the production rules, where * means 0 or more, + means at least 1, ? means optional:

  • <property list> -> <list element>*
  • <list element> -> <open parenthesis><word>(<whitespace>+<word>)*<property list><closed parentheses>
  • <word> -> ASCII string without whitespace or parentheses. Can be empty.
  • <whitespace> -> <space><whitespace>? | <newline><whitespace>?
  • <open parenthesis> -> '('<whitespace>?
  • <closed parenthesis> -> ')'<whitespace>?

Structs

  • Concrete syntax tree for property list files
  • Value of a regular node in the CST.

Enums

  • Node in the CST.