Skip to content

feat: Suporte a arrays de tamanho fixo no pipeline C#176

Merged
Phill-Chill merged 3 commits into
developerfrom
issue-173-indexacao-array-fixo
Jun 24, 2026
Merged

feat: Suporte a arrays de tamanho fixo no pipeline C#176
Phill-Chill merged 3 commits into
developerfrom
issue-173-indexacao-array-fixo

Conversation

@guxvr

@guxvr guxvr commented Jun 24, 2026

Copy link
Copy Markdown
Collaborator

Descrição

Esta PR adiciona suporte ponta a ponta para arrays de tamanho fixo no compilador, propagando o tamanho declarado desde o parser até o IR e a geração de código.


O que mudou

  • O parser agora lê dimensões de arrays e preserva tamanho quando ele é conhecido.
  • O AST passou a representar arrays com tamanho opcional, permitindo distinguir entre int a[] e int a[3].
  • A análise semântica foi ajustada para entender o novo formato do tipo e manter o tamanho durante a resolução de tipos.
  • O lowering/IR agora calcula corretamente o espaço ocupado por arrays de tamanho fixo e trata indexação com base adequada.
  • A suíte de testes foi atualizada para o novo formato de tipo e ganhou cobertura extra para:
    parsing de arrays
    semântica com arrays fixos
    leitura/escrita em arrays fixos no smoke test de ponta a ponta

Validação

Cobertura adicionada/atualizada para parser, semantic analyzer, IR lowerer e smoke tests.
O fluxo completo C -> lexer -> parser -> semantic -> IR -> codegen agora cobre arrays fixos com leitura e escrita.


Closes #173

@guxvr guxvr requested a review from Bappoz June 24, 2026 21:26
@guxvr guxvr self-assigned this Jun 24, 2026
@guxvr guxvr changed the title Suporte a arrays de tamanho fixo no pipeline C feat: Suporte a arrays de tamanho fixo no pipeline C Jun 24, 2026
@guxvr guxvr requested review from HugoFreitass, Phill-Chill, Copilot and matheuslemesam and removed request for Copilot June 24, 2026 21:38

@Phill-Chill Phill-Chill 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.

Revisão concluída com sucesso. A implementação atende a todos os requisitos estabelecidos para o suporte de ponta a ponta a arrays de tamanho fixo.

Destaco os seguintes aspectos técnicos da submissão:

Parser: A lógica implementada em parse_array_suffix é robusta e bem estruturada, já prevê e suporta adequadamente matrizes multidimensionais.

Lowering (IR): O cálculo de dimensionamento em memória e a resolução do endereço-base para a indexação estão perfeitamente adequados à arquitetura proposta.

Integridade: O fluxo de compilação (Parser -> AST -> Semântica -> IR -> Codegen) foi respeitado de maneira limpa, sem violação de responsabilidades entre as fases.

Código validado. Pull Request aprovado e pronto para integração.

@Phill-Chill Phill-Chill merged commit f572502 into developer Jun 24, 2026
1 of 2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants