Compilers: principles, techniques, and tools
Compilers: principles, techniques, and tools
ICCAL '90 Proceedings of the third international conference on Computer assisted learning
An introduction to formal languages and automata
An introduction to formal languages and automata
Foundations of computer science
Foundations of computer science
Hypercard automata simulation: finite-state, pushdown and Turing machines
ACM SIGCSE Bulletin
Elements of the Theory of Computation
Elements of the Theory of Computation
DYNALAB: a dynamic computer science laboratory infrastructure featuring program animation (abstract)
SIGCSE '95 Proceedings of the twenty-sixth SIGCSE technical symposium on Computer science education
An interactive lecture approach to teaching computer science
SIGCSE '95 Proceedings of the twenty-sixth SIGCSE technical symposium on Computer science education
Home-study software: flexible, interactive, and distributed software for independent study
SIGCSE '96 Proceedings of the twenty-seventh SIGCSE technical symposium on Computer science education
Dancing with DynaLab: endearing the science of computing to students
SIGCSE '96 Proceedings of the twenty-seventh SIGCSE technical symposium on Computer science education
A collection of tools for making automata theory and formal languages come alive
SIGCSE '97 Proceedings of the twenty-eighth SIGCSE technical symposium on Computer science education
SIGCSE '97 Proceedings of the twenty-eighth SIGCSE technical symposium on Computer science education
A paradigm shift! The Internet, the Web, browsers, Java and the future of computer science education
SIGCSE '98 Proceedings of the twenty-ninth SIGCSE technical symposium on Computer science education
SIGCSE '98 Proceedings of the twenty-ninth SIGCSE technical symposium on Computer science education
CUPV—a visualization tool for generated parsers
Proceedings of the thirty-first SIGCSE technical symposium on Computer science education
Compiler Optimization Pass Visualization: The Procedural Abstraction Case
ACM Transactions on Computing Education (TOCE) - Special Issue on the 5th Program Visualization Workshop (PVW’08)
Hi-index | 0.00 |
This paper describes instructional tools, LLparse and LRparse, for visualizing and interacting with small examples of LL and LR parsing. These tools can be used to understand the process of constructing LL(1) and LR(1) parse tables through a series of steps in which users receive feedback on the correctness of each step before moving on to the next step. For example, in LRparse, the user initially enters an LR(1) grammar, calculates FIRST and FOLLOW sets, graphically constructs a deterministic finite automaton of item sets, and finally constructs the LR(1) parsing table. Upon completion of the constructed table, the user can observe a visualization of the parsing of input strings. These tools can be used to provide problem solving feedback in courses on automata theory or compiler design.