Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/bl33h/lispinterpreter
A interpreter that analyzes a code in LISP and executes it. Uses JCF to optimize the operations. Also uses MVC pattern.
https://github.com/bl33h/lispinterpreter
aritmethic data-structures interpreter java lisp logic-operations operations
Last synced: 3 days ago
JSON representation
A interpreter that analyzes a code in LISP and executes it. Uses JCF to optimize the operations. Also uses MVC pattern.
- Host: GitHub
- URL: https://github.com/bl33h/lispinterpreter
- Owner: bl33h
- Created: 2022-04-01T05:03:08.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2023-06-21T08:23:23.000Z (over 1 year ago)
- Last Synced: 2025-01-21T15:15:31.301Z (3 days ago)
- Topics: aritmethic, data-structures, interpreter, java, lisp, logic-operations, operations
- Language: Java
- Homepage:
- Size: 34 MB
- Stars: 2
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# lispInterpreter
The interpreter project is designed to analyze and execute code written in the LISP programming language. It follows the Model-View-Controller (MVC) pattern to organize its components and ensure separation of concerns. The project utilizes Java Collections Framework (JCF) to optimize the operations performed during the interpretation process.
Files •
Features •
How To Use## Files
- javadoc: contain the javadoc's files generated by Eclipse.
- junit: the JUnit's test made in Eclipse and the code of those tests.
- other: the PDF's with the presentation and the project's information.
- src: all the classes that implement the solution.
- uml: class', sequence's and use-case's diagrams.## Features
The main features of the application include:
- Arithmetic Operations: The project supports basic arithmetic operations such as addition, subtraction, multiplication, and division. It can evaluate arithmetic expressions and provide the result.
- Logical Operations: The project also includes support for logical operations such as equality checks, less than comparisons, and greater than comparisons. It can evaluate logical expressions and determine the truth value of the expression.
- Input/Output: The project allows user interaction through input and output. It provides a welcome message and prompts the user to enter expressions. The results of the evaluated expressions are displayed as output.
- Error Handling: The code includes some basic error handling. It checks for incorrect expression formats, missing operands, and division by zero. Error messages are displayed when such issues are encountered.
- Tokenization: The expressions entered by the user are tokenized, which means they are split into individual elements or tokens. This allows for easier processing and evaluation of the expressions.
- Separation of Concerns: The code is organized into different classes, each responsible for a specific functionality. This promotes modularity and separation of concerns, making the code easier to understand, maintain, and extend.## How To Use
To clone and run this application, you'll need [Git](https://git-scm.com) and [Java](https://www.java.com/es/download/ie_manual.jsp) installed on your computer. From your command line:```bash
# Clone this repository
$ git clone https://github.com/bl33h/lispInterpreter# Run de app
$ javac *.java
$ java Controlador
```Note: to execute the code, it's important that run only on this location