Skip to content

A interpreter that analyzes a code in LISP and executes it. Uses JCF to optimize the operations. Also uses MVC pattern.

Notifications You must be signed in to change notification settings

bl33h/lispInterpreter

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

69 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.


pic

FilesFeaturesHow 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 and Java installed on your computer. From your command line:

# 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

About

A interpreter that analyzes a code in LISP and executes it. Uses JCF to optimize the operations. Also uses MVC pattern.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published