Descrição
Implementar --dump-ir como flag de linha de comando que ativa a impressão da IR em cada etapa do pipeline.
Saída esperada
=== TAC (antes das otimizações) ===
function main:
t0 = 3 * 4
t1 = 2 + t0
return t1
=== CFG ===
block 0 (entry):
succs: [1]
t0 = 3 * 4
t1 = 2 + t0
return t1
=== TAC (após otimizações) ===
function main:
t1 = 14
return t1
Tarefas
Testes
#[test]
fn tac_program_display_is_valid_text() {
// o Display não deve entrar em pânico para nenhum programa válido
}
#[test]
fn optimized_tac_has_fewer_instrs_than_original() { … }
Descrição
Implementar
--dump-ircomo flag de linha de comando que ativa a impressão da IR em cada etapa do pipeline.Saída esperada
Tarefas
Displaycompleto paraTacProgrameTacFunctionDisplayparaCfgmostrando blocos, succs/preds e instruções--dump-irno CLI (src/main.rs)--dump-ir-optimizedpara mostrar após otimizações--dump-cfgpara mostrar o CFG em formato de lista de arestasTestes