2.3 Esquema de Generación Código Intermedio
2.3 Esquema de Generación Código Intermedio
2.3 Esquema de Generación Código Intermedio
• Instrucción if-then-else
• La sintaxis de la instrucción if-then-
else en el lenguaje fuente es:
• InstIfElse -> if Condición then
Instrucción1 else Instrucción2
• La estructura del código generado es
• Instrucción switch-case
• La sintaxis de la instrucción switch-case en el
lenguaje fuente es:
• InstSwitch -> switch lparen Expresión
rparen BloqueSwitch
• BloqueSwitch -> lbrace ( SentenciaCase
)* [ SentenciaDefault ] rbrace
• SentenciaCase -> case Valor colon
( Instrucción )*
• SentenciaDefault -> default colon
( Instrucción )*
• Instrucción while
• La sintaxis de la instrucción while
en el lenguaje fuente es:
• InstWhile -> while Condición do
Instrucción
• Instrucción do-while
• La sintaxis de la instrucción de
do-while en el lenguaje fuente es:
• InstDoWhile -> do Instrucción while
Condición
• Instrucción for
• La sintaxis de la instrucción for en el
lenguaje fuente es:
• InstFor -> for lparen Instrucción1 semicolon
Condición semicolon
Instrucción2 rparen Instrucción3
• Instrucción break
• Representa un salto incondicional (goto) hacia la etiqueta
final de una instrucción switch, while, do-while o for.
• Requiere una pila de etiquetas, de manera que al entrar
en una de estas instrucciones, se almacena la etiqueta
final en la pila. Al salir de las instrucciones se desapila la
etiqueta.
• Instrucción continue
• Representa un salto incondicional (goto) hacia la etiqueta
inicial de una instrucción while, do-while o for.
• Requiere una pila de etiquetas, de manera que al entrar
en una de estas instrucciones, se almacena la etiqueta
inicial en la pila. Al salir de las instrucciones se desapila la
etiqueta.