Skip to content

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

15 Commits

Folders and files

Repository files navigation

Compilador C- (cminus)

Este repositório contém a implementação de um compilador para a linguagem C- (cminus).

Requisitos

  • GCC
  • Flex
  • Bison
  • MinGW / MSYS2 (no Windows)
  • mingw32-make

Estrutura do Build

O processo de compilação é automatizado por meio de um Makefile, responsável por:

  • Gerar o analisador léxico (lex.yy.c) com Flex
  • Gerar o analisador sintático (parser.tab.c e parser.tab.h) com Bison
  • Compilar os módulos do compilador
  • Linkar o executável final

Arquivos principais:

  • lexer.l - analisador léxico
  • parser.y - analisador sintático
  • semantic.c - análise semântica
  • analyze.c - rotinas de análise
  • statements.c - tratamento de comandos

Documentação

A documentação detalhada de cada fase do compilador está disponível na pasta docs/:

docs/lexico.md - descrição da análise léxica, tokens reconhecidos e regras do Flex

docs/sintatico.md - gramática da linguagem C-, regras sintáticas e estrutura da AST

docs/semantico.md - análise semântica, regras de escopo, tabela de símbolos e verificação de tipos

Como compilar

Para remover todos os arquivos gerados anteriormente:

mingw32-make clean

Para compilar o compilador:

mingw32-make

O executável gerado será cminus_compiler, que pode ser executado com um programa de teste (exemplo: sort.cminus):

./cminus_compiler < sort.cminus

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages