Cómo realizar la enseñanza de lenguajes de programación avanzados
Cada idioma tiene su propia sintaxis fija, y el trabajo del compilador de un determinado idioma en una determinada máquina es analizar el programa ingresado por el usuario (y encontrar errores, si los hay), y luego traducirlo al código de instrucción de esa máquina.
En otras palabras, cuando se ejecuta un programa escrito en un lenguaje de alto nivel, lo que se ejecuta no es el "código" escrito por el usuario, sino el código de instrucción binaria ensamblador traducido por el compilador. Este código de instrucción varía de una máquina a otra y requiere el uso de diferentes compiladores (o la versión XX del compilador XX).
Por ejemplo, "int a = 0;" en lenguaje C.
Al compilar en esta línea, el compilador encontró que "int" era para definir una nueva variable. Después de mirarla más tarde, encontró que el nombre era "a". Luego busque en la tabla de variables definidas para ver si hay nombres duplicados. Si es así, se informará un error. En el caso correcto, el compilador agrega el tamaño de un valor int al espacio de datos del programa (el tamaño de int puede variar de una máquina a otra), agrega un registro de "A" en la tabla de variables y registra el aumento La dirección del espacio. Luego lo miré más tarde y descubrí que el valor inicial era 0, así que llené el espacio en blanco con 0. Luego, el compilador encuentra un punto y coma, que indica el final de una declaración, y continúa con la siguiente declaración.
Nota: Para que sea más fácil de entender, la descripción anterior no distingue entre varias partes del proceso de compilación, como preprocesador, compilador (diferente a lo que acabo de decir), ensamblador, enlazador, etc. , pero utilizando "compilador" como término general. Además, se omite la introducción de procesos de compilación específicos, como archivos de destino, y solo se proporciona un concepto general. Consulte Baidu para obtener una introducción detallada de cada parte.
Estudiantes de arriba, estáis copiando, ¿verdad? Esto no viene al caso.