REEX: A CONVERT Program to Realize the McNaughton-Yamada Analysis Algorithm

Unknown author (1968-01-01)

REEX is a CONVERT program, realized in the CTSS-LISP of Project Mac, for carrying out the McNaughton-Yamada analysis algorithm, whereby a regular expression is found describing the words accepted by a finite state machine whose transition table is given. Unmodified the algorithm will produce 4n terms representing an n-state machine. This number could be reduced by eliminating duplicate calculations and rejecting ona high level expressions corresponding to no possible path in the same state diagram. The remaining expressions present a serious simplification problem, since empty expressions and null words are generated liberally by the algorithm. REEX treats only the third of these problems, and at that makes simplifications mainly oriented toward removing null words, empty expressions, and expressions of the form XUX*, AuB*A, and others closely similar. REEX is primarily useful to understand the algorithm, but hardly usable for machines with six or more states.