First commit
This commit is contained in:
commit
3d68783535
25 files changed
+1751
No files matched your search
@@ -0,0 +1,77 @@
|
||||
# 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/.
|
||||
|
||||
## 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.
|
||||
Reference in new issue
Block a user