The RPAL Interpreter is a C++ program designed to interpret the RPAL programming language. This project serves as the final assessment for the CS3513 course at the University of Moratuwa.
To get started, you'll need to clone the project repository. Open your terminal and execute the following command:
git clone https://github.com/ndranathunga/rpal-interpreter.git
This will create a local copy of the repository on your machine.
Once you've cloned the repository, you can navigate into the project directory and build/run the interpreter.
cd rpal-interpreter
make
The above commands will compile and build the interpreter. If the compilation is successful, you can then execute the interpreter to interpret RPAL programs.
Please ensure you have a C++ compiler and the make
utility installed on your system.
./rpal20 <input_file>
Replace <input_file.rpal with the actual path to your RPAL program file.
The RPAL Interpreter supports visualization of the Abstract Syntax Tree (AST) and Symbol Table (ST) using Graphviz. You can use the --visualize
option to generate and visualize these trees. If you provide a specific value (e.g., ast
or st
) after --visualize
, only that tree will be generated. If you use --visualize
without specifying a value, both trees will be compiled and visualized.
Make sure you have Graphviz installed on your local machine before using this feature.
Graphviz is required to visualize the trees. You can download Graphviz from the official website: https://www.graphviz.org/
Follow the installation instructions provided on the Graphviz website to install it on your system.
Example commands for visualizing the trees:
-
To visualize both AST and ST:
./rpal20 <input_file> --visualize
-
To visualize only the AST:
./rpal20 <input_file> --visualize=ast
-
To visualize only the ST:
./rpal20 <input_file> --visualize=st
The generated PNG files for the visualizations will be available in a folder called Visualizations
within the interpreter directory.