Skip to content

Latest commit

 

History

History
19 lines (16 loc) · 2.01 KB

README.md

File metadata and controls

19 lines (16 loc) · 2.01 KB

ASP-Interpreter

English description:

A program that reads and analyzes a program in a programming language, ASP, and runs the code as it should. This project is divided into four parts: Scanner, Parser, Interpretation of Expressions, Full interpretation of Expressions.

  • Scanner is that module which divides comments from real code , and divides well defined text and programming language words in tokens.
  • The main goal with the Parser is to check that the token is a right Asp-program, which means also follows Asp syntax.
  • Interpretation of expressions means that we take a syntax tree for the expression and evaluate that, which means calculate the value that it returns. We also check that the expression does not have type errors.
  • Last part is to evaluate all possible Asp-programs, which means programs with defined functions including loops, testing and expressions. Furthermore we defined a library with different predefined functions.

Norwegian description:

  • Et program som leser og analyserer et program i et gitt programmeringsspråk, og som deretter utfører det som dette programmet angir skal gjøres. Prosjektet er delt i fire skritt: Scanneren, Parseren, Interprettering av Uttrykk, Full Interpretering.
  • Skanneren er den modulen som fjerner kommentarer fra programmet, og så deler den gjenstående teksten i en veldefinert sekvens av såkalte symboler.
  • Det sentrale målet med Parseren er å sjekke at denne sekvensen har den formen et riktig Asp-program skal ha (altså, at den følger Asps syntaks).
  • Interprettering av uttrykk betyr at man skal ta imot et syntakstre for et uttrykk og så evaluere det, dvs beregne resultatverdien. Man sjekker at uttrykket ikke har typefeil.
  • Siste del er å evaluere alle mulige Asp-programmer, dvs programmer med funksjonsdefinisjoner samt setninger med løkker, tester og uttrykk. Dessuten definerer vi et bibliotek med diverse predefinerte funksjoner.

Contribution