Skip to content

kabironline/eewa

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

147 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

EEWA - Expression Evaluation in WebAssembly

Welcome to EEWA (Expression Evaluation in WebAssembly)! This project is a learning endeavor aimed at building an interpreter to understand the intricacies of developing a Domain Specific Language (DSL). It is inspired by the books "Writing An Interpreter In Go" and "Writing A Compiler In Go" by Thorsten Ball. Project is still a work in progress. I wish to complete it someday soon.

Project Overview

EEWA is an interpreter designed to evaluate mathematical expressions, implemented using Go and compiled to WebAssembly. This project serves as an educational tool to explore the process of creating a DSL, from parsing and interpreting expressions to executing them efficiently in a WebAssembly environment.

Features

Expression Parsing: Parses mathematical expressions into an abstract syntax tree (AST). Evaluation: Evaluates parsed expressions and returns the result. Custom Syntax: Implements a simple DSL for expression evaluation, allowing for custom syntax rules and operations. Technologies Used Go: For developing the core interpreter and compiling to WebAssembly.

Learning Resources

This project is inspired by the following books, which provide an excellent foundation for understanding interpreters and compilers:

"Writing An Interpreter In Go" by Thorsten Ball "Writing An Compiler In Go" by Thorsten Ball

Known Issues As this project is primarily for learning, there may be unresolved bugs and limitations. Feel free to fork the repository and make improvements as you see fit.

Contributing This project is a personal learning endeavor and is not actively maintained. However, if you wish to contribute, feel free to fork the repository and submit a pull request.

Acknowledgments Thorsten Ball for his excellent books on interpreters and compilers.

About

This is a learning project. I am building an interpreter to understand the intricacies of developing a DSL (Domain Specific Language)!

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages