Skip to content

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)