/Scala-Interpreter

Built a definitional interpreter that parses, desugars and interprets the value of a core-language expression.

Primary LanguageScala

Scala Interpreter

Concepts of programming languages can be implemented using a definitional interpreter approach in Scala, including case classes, pattern matching and recursive functions. A definitional interpreter is a program that interprets an abstract syntax tree representation of a program and computes its value. This allows us to examine the formal semantics of programming languages and makes explicit the mechanisms behind language constructs, including the abstractions of such mechanisms, without requiring more theoretical machinery than a basic functional language. Scala provides features for algebraic data type definition, pattern matching and immutable data types that can be applied to programming language parsing and interpretation.