资 源 简 介
This project implements a simple script interpreter in Java. Its purpose is to provide a simple code base that is easy to understand and be used for learning basic techniques in writing an interpreter.
The project contains the following:
* Hand written Lexer
* Parser that process tokens from the Lexer to check the syntax and generate an Abstract Syntax Tree
* An Interpreter that evaluates the abstract syntax tree by visiting the nodes. It also performs some semantic checking.
Here is an example script it successfully runs:
```
/*
* @author Cameron Zemek
*/
// This script is an example of a simple language.
// There are only three basic data types: numbers, strings, boolean
a_number = 3 ^ 2;
a_string = "hello";
a_bool = true;
// Operators
concat_string = "hello" ~ " " ~ "world.";
fav_string = 3 ~ " is my favourite number";
result_number = 1 + 2 - 1 * 5 / 3.2 + 2^2;
isEmail =