Skip to content

Este repositório contém um interpretador lispf_ck escrito em python. Consiste em uma atividade da disciplina de Compiladores da Universidade de Brasília -UnB, Campus de Engenharias, Faculdade do Gama - FGA.

Notifications You must be signed in to change notification settings

drianne/Lispf_ck-interpreter

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 

Repository files navigation

Lispf_ck


Contribuidores

Nome Matrícula
Adrianne Alves da Silva 16/0047595
Letícia de Souza 15/0015160

Apresentação

Este repositório apresenta um interpretador para a linguagem lispf_ck, escrito em linguagem python, correpondente a uma atividade apresentada como avaliação parcial da disciplina de Compiladores do curso de Engenharia de software da Universidade de Brasília (UnB), Campus de Engenharias - Faculdade do Gama (FGA).

Sobre a Linguagem

Lisp é uma linguagem de programação formal, matemática, que foi projetada a fim de realizar processamento de dados simbólicos. A representação do código se dá como lista, de maneira que os elementos são separados por espaços através de uma notação prefixa, em que o primeiro elemento representa uma função e os demais são argumentos da mesma. Essa linguagem foi utilizada por um tempo pela comunidade de inteligência artificial. Entretanto, nesse repositório será desenvolvido um parser para a linguagem Lispf_ck, uma variante da linguagem brainf_ck que combina a semântica do brainfuck com outros recursos.

De maneira simplista, a Lispf_ck é o mesmo que a brainf_ck em termos de limitações, mas em uma notação diferente. Ex:

BrainFuck : ,+[.-]

Lispf_ck: (do read inc (loop print dec))

Caracteres

Como ´é uma linguagem diretamente relacionada com brainf_ck, podemos utilizar o alfabeto de brainfuck para demonstrar o de Lispf_ck. Tal que, temos em brainf_ck:

Caractere Significado
> Incremento do ponteiro
< Decremento do pronteiro
+ Incremento do byte
- Decremento do byte
. Imprimir o dado
, Entrada de um byte
[ Início de um Laço
] Fim de um laço de repetição

E em Lispf_ck teriamos:

brainfuck Lispfuck
[...] (loop ...)
> right
< left
+ inc
- dec
. print
, read

Como Contribuir

Para contribuir com o desenvolvimento, é preciso que o colaborador crie o seu próprio Fork e envie um pull request com a contribuição para a branch master do projeto. As alterações serão analisadas e incorporadas ao compilador em caso de aprovação.

About

Este repositório contém um interpretador lispf_ck escrito em python. Consiste em uma atividade da disciplina de Compiladores da Universidade de Brasília -UnB, Campus de Engenharias, Faculdade do Gama - FGA.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages