2026-10-06 22:38:04 +00:00
2026-10-06 22:38:04 +00:00
2026-10-06 22:38:04 +00:00
2026-10-06 22:38:04 +00:00
2026-10-06 22:38:04 +00:00
2026-10-06 22:38:04 +00:00
2026-10-06 22:38:04 +00:00
2026-10-06 22:38:04 +00:00
2026-10-06 22:38:04 +00:00
2026-10-06 22:38:04 +00:00

micro-Pascal

Analisadores lexico e sintatico de um compilador para a linguagem micro-Pascal, uma versao simplificada de Pascal, implementados em C.

Contexto academico

  • Disciplina: 2026.2-MINF-0203-CONSTRUCAO DE COMPILADORES-MANHA
  • Professor: Robinson Lins
  • Universidade Catolica de Pernambuco (UNICAP)

Autor

Estrutura do projeto

micro-pascal/
  include/
    micropascal-lexer/    cabecalhos do lexer (token.h, lexer.h)
    micropascal-parser/   cabecalhos do parser (ast.h, parser.h)
    micropascal-tests/    cabecalho auxiliar dos testes
  src/
    main.c                ponto de entrada
    micropascal-lexer/    implementacao do lexer
    micropascal-parser/   implementacao do parser e da AST
  tests/                  codigo dos testes automatizados
  examples/               programas de exemplo em micro-Pascal
  Makefile                build para Linux e Windows

Todos os arquivos de cabecalho residem em include/.

Uso

make help    mostra a ajuda
make build   compila o compilador
make run     compila e executa em examples/testaparidade.pas
make test    compila e executa a suite de testes
make clean   remove o diretorio build

Os binarios ficam em build//bin e os artefatos de teste em build//.tests.

Para usar outro programa de entrada:

make run ARGS=examples/somaimpares.pas

Para imprimir apenas a sequencia de tokens:

build/x86/bin/micropascal examples/testaparidade.pas --tokens

Escopo

  • Analise lexica completa, com todos os tokens da especificacao.
  • Analise sintatica por descida recursiva, com a precedencia e a associatividade definidas na especificacao.

Mensagens de erro:

  • Léxico: Erro léxico no caracter [x]
  • Sintático: Erro de sintaxe no token [lexema]

Licenca

MIT. Veja LICENSE.md.

S
Description
Analisadores lexico e sintatico de um compilador para micro-Pascal
Readme MIT
175 KiB
0 Stars 1 Watchers 0 Forks
Languages
C 95.9%
Makefile 4.1%