apoo is an environment for programming in a simple assembly language. It is implemented in Python and has the following components: apoo virtual machine is a virtual processor with a very simple architecture and instruction set that mimics almost all the essential features of a modern microprocessor. As the aim is to teach assembly language, there is no machine code associated with the instruction set. apoo Interface is a graphical environment that monitors the state of the machine during the execution of a program and allows the writing/editing/execution of programs in assembly language. apoo Tutor is a module for grading of student programs based on a description of what the execution of the program should be for specified input data sets.
Yappy provides a lexical analyser and a LR parser generator for Python applications. Currently it builds SLR, LR(1), and LALR(1) parsing tables. Tables are kept in Python shelves for use in parsing. Some ambiguous grammars can be handled if priority and associativity information is provided.