# OSMORA C Compiler ## Optimizations The OSMORA C Compiler uses several optimizations to speed up the compilation process. Firstly, the lexer only scans one token at a time, because creating a list of tokens would waste memory and take more time, even though the parser will usually only need to access one token at any given time. Additionally, the lexer uses a hashmap to locate a keyword structure from its string form. Likewise, the parser also uses a hashmap to store all the symbols whose declarations it has parsed.