Definition
<program> ::= <block>+ <new-line>
<new-line> ::= "\n"
<block> ::= <cell>+
<cell> ::= "[" <content> "]"
<content> ::= <function> "=" <target>
<function> ::= <text> | <text>:<address>
<address> ::= <text>
<target> ::= <value> | <text>
<value> ::= <text> | <decimal> | <integer>
<decimal> ::= <integer> "." <integer>
<integer> ::= <digit>+
<digit> ::= "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9"
<text> ::= <characters>+
<character> ::= 'A' ... 'Z' | '_'<program>: A program consists of one or more blocks.<block>: A block is a collection of one or more cells.<cell>: A cell is the basic unit of a program. Each cell consists of content enclosed in square brackets […].<content>: The content of a cell is made up of a function and a target, separated by an equals sign =.<function>: The function specifies which action is performed in the cell. A function can either be text or text followed by a colon : and an address.<address>: The address is optional and is only used if the function requires it. It consists of text.<target>: The target specifies which element or data the function is applied to. The target can either be a value (value) or text.<value>: A value can be text, a decimal, or an integer.<decimal>: A decimal consists of an integer part and a decimal part, separated by a point .<integer>: An integer is a positive or negative whole number without decimal places.<text>: Text is a sequence of characters that can consist of letters (uppercase or lowercase).<characters>: The character stringrepresents a sequence of one or more characters. <character>: A single character can be an uppercase letter or an ‘_’.