Code Monkey home page Code Monkey logo

compiladores's Introduction

hello world


Comecei meus estudos em tecnologia escrevendo em blogs, brincando um pouco com o JavaScript e o CSS. Em 2015 iniciei meus estudos no IFRN campus Caicó e me formei como técnica em Informática em 2018.

Atualmente curso o bacharelado de Ciência da Computação na UFPB e que me permite abraçar cada um dos diversos ramos da computação, dentre eles a Engenharia de Software, Banco de Dados, Redes, IA e Processamento Digital de Imagens.

Desde 2020 sigo como membro do PET Computação, grupo que me permitiu desenvolver ainda mais os aspectos de trabalho em grupo, comunicação e criatividade.

Mascote PET Computação, Petrucio o ornitorrinco

Também estou atuando como bolsista dos projetos Synchro.

No meu tempo livre gosto de fotografar, desenhar, estudar animação, ler, assistir séries e jogar.

No momento estou estudando a minha primeira Game Engine, Godot, e criando sprites em estilo de Pixel Art.

# Obrigada aos familiares, amigos, colegas e professores
if motivation is True:
  print("Don't you ever ever ever give up")

Stack e Ferramentas de Desenvolvimento

Spring Java NodeJS React Visual Studio Code IntelliJ IDEA

Outras tecnologias e ferramentas que utilizo

C C++ JavaScript TypeScript Python Jupyter Notebook Flask Pandas NumPy Matplotlib Elixir Figma Obsidian

Arte e Desenvolvimento de Jogos

Krita Aseprite Godot Engine Unity

🌼 Entre em contato

LinkedIn: sammid37 Email: samanthadmedeiros37@gmail.com Ko-Fi: sammid37

compiladores's People

Contributors

enthonymiguel avatar sammid37 avatar

Stargazers

 avatar

Watchers

 avatar

compiladores's Issues

Estrutura de pilha e suas operações

Objetivo

Implementar uma estrutura de pilha para ser utilizada nos diferentes escopos da linguagem.

Operações a serem implementadas

Veja os comentários para detalhes de cada uma dessas 5 operações

  • Definição de tabela vazia (estrutura vazia)
  • Inserção
  • Busca
  • Entrada (escopo)
  • Saída (escopo)

Analisador Semântico

Objetivos

Pendências

Analisador Semântico

Escopo e verificação de tipos

Obs.: uma única estrutura de pilha utilizada para diferentes escopos

Identificadores de procedimento devem seguir a mesma ideia do escopo da declaração de variáveis.

Pendências antes do Semântico

Objetivos

  • Léxico: reconhecer aspas simples e duplas
  • Sintático: entender os erros
  • Sintático: limpar o código
  • Main: arquivo para otimizar a exceução dos analisadores!

Implementar regras dependentes simples

Objetivo

  • Listar regras
  • Fazer tratamento para recursividade à esquerda para à direita, ambiguidade e não determinismo (se houver)
  • Dividir
  • Implementar em código

Depende da issue #9.

Analisador Léxico

Especificações do Analisador Léxico

@sammid37

  • Não considerar espaços em branco e formatadores (exemplo: tabulação, quebra de linha e etc), e comentários entre chaves
  • Detectar erros de comentários com chaves { abertas e de símbolos não pertencentes a linguagem
  • Exibir tabela de tokens e sua respectiva classificação e linha correspondente a posição do token

Alguns caracteres especiais servem para realizar a contagem de linhas!

Espeficicações do Autômato Finito Determinístico

@EnthonyMiguel

  • Definir estados iniciais e finais
  • Definir estados de erro
  • Implementação em python
  • Melhorar impressão da tabela para incluir "movimentação" dos estados (semelhante ao exemplo do professor)

Entrada

program teste; {programa exemplo}
var
  valor1: integer;
  valor2: real;
begin
  valor1 := 10;
end.

Entrada alternativa

program teste; {programa exemplo}
var
  valor1: integer;
  valor2A: real; {
  Comentário
  que
  se
  estende
  por
  várias
  linhas
  }
begin
  valor1 := 10;
end.

Requisitos extras

  • #3
  • ???
  • ???

Backlog

Atividades

Ajustes

Contém listagem de ajustes a serem feitos em cada uma das etapas do compilador.

  • #19
  • Últimas pendências antes do Semântico

Categorizar regras das gramática

Objetivo

Deve-se analisar as regras de gramáticas fornecidas no Anaxo do Professor (disponível em #4) e categorizar pelo grau de complexidade e dependência. Em seguida, deve-se ser discutido em reunião as categorizações feitas e prosseguir com a implementação das issues #9, #10 e #11.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.