Un intérprete típicamente consta de cinco módulos: (1) un traductor a una representación interna del código fuente, (2) la representación interna misma, como un árbol sintáctico, (3) una tabla de símbolos que almacena información sobre los símbolos del código, (4) un evaluador que ejecuta la representación interna para obtener resultados, y (5) manejo de errores que puede ocurrir durante la evaluación.