Skip to content
/ wordy Public
forked from mac-comp381/wordy

A toy programming language. We will do science to it.

Notifications You must be signed in to change notification settings

kandriam/wordy

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

74 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Wordy

Wordy is a toy programming language. We will do science to it.

This project contains the beginning of a Wordy implementation in Java. The starter code provides you with a parser that translates Wordy source code into an AST. You will use that AST to implement an interpreter and a compiler for the language.

Learning Goals

  • Understand the difference between interpreters and compilers.
  • Understand how AST data structures relate to source code.
  • Practice writing code that processes code.
  • Think in detail about the semantics of basic language constructs.
  • Get a taste of the work involved in implementing a programming language.

Project setup

Fork this repository, then clone it using the Git tool of your choice (such as GitHub Desktop, GitUp, SourceTree, Fork (Paul’s current favorite, but not free), GitKraken, or the git command line).

⚠️ Make sure you fork and clone the repository; do not just download the zip!

⚠️ When you clone the repository, pay attention to where you are cloning it on your computer’s file system. (In GitHub Desktop, you can use Repository → Show in Finder (Mac) / Repository → Show in Explorer (Windows) if you aren’t sure where you cloned it. Other Git GUIs have a similar feature.)

Now set up your development environment, using the Java development tool of your choice:

Any one of these tools will work fine — or if it doesn’t, contact Paul! Pick the one you are most comfortable with, or the one you most want to learn more about.

The assignment

About

A toy programming language. We will do science to it.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 100.0%