Implementação do Loop Statement
Closed this issue · 0 comments
rbonifacio commented
A linguagem Oberon suporta um comando de repetição chamado "Loop". Conforme a especificação, temos que:
9.9 Loop statements
A loop statement specifies the repeated execution of a statement sequence.
It is terminated upon execution of an exit statement within that sequence (see 9.10).
LoopStatement = LOOP StatementSequence END.
Example:
LOOP
ReadInt(i);
IF i < 0 THEN EXIT END;
WriteInt(i)
END
Loop statements are useful to express repetitions with several exit points or cases
where the exit condition is in the middle of the repeated statement sequence.
Para essa implementação, temos que definir tanto o statement LOOP quanto o statement EXIT. Isso impacta os seguintes módulos.
- Parser
- Interpretador
- Verificador de tipos
- Tradutor para a linguagem C (opcional)
- Grafo de fluxo de controle (opcional)