Core PDML Railroad Diagrams
The following railroad diagrams illustrate PDML's grammar.
Only Core PDML is covered. Optional extensions like attributes, namespaces etc. are not included.
The railroad diagrams are not a specification. They are just an auxiliary asset to contextualize the official specification.
The grammar is also illustrated as EBNF.
Notes:
- Rectangles (e.g.
) represent non-terminal elements. You can click on them to go to their definition.
- Rounded rectangles (e.g.
) represent characters to type.
- Thanks to Tab Atkins for his excellent Railroad-diagram Generator, used to generate these diagrams.
PDML Document
Branch Node
Non-empty Node
Examples:
[color orange] [config [color orange]] [div A [i [b nice]] dog]
Empty Node
Example:
[line_break]
Name
Examples:
height Index_12-a.2 _ 👆👆 品質 Net\sWeight
Name Character
Examples:
a Z é 品 9 _ 👆 \=
Separator
Child Node
Examples:
[b [i huge]] All is well!
Leaf Node
Examples:
Bob 3.14 We want simplicity. ขอให้คุณโชคดี root\\config\["port"\]
Text Character
Examples:
a Z é ก 9 _ 😀 \[ \n