If
Publicado por alejandro (2 intervenciones) el 05/10/2002 19:21:47
necesito hacer un compilador pero me falta la parte del if y else el if solo es para condiciones secillas. las instrucciones se ingresan en un memo
Valora esta pregunta


0
procedure CompilarCodigo(Codigo: string);
var
Token: string;
MemoTokens: TMemo; // Suponiendo que tienes un memo para mostrar los tokens
begin
// Analizador léxico
// ...
// Analizador sintáctico
// ...
// Generación de código intermedio
while not FinDelCodigo do
begin
Token := ObtenerSiguienteToken;
// Manejo de instrucciones IF y ELSE
if Token = 'if' then
begin
// Obtener condición
// Generar código intermedio para la condición
// ...
// Instrucciones dentro del IF
// ...
if Token = 'else' then
begin
// Generar código intermedio para el salto al final del IF
// ...
// Instrucciones dentro del ELSE
// ...
// Generar código intermedio para el final del IF
// ...
end;
// Generar código intermedio para el final del IF si no hay ELSE
// ...
end;
// Otras instrucciones
// ...
end;
// Optimización y generación de código final
// ...
end;