./scripts/env.sh
make clean && make
make format
make test
License: GNU General Public License v3.0
./scripts/env.sh
make clean && make
make format
make test
É necessário criar um ambiente inicial e documentar como configurá-lo.
Utilizar as definições #5 e #6 para criar os analisadores, seguindo o exemplo do laboratório 2 (CC_Lab02.pdf) onde junta os arquivos do flex e bison em um mesmo programa.
Com base no escopo definido aqui #4, precisa ser feito a definição dos Tokens no padrão do flex para serem utilizados no Analisador Léxico.
Obs 1: pode ser utilizado o link como base, faltando eliminar os tokens que não serão utilizados.
Obs 2: Manual do flex.
Obs 3: Laboratório para usar de exemplo CC_Lab01.pdf
É necessário criar o mesmo ambiente dev do linux para windows.
Precisa ser feita a definição da Gramática a ser utilizada pelo Analisador Sintático.
Obs 1: com base no escopo definido #4, o link pode ser utilizado como base, faltando remover o que não estiver definido.
Obs 2: utilizar os tokens definidos aqui #5.
Obs 3: Laboratório para servir de exemplo CC_Lab02.pdf
Utilizar a biblioteca GNU Argp para interface CLI do compilador.
Obs: link da documentação para usar de exemplo.
Antes de fazer o analisador sintático e semântico precisa ser definido o que conterá no compilador. Definir todas as estruturas que irão ser inclusas.
Obs 1: Por sugestão do professor, UNION já pode ser excluido.
Obs 2: Acho que vale remover números complexos.
Funções válidas:
check_var(); // Checa se a variável existe na tabela
new_var(); // Adiciona a variável na tabela
Setar a variável last_decl_type
com o tipo encontrado:
typedef enum {
VOID_TYPE,
INT_TYPE,
CHAR_TYPE,
FLOAT_TYPE
} Type;
Setar a variável last_size_array
com o tamanho do array na definição, exemplo:
char string[3];
teremos:
last_decl_type = CHAR_TYPE;
last_size_array = 3;
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.