|
2 | 2 |
|
3 | 3 | ### Núcleo semântico unificado: definir AST (expr/stmt/decl/fun), tabela de símbolos com escopos, checagem/conversão int↔float e mensagens de erro com linha/coluna |
4 | 4 |
|
5 | | - - [ ] responsáveis: @Sophiassilva |
| 5 | + - [x] responsáveis: @Sophiassilva |
6 | 6 | - **Entregáveis obrigatórios:** |
7 | 7 | - `src/ast.h` / `src/ast.c` com a hierarquia de nós (expressões, comandos, declarações, funções) e utilitários de criação/destruição. |
8 | 8 | - `src/symbol_table.h` / `src/symbol_table.c` com pilha de escopos (funções para `enter_scope`, `leave_scope`, `insert_symbol`, `lookup`). |
|
27 | 27 |
|
28 | 28 | ### Suporte sintático essencial: declarações, atribuições, blocos, if/else, while/for, curto-circuito lógico e comparações (==, \!=, \<, \<=, \>, \>=) |
29 | 29 |
|
30 | | - - [ ] responsáveis: @marcomarquesdc |
| 30 | + - [x] responsáveis: @marcomarquesdc |
31 | 31 | - **Entregáveis obrigatórios:** |
32 | 32 | - Regras no `src/parser.y` cobrindo: |
33 | 33 | - Declaração de variáveis (com inicialização opcional) e de vetores 1D. |
|
57 | 57 |
|
58 | 58 | ### Análise Semântica: missão Lua abrangente: variáveis locais, expressões, operadores lógicos, arrays 1D como tabelas, mapeamento de printf/puts, helpers de runtime quando necessário |
59 | 59 |
|
60 | | - - [ ] responsáveis: @Liviarodrigues1 |
| 60 | + - [x] responsáveis: @Liviarodrigues1 |
61 | 61 | - **Entregáveis obrigatórios:** |
62 | | - - Módulo `src/semantics.c` com passagens sobre a AST para checar tipos, resolver identificadores e anotar cada nó com tipo final. |
63 | 62 | - Implementação das regras de promoção (int→float, char→int, bool→int quando permitido) e erros quando a combinação é inválida (`int + string`, `if` com expressão não booleana, etc.). |
64 | 63 | - Representação de arrays como vetores Lua (`{}`) incluindo deslocamento +1 no índice. |
65 | 64 | - Funções helper em `runtime/printf.lua` ou similar para cobrir `printf`/`puts` e conversões básicas. |
|
102 | 101 |
|
103 | 102 | ### Funções completas: traduzir assinaturas e return de C para function Lua, preservar escopos e chamadas |
104 | 103 |
|
105 | | - - [ ] responsáveis: @BeyondMagic |
| 104 | + - [x] responsáveis: @BeyondMagic |
106 | 105 | - **Entregáveis obrigatórios:** |
107 | 106 | - Tradução de declarações de função para AST (`AstFunction`) com lista de parâmetros, tipo de retorno e bloco corpo. |
108 | 107 | - Geração Lua correspondente em `src/codegen_lua.c` (novo arquivo) ou módulo existente, incluindo: |
|
140 | 139 |
|
141 | 140 | ### Garantia de qualidade: testes de semântica (erros de escopo/tipo), golden files de erro, pipeline end-to-end (C → Lua → execução), linemap/diagnóstico e atualização de docs/demo |
142 | 141 |
|
143 | | - - [ ] responsáveis: @andrelopesdesousa |
| 142 | + - [x] responsáveis: @andrelopesdesousa |
144 | 143 | - **Entregáveis obrigatórios:** |
145 | 144 | - Estrutura de testes automatizados: |
146 | 145 | - `tests/semantic/pass/*.c` + `.lua` esperados. |
|
0 commit comments