LC3Tools is a modern set of tools to build code for and simulate the LC-3 system described in Introduction to Computing by Dr. Yale Patt and Dr. Sanjay Patel.
This project has the following aims:
- Consistent cross-platform support (across Windows, macOS, and Linux)
- Consistent behavior across the GUI, command line tools, and other applications
- Intuitive user interface
- Powerful grading API for classroom settings
- Well-documented, simple, open-source code base
All of the code for the project lives in this repository, but it can be broken down into three components: a set of command line tools, a GUI, and a series of graders.
Pre-built GUI packages for Windows, macOS, and Linux can be found in the Releases tab. The command line tools and graders must be built from source as described in the following section.
Building the command line tools and the graders only requires CMake and a compiler that supports C++11. The command line tools and graders are built simultaneously with a single command. More details on how to build these two components can be found in the build document.
The GUI can also be built from source but additionally requires NodeJS and Yarn to be installed. Directions on how to build the GUI can also be found in the build document.
More details on how to use the individual components can be found in the command line tools, GUI, and graders documents.