Fool compiler developed in Java/Antlr4: lexical and syntactical analysis, type checking, code generation. Visitor pattern is adopted.