Aproximadamente.
Debe escribir un analizador, que analiza el texto de entrada en árboles.
Construye una tabla de símbolos y establece de qué tipo es cada símbolo.
Verifica su árbol para asegurarse de que cada una de sus expresiones y asignaciones sean del tipo correcto.
Luego está la generación de código.
Atraviesas tu árbol. Y para cada tipo de entidad, escupe código de bajo nivel que hace lo correcto.
Entonces, una declaración de asignación podría convertirse en un código que evalúa una expresión a la derecha del signo igual, luego copia el resultado en un símbolo, porque ahora cada símbolo podría ser una dirección de memoria real.
- Cómo reconocer un código incorrecto y cómo evitarlo
- ¿Cuáles son las ventajas de una arquitectura basada en encuestas sobre una arquitectura basada en eventos?
- ¿Qué costos adicionales además del costo del software deben considerarse al seleccionar el software ERP?
- ¿Es 'no hay documentación mínima' un mito en Scrum? ¿Realmente podemos entregar proyectos sin una cantidad suficiente de documentación para auditorías y referencias futuras?
- Si alguna vez creó un banco en línea, ¿qué necesita hacer diferente en comparación con un sitio web comercial simple?
La forma moderna de hacer esto es como LLVM. (o en realidad usa LLVM)
Primero diseñas una especie de lenguaje ensamblador idealizado. Lo que facilita la fase de generación de código. Generas código para esa máquina.
Y entonces…
Luego traduce de este código idealizado a su arquitectura de destino.
Luego empaquete el código objeto en un ejecutable.
Hay libros sobre estas cosas. ¡Cuál deberías leer!