https://github.com/markalbrand56/aed-proyecto-1
Algoritmos y Estructura de Datos: Proyecto #1. Intérprete para Lisp
https://github.com/markalbrand56/aed-proyecto-1
interpreter lisp university-project
Last synced: 3 months ago
JSON representation
Algoritmos y Estructura de Datos: Proyecto #1. Intérprete para Lisp
- Host: GitHub
- URL: https://github.com/markalbrand56/aed-proyecto-1
- Owner: markalbrand56
- Created: 2022-02-23T20:06:23.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2022-03-25T17:41:19.000Z (about 3 years ago)
- Last Synced: 2025-01-15T18:39:36.279Z (5 months ago)
- Topics: interpreter, lisp, university-project
- Language: HTML
- Homepage: https://markalbrand56.github.io/AED-Proyecto-1/Funciones.html
- Size: 708 KB
- Stars: 0
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Algoritmos y Estructuras de Datos
## Proyecto 1
### Intérprete para lispSe realizó un Intérprete del lenguaje Common Lisp utilizando Java.
Este intérprete permite ejecutar operaciones de Lisp y obtener los resultados en tiempo real, sin necesidad de compilarlo.
## Integrantes
```diff
+ Mark Albrand/21004
+ Jimena Hernández/21199
+ Emily Pérez/21385
```## Índice
1. [Diagramas UML](https://github.com/markalbrand56/AED-Proyecto-1/tree/build/UML)
2. [Pruebas unitarias](https://github.com/markalbrand56/AED-Proyecto-1/blob/build/ParserTest.java)## Ejemplos
### Realizar una operación aritmética
`(- 1.0 2)`### Definir una variable
`(setq var 2)`### Definir una función. Fibonacci
`(defun fib (x))``(if (<= x 1))`
`(return n)`
`(+ (fib (- x 1)) (fib (- x 2)))`
`(END)`
## Restricciones
1. La condicional `if` es exclusiva para las funciones, la siguiente línea debe de ser su return. La siguiente a esta debe ser el return en un caso `else` (sin esta palabra)
2. Las funciones deben llevar un parámetro
3. Las funciones aceptan únicamente dos parámetros. Operaciones como `increment` utilizan una sola variable## Forma de trabajo
```diff
Para realizar este trabajo nos basamos en:
+ "Github issues", que puede ser revisado en "issues" del proyecto.
+ "Github Proyects"
+ "Trello"
```