Title | Representación de codigo intermedio |
---|---|
Course | Lenguajes Y Autómatas II |
Institution | Instituto Tecnológico de Tijuana |
Pages | 3 |
File Size | 94 KB |
File Type | |
Total Downloads | 50 |
Total Views | 199 |
resumen representacion de codigo intermedio ...
Instituto Tecnologico de Tijuana Ingeniería en Sistemas Computacionales Materia Lenguajes y automatas II
Profesor: Luis Alfonso
Alumno Alberto
Fecha 01/10/2020
Desarrollo Representación de código intermedio Notación polaca La notación polaca es la originada por un Autómata con pila, en la que los operadores siempre preceden a los operandos sobre los que actúan, y que tiene la ventaja de no necesitar paréntesis: ● Se utiliza principalmente para la representación de expresiones aritméticas. ● Expresión a notación polaca inversa. Algoritmo ● Representa la expresión en forma de árbol sintáctico. ● Recorrer el árbol en postorden
Ventajas y desventajas de la notación polaca ● Generación de código: simple, no utiliza registros. ● Optimización: es difícil de reordenar ya que hay que considerar el contenido de la pila. ● Interpretación rápida: es muy fácil de interpretar ya que solo necesita una pila. ● Transportable: si, ya que todos los procesadores implementan una pila
Código p El código P hace referencia a máquinas que utilizan o se auxilian de pilas para generar código objeto. En muchos caso la P se asociado a código portable el cual garantiza que el código compilado en una máquina se pueda ejecutar en otras Para garantizar la portabilidad del código se necesita que el lenguaje esté estandarizado por algún instituto y que dicho código no tenga extensiones particulares. También se recomienda la no utilización de características especiales exclusivas de alguna arquitectura de computadoras en particular.
Triplos Las proposiciones de tres direcciones se parecen mucho al ensamblador, el cual es un lenguaje intermedio más entendible para la máquina. Las estructuras de control (if, switch, while, do-while, for) son realmente etiquetas goto disfrazadas. Generalmente el código que generan los triples recibe el nombre de código de dos direcciones, aunque en ocasiones puede variar. Cuando se utilizan triples se ocupan punteros a la misma estructura de los triples * b t1 t2 //cuádruplos * b (0) //triple Se debe tener en cuenta el proceso de asignación, de declaración, expresiones booleanas. Las expresiones lógicas también pueden pasarse a código de tres direcciones, utilizando para ello expresiones en corto circuito. La notación de tres direcciones es una forma abstracta de código intermedio. Esta notación se puede implementar como registros con campos para el operador y operadores....