need a grammar engine for the assembler