Giter Club home page Giter Club logo

nanilang's Introduction

nanilang

Repositório para o Trabalho de Implementação de Linguagens de Programação

nanilang's People

Contributors

gchicha avatar theosirian avatar

Stargazers

Guilherme Souza avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

dinlib

nanilang's Issues

Convert strings to tokens

  • Parenthesis
  • Brackets
  • Comma
  • Semi-colon
  • colon
  • hyphen
  • exclamation mark
  • Percent
  • Slash
  • Asterisk
  • Plus
  • Minus
  • Less
  • Greater
  • Equal
  • Ampersand
  • Pipe
  • Question mark
  • Braces

Considerações quanto a vetores e variaveis

Estou analisando a possibilidade de tratar todas as variaveis como vetores, sendo elas de um unico elemento, só para diminuir o tamanho do codigo mesmo.

Alem disso, se não estou enganado o compilador sempre sabe o tamanho do vetor em tempo de compilação, com isso estou pensando em simplificar e sumir com aquele ArrayRef já que náo precisamos, só precisaremos achar um jeito de carregar a informação do tamanho até a função, isso até simplifica aquela discussão de vetor multidimensional, já que não precisaremos nem mesmo da ultima dimensão para poder usar isso.

Tratamento de erro

Sintatico / Lexer

  • Pretty print erros sintatico

Semantico

  • Erro de acesso a variavel não declarada
  • Erro de cast de expressão
  • Carregar a posição de declaração
    • Variaveis
    • Funções

Warning?

  • Variavel utilizada não inicializada, vai ter de carregar a informação na tabela de simbolos

O que acha de configurar o rustfmt de forma mais especifica?

max_width = 80
tab_spaces = 4
report_todo = "Unnumbered"
report_fixme = "Unnumbered" 
trailing_comma = "Always"
use_field_init_shorthand = true
use_try_shorthand = true
wrap_comments = true

Só tem de observar que o vim-autoformat não é exatamente compativel tem de colocar umas opções no vimrc para ficar massa

let g:autoformat_autoindent = 0
let g:autoformat_retab = 0
let g:autoformat_remove_trailing_spaces = 0

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.