Skip to content

Latest commit

 

History

75 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PyPT

Exemplos

  • Fibonacci
func fibonacci(n):
	a = 0
	b = 1
	tmp = 0

	escrevaf("%d ", b)

	i = 0
	enquanto i < n:
		tmp = a + b
		a = b
		b = tmp
		i = i+1
		escrevaf("%d ", b)
 

	escreva("\n")



escreval("Sequencia de fibonacci de 20 elementos")
fibonacci(20)
  • Fatorial
func fatorial(n):
	resultado = 1
	i = 1
	enquanto i <= n:
		resultado = resultado * i
		i = i+1
	

	retorne resultado

escrevaf("Fatorial de 5 é %d\n", fatorial(5))

TODO

  • [-] - Variaveis
    • - Inteiro 64bits
    • [] - Inteiro 32bits
    • [] - Inteiro 16bits
    • [] - Inteiro 8bits
    • [] - Float 64bits
    • [] - Float 32bits
  • [-] - Condicional
    • - If
    • - Else
    • [] - Else if
  • - Repetição
    • - While
    • [] - For
  • - Funções
  • - Operadores lógicos
  • [-] - Arrays
    • - Arrays de 64bits
      • - Alocação na stack
      • - Acesso em indice
      • - Atribuição em indice
    • [-] - Arrays de 32bits
    • [-] - Arrays de 16bits
    • - Arrays de 8bits
  • - Ponteiros
    • - Dereferenciamento
  • [-] - Strings
    • - Strings fixas
    • [] - Strings modificaveis (depende de suporte a arrays de 1 byte)
  • [] - Comentários
  • - Link com a GLIBC
  • [] - Construção de uma biblioteca padrão
    • [] - IO
      • - escreva(a, b, ...) / print()
      • [] - leia()
  • [] - Melhorias
    • [] - Se assemelhar a sintaxe do python
      • - Remover necessidade de colocar 'fim' no final dos blocos
      • [] - Adicionar : no senao
    • [] - Mensagens de erro com arquivo, linha e coluna
    • [] - Traduzir enums
    • [] - Resetar stack na repetição/saida do while
  • [] - Otimização
    • [] - Otimizar escolha de registrador
    • [] - Pré calcular expressões em tempo de compilação
    • [] - ...

About

Um compilador para uma linguagem parecida com Python, mas em português

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages