Files
micro-pascal/README.md
T
2026-10-06 23:05:44 +00:00

84 lines
2.0 KiB
Markdown

# 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
- Marcel Guinhos
- Site: https://mguinhos.github.io/
- GitHub: https://github.com/mguinhos
- RA UNICAP: 00000855041
- Email academico: marcel.00000855041@unicap.br
## 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/.
## Requisitos de compilacao
- Compilador C99 (gcc/cc ou clang).
- GNU Make.
- Alvos suportados: Linux e Windows.
## 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/<arquitetura>/bin e os artefatos de teste em
build/<arquitetura>/.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.