Skip to content

Commit

Permalink
adjusting the README.md with the help of our good friend bart
Browse files Browse the repository at this point in the history
  • Loading branch information
MandalKoch committed Feb 18, 2024
1 parent 324ea62 commit 8dd81b7
Show file tree
Hide file tree
Showing 2 changed files with 49 additions and 9 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/dotnet.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ jobs:
- name: Setup .NET
uses: actions/setup-dotnet@v3
with:
dotnet-version: 6.0.x
dotnet-version: 8.0.x
- name: Restore dependencies
run: dotnet restore
- name: Build
Expand Down
56 changes: 48 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,51 @@
# Writing An Interpreter In Go
Monkey Interpreter is an interpreter for the Monkey coding language from the book
"Writing an interpreter in go" from Throsten Ball in C#.
# Monkey Interpreter in C# - Learning by Doing
https://interpreterbook.com/
## Project Overview:

All credits belong to Thorsten Ball:
https://interpreterbook.com/
Welcome to the Monkey Interpreter, a C# implementation inspired by the fantastic book "Writing an Interpreter in Go" by Thorsten Ball. This project empowers you to delve into the fascinating world of interpreter development using a familiar and widely adopted language.

I really loved that book and can only recommend everybody should buy it and read it.
## Key Features:

Best Regards
Andi
Interprets Monkey code: Execute your Monkey scripts seamlessly within this C# implementation.
Faithful to the book: Adheres to Ball's guidance, ensuring consistency and alignment with the learning journey.
Open-source and collaborative: Welcome contributions and discussions to enhance the interpreter and support fellow learners.

## Getting Started:

Prerequisites:
.NET SDK >= 8 (https://dotnet.microsoft.com/download).
A text editor or IDE of your choice (e.g., Visual Studio Code, Visual Studio).

Clone the Repository:
Bash

git clone https://github.com/MandalKoch/MonkeyInterpreter.git

Open in IDE:
Open the monkey-interpreter-csharp.sln solution file in your preferred IDE.

Build and Run:
Select the desired build configuration (e.g., Debug or Release).
Build the solution.
Execute the MonkeyInterpreter executable located in the bin folder (e.g., bin/Debug/MonkeyInterpreter.exe).

## Usage:

Interactive REPL: Launch the interpreter without arguments to enter an interactive Monkey REPL.
Run Scripts: Provide a Monkey script file path as an argument (e.g., MonkeyInterpreter.exe your_script.mon).

## Credits and Learning Resources:

Thorsten Ball: All credit for the original concept and book goes to Thorsten Ball. Thank you for sharing your knowledge!
Official Resource: Explore the book's website for deeper learning: https://interpreterbook.com/

## Enjoy the Journey!

This C# implementation provides a stepping stone for you to explore interpreter development and grasp the core concepts covered in the book. Feel free to experiment, build upon this project, and share your findings. Remember, the learning journey is more important than the destination!

Additional Considerations:

Error Handling: Enhance error handling and input validation for robustness.
Testing: Integrate testing framework xUnit to ensure code quality.
Documentation: Consider adding more detailed documentation, tutorials, and examples.
Expand Functionality: If comfortable, delve into advanced features like garbage collection, closures, and advanced data structures.

0 comments on commit 8dd81b7

Please sign in to comment.