Refactored grammar, parser and interpreter into separate namespaces / files.