Many students learn best from concrete examples. Generating concrete examples of the algorithms used in LL(1) and LR(1) parsing can be tedious for instructors and students.
CFG Experimenter is a software application for generating such examples, but not only this, it is also scaffolding for a programming project where students learn the algorithms by implementing them.
CFG Experimenter includes algorithms for calculating First and Follow sets, canonical collections of LR(1) items, Action and Goto tables, and determining whether a context-free grammar is LL(1) or LR(1) parseable.
CFG Experimenter can also animate LL(1) and LR(1) parsing, and allows students to “scrub through” the animation to check their understanding.
Whether used as a programming project for students, or simply as a tool for instructors and students to generate and check examples, CFG Experimenter helps students better understand the algorithms used by most common parser-generators.