Making a Lexer, Parser, Type-Inference Checker, and JIT Compiler using LLVM