Canada is an ADA to ASM ARM32 UAL compiler written in Java. It translates a subset of the ADA programming language into ARM32 assembly code using the UAL (Unified Assembly Language) syntax. It uses no external libraries and is built using only the Java standard library. It does include a custom lexer, parser, semantic analyzer, and code generator.