Skip to content

This program executes Shank code using Java for the class ICSI 311. Shank is a language created by Michael Phipps, professor at UAlbany.

Notifications You must be signed in to change notification settings

worth12/Shank-lexer-parser-interpreter

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Shank Lexer, Parser, and Interpreter

This program executes Shank code using Java for the class ICSI 311. Shank is a language created by Michael Phipps, professor at UAlbany.

Shank is a reasearch language that has no values returned from functions, instead they may mutate certain parameters that are defined within the definition of the function.

Running Tests

To run tests, within Visual Studio Code, navigate to /Main/Shank.java then press the execute button. Follow prompts within the terminal to try each test.

Lessons Learned

While making this program, I learned how to create a lexer, larser, and lnterpreter. This was a challange to get each to work together as intended by the language's documentation. The greatest obstacle for me was handling the modification of local variables, as in Shank, functions do not return any values. I overcame this by being very deliberate and creative with how variables are allowed to change.

This project also hepled me to be able to handle larger code bases, as the project got larger, I became more adept at navigating and tweaking all of the different functions.

Authors

About

This program executes Shank code using Java for the class ICSI 311. Shank is a language created by Michael Phipps, professor at UAlbany.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages