Contains everything relevant for the backus naur form, such as the creation of it
and the tokenization aswell as possible compilation after the tokenization.
This module contains the necessary functions to symbolize strings (turn a string into a AST that consists of non terminal symbols).
and the necessary functions to compile those symbolized strings (turn a AST into another string).