Skip to content

feat(examples): programa-demo para a apresentação final#171

Merged
HugoFreitass merged 2 commits into
developerfrom
feat/issue163-demo-program
Jun 24, 2026
Merged

feat(examples): programa-demo para a apresentação final#171
HugoFreitass merged 2 commits into
developerfrom
feat/issue163-demo-program

Conversation

@Bappoz

@Bappoz Bappoz commented Jun 24, 2026

Copy link
Copy Markdown
Owner

Resumo

  • Adiciona src/examples/demo_presentation.c: um programa curto (factorial recursivo + soma de quadrados de pares via while/if) que demonstra variáveis/expressões, funções e controle de fluxo — tudo dentro do subconjunto de C que o backend já suporta de forma estável.
  • struct, ponteiros e switch não foram usados no demo porque o lowering ainda não suporta atribuição via ponteiro/struct nem switch (ver também a nota equivalente no PR test(e2e): bateria de testes ponta a ponta para os casos centrais da linguagem #170).
  • Saída esperada documentada no cabeçalho do arquivo: exit code 80 (factorial(4) = 24 + sum_even_squares(6) = 56).
  • Adiciona smoke_presentation_demo_runs em tests/exe_smoke_test.rs, que compila e executa o exemplo de ponta a ponta via gcc e confere o exit code, garantindo que o demo continue funcionando conforme o pipeline evolui.

Closes #163

Test plan

  • cargo test --all passa
  • cargo clippy --all -- -D warnings sem avisos
  • cargo fmt --check sem diffs
  • Caso de uso para a apresentação: cargo run -- src/examples/demo_presentation.c -o demo && ./demo; echo $? deve imprimir 80

Adiciona src/examples/demo_presentation.c com um programa curto que
combina variaveis/expressoes, funcao recursiva (factorial) e controle
de fluxo (if/while), dentro do subconjunto estavel do backend atual
(sem struct/ponteiro/switch, ainda nao suportados no codegen).

Documenta a saida esperada (exit code 80) no cabecalho do arquivo e
adiciona um smoke test (smoke_presentation_demo_runs) que compila e
executa o exemplo de ponta a ponta via gcc, garantindo que ele
continue funcionando com o pipeline atual.

Resolve #163
@Bappoz Bappoz self-assigned this Jun 24, 2026
@Bappoz Bappoz requested a review from guxvr June 24, 2026 05:12
@Bappoz Bappoz added the test label Jun 24, 2026
@HugoFreitass HugoFreitass self-requested a review June 24, 2026 21:00

@HugoFreitass HugoFreitass left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Revisado, tudo certo!

@HugoFreitass HugoFreitass merged commit fd3e17b into developer Jun 24, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants