Mycomarkup is a formal markup language we are defining here.
Mycomarkup document or simply document is a document written in Mycomarkup. Documents are encoded in UTF-8 and nothing else. Any UTF-8 sequence is a valid document.
Parser is a program that turns Mycomarkup into an AST.
AST, short for Abstract Syntax Tree, is an abstract tree representation of a Mycomarkup document.
Rendering is the process of parsing an AST into a representation that can be displayed to a user. For example, PDF, HTML or even PNG.
Character is a Unicode codepoint that is not a control character, except for space, horizontal tab and line feed characters. When parsing, parsers shall only operate on Mycomarkup characters and ignore the rest.
LWS, short for Linear Whitespace, is a sequence of linear whitespace characters, id est space and tab.
Block is the structural unit of Mycomarkup. Documents are composed of blocks. There are two types of blocks:
Nesting block is a block that can contain other blocks inside. The number and types of blocks a nesting block can nest might be limited, depending on the block.
Non-nesting block is a block that cannot contain other blocks inside.
Container is a block that contains the given block we are discussing.
Writer is an agent writing a Mycomarkup document.
More definitions will be introduced when defining blocks.