https://github.com/agnivchtj/scala-interpreter
Built a definitional interpreter that parses, desugars and interprets the value of a core-language expression.
https://github.com/agnivchtj/scala-interpreter
abstract-syntax-tree desugarer functional-programming interpreter parser s-expressions scala
Last synced: 3 months ago
JSON representation
Built a definitional interpreter that parses, desugars and interprets the value of a core-language expression.
- Host: GitHub
- URL: https://github.com/agnivchtj/scala-interpreter
- Owner: agnivchtj
- Created: 2021-01-01T17:02:24.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2021-01-01T19:30:59.000Z (over 4 years ago)
- Last Synced: 2025-01-22T05:43:16.339Z (5 months ago)
- Topics: abstract-syntax-tree, desugarer, functional-programming, interpreter, parser, s-expressions, scala
- Language: Scala
- Homepage:
- Size: 34.2 KB
- Stars: 1
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 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.