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