Skip to content

Commit 2aa498f

Browse files
committed
docs(readme): terminar sprint 3
1 parent 0da5f57 commit 2aa498f

File tree

2 files changed

+22
-18
lines changed

2 files changed

+22
-18
lines changed

README.md

Lines changed: 17 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -14,23 +14,30 @@ O que não será suportado:
1414

1515
```
1616
.
17-
├── lexer/ # regras léxicas (lexer.l)
18-
├── parser/ # gramática e ações (parser.y)
19-
├── src/ # main.c, AST, tabela de símbolos, gerador Lua
17+
├── lexer/ # regras léxicas (lexer.l)
18+
├── parser/ # gramática e ações (parser.y)
19+
├── src/ # main.c, AST, tabela de símbolos, gerador Lua
2020
├── tests/
21-
│ ├── smoke/ # testes rápidos de tradução (pares C/Lua)
22-
│ └── semantic/ # casos PASS/FAIL com golden files
21+
│ ├── pass/ # casos que devem passar
22+
│ └── fail/ # casos que precisam falhar
2323
└── Makefile
2424
```
2525

26-
Ambiente rápido (Linux):
27-
```nu
26+
## Ambiente de Desenvolvimento
27+
28+
Ubuntu Linux:
29+
```bash
2830
sudo apt update
2931
sudo apt install -y flex bison build-essential git
3032
```
3133

34+
Arch Linux:
35+
```bash
36+
sudo pacman -Syu flex bison base-devel git
37+
```
38+
3239
Build local (exemplo mínimo):
33-
```nu
40+
```bash
3441
make # gera o binário ./c2lua a partir das fontes
3542
./c2lua tests/smoke/expressions.c
3643
```
@@ -40,19 +47,17 @@ make # gera o binário ./c2lua a partir das fontes
4047
- [1ª sprint](./docs/sprints/1.md);
4148
- [2ª sprint](./docs/sprints/2.md);
4249
- [3ª sprint](./docs/sprints/3.md);
43-
- 4ª sprint;
50+
- [4ª sprint](./docs/sprints/4.md);
4451

4552
# Testes
4653

4754
A pasta `tests/` está organizada em:
48-
- `tests/smoke/`: pares simples C/Lua utilizados pelos testes rápidos do Makefile;
4955
- `tests/semantic/pass`: casos que devem gerar Lua válido e executar com sucesso;
5056
- `tests/semantic/fail`: casos que precisam falhar na análise semântica (arquivos `.err` com a mensagem esperada);
51-
- `tests/semantic/golden/fail`: mensagens de erro normalizadas utilizadas como golden files.
5257

5358
Execute as suítes pelo Makefile:
5459

55-
```nu
60+
```bash
5661
make test # verifica os smoke tests (tradução direta C -> Lua)
5762
make semantic-test # valida casos PASS/FAIL com comparação de golden files
5863
```

docs/sprints/3.md

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
### 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
44

5-
- [ ] responsáveis: @Sophiassilva
5+
- [x] responsáveis: @Sophiassilva
66
- **Entregáveis obrigatórios:**
77
- `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.
88
- `src/symbol_table.h` / `src/symbol_table.c` com pilha de escopos (funções para `enter_scope`, `leave_scope`, `insert_symbol`, `lookup`).
@@ -27,7 +27,7 @@
2727

2828
### Suporte sintático essencial: declarações, atribuições, blocos, if/else, while/for, curto-circuito lógico e comparações (==, \!=, \<, \<=, \>, \>=)
2929

30-
- [ ] responsáveis: @marcomarquesdc
30+
- [x] responsáveis: @marcomarquesdc
3131
- **Entregáveis obrigatórios:**
3232
- Regras no `src/parser.y` cobrindo:
3333
- Declaração de variáveis (com inicialização opcional) e de vetores 1D.
@@ -57,9 +57,8 @@
5757
5858
### 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
5959
60-
- [ ] responsáveis: @Liviarodrigues1
60+
- [x] responsáveis: @Liviarodrigues1
6161
- **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.
6362
- 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.).
6463
- Representação de arrays como vetores Lua (`{}`) incluindo deslocamento +1 no índice.
6564
- Funções helper em `runtime/printf.lua` ou similar para cobrir `printf`/`puts` e conversões básicas.
@@ -102,7 +101,7 @@
102101
103102
### Funções completas: traduzir assinaturas e return de C para function Lua, preservar escopos e chamadas
104103
105-
- [ ] responsáveis: @BeyondMagic
104+
- [x] responsáveis: @BeyondMagic
106105
- **Entregáveis obrigatórios:**
107106
- Tradução de declarações de função para AST (`AstFunction`) com lista de parâmetros, tipo de retorno e bloco corpo.
108107
- Geração Lua correspondente em `src/codegen_lua.c` (novo arquivo) ou módulo existente, incluindo:
@@ -140,7 +139,7 @@
140139

141140
### 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
142141

143-
- [ ] responsáveis: @andrelopesdesousa
142+
- [x] responsáveis: @andrelopesdesousa
144143
- **Entregáveis obrigatórios:**
145144
- Estrutura de testes automatizados:
146145
- `tests/semantic/pass/*.c` + `.lua` esperados.

0 commit comments

Comments
 (0)