Glossary
Several publicly available websites were consulted to create the final definitions you see here. Principal among them is Wikipedia.org.
Backus-Naur Form
In computer science, Backus–Naur form or Backus normal form (BNF) is a metasyntax notation for context-free grammars, often used to describe the syntax of languages used in computing, such as computer programming languages, document formats, instruction sets and communication protocols. They are applied wherever exact descriptions of languages are needed: for instance, in official language specifications, in manuals, and in textbooks on programming language theory.
Container
As used by this Railroad Diagram Generator, a Container is an Object that is used to hold the Leaves and display them according to the rules of the specified Container.
Example
In the Diagram Code Diagram(Optional(Terminal("a")))
, Terminal(...)
is a Leaf that is inside the Container Optional
.
Extended Backus-Naur Form
In computer science, extended Backus–Naur form (EBNF) is a family of metasyntax notations, any of which can be used to express a context-free grammar. EBNF is used to make a formal description of a formal language such as a computer programming language. They are extensions of the basic Backus–Naur form (BNF) metasyntax notation.
Leaf
As used by this Railroad Diagram Generator, a Leaf is an Object that holds the final displayed text.
Example
In the Diagram Code Diagram(Optional(Terminal("a")))
, Terminal(...)
is a Leaf that is inside the Container Optional
.
Object
As used by this Railroad Diagram Generator, an Object is the identifier used to describe how its Properties (children) will be presented.
Example
In the Diagram Code Diagram(Optional(Terminal("a")))
, Terminal("a")
is the Property of the Object Optional
, which in turn is the Property of the Object Diagram
.
Property
As used by this Railroad Diagram Generator, a Property is one of the pieces of data provided as input to an Object.
Example
In the Diagram Code Diagram(Optional(Terminal("a")))
, Terminal("a")
is the Property of the Object Optional
, which in turn is the Property of the Object Diagram
.
Railroad Diagram
Railroad diagrams (Syntax diagrams) are a visual way to represent a context-free grammar. They represent a graphical alternative to Backus–Naur form or to EBNF as metalanguages, and may be more readily understood by laypeople. (Full Wikipedia Article)