In this project, students build a Java interpreter for a limited version of BASIC called Facile. The interpreter manages variables, mathematical operations, conditional statements, functional decomposition, and its own call-stack. As part of the activity students test the interpreter with JUnit. This project is for students that would like to explore building an interpreter, or for students that may have an interest in the general workings of compilers and programming languages on a smaller scale.
This is Project 3 in a Computer Science 2 course. Please see link to course schedule for sequencing.
Uses Meaningful and Relevant Content through the creation of a simple language interpreter. Additionally, students are given the option of implementing additional features in their program, thus allowing for Student Choice. Although not offered for extra credit, this allows students to be creative or go beyond the normal confines of the project.