Text this: Generación de código intermedio usando semántica funtorial