[Refactoring] Separate the AST, semantic analyser and compiler in different directories.
[Refactoring] Break error lines into multi-line string.
[Refactoring|BugFix] Use function as library for atom parsing ( and literal). Fix bug in character class, cooks (unescape characters — notably unicode one's) the string before using it.
[Attribute] Add the #![print_generated] attribute. It prints the generated code. It closes #19.
[Attribute] Allow dead code and non snake case name in the generated code.
[Test] Start a full grammar for testing purpose.