Red de conocimiento informático - Espacio del host - Quiero desarrollar un lenguaje de programación. Los algoritmos ya no son un problema. ¿La clave es cómo compilar mi lenguaje en un archivo EXE?

Quiero desarrollar un lenguaje de programación. Los algoritmos ya no son un problema. ¿La clave es cómo compilar mi lenguaje en un archivo EXE?

1. En realidad, este proceso es bastante complicado. Muchos lenguajes de alto nivel no compilan directamente el programa fuente en código de máquina, sino que utilizan el lenguaje ensamblador como lenguaje de destino, es decir, el código fuente se traduce a un código ensamblador equivalente y luego se utiliza el compilador de lenguaje ensamblador existente para Compile el código intermedio en un archivo de formato PE. No es necesario reescribir el compilador en lenguaje ensamblador, por lo que se ahorra mucho trabajo.

2. Incluso si se traduce a código ensamblador, todavía hay muchos problemas. Una es que el lenguaje ensamblador depende en gran medida del hardware y la plataforma, por lo que es necesario traducir diferentes códigos ensambladores en diferentes plataformas de acuerdo con los diferentes requisitos; la otra es la resolución de problemas del compilador; Un compilador que pueda enfrentar diversas situaciones y ejecutarse sin errores es un milagro en sí mismo; el tercero es la optimización del programa. Un buen compilador debe optimizar el código generado. De lo contrario, el programa compilado no solo será muy grande, sino que también se ejecutará de manera eficiente. cuarto, no importa dónde se utilice un lenguaje de programación, se debe proporcionar a los usuarios un entorno de depuración amigable, y este tipo de compilación también es muy complicado.

3. La situación real es mucho más complicada de lo que dije. Por lo tanto, no mucha gente sabe cómo jugar con compiladores, y los compiladores comerciales son aún más raros.