Assembler which takes language definitions as input