Skip to content

Este repositório contém lexer e parser para 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

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 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 lexer e parser de Lispf_ck, escritos em linguagem python. Eles fazem parte de 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 lexer e parser para 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