PROJECTS - FUNDAMENTALS OF AUTOMATA AND FORMAL LANGUAGE THEORY

Labs 1-4: Finite Automata

Lab 1

Write a program that accepts two DFAs, M1 and M2, as input and generates a state table for the union of the two DFAs

 

Lab 2

Write a program that accepts an NFA M1 as input and generates a state table for a DFA M2 equivalent to M1

 

Lab 3

Write a program that converts a DFA to a GNFA. Do not include pairs of states without transitions into the transition table of the resulting GNFA.

 

Lab 4

Write a program to convert a GNFA to a Regular Expression.

 

Notes

This program makes use of GraphViz (Open Source) and its python wrapper, Pydot, to create diagrams of the generated Finite Automata. This functionality can easily be turned off, see readme.txt for more information.

 

Some examples of Finite Automata generated with GraphViz are displayed to the right.

Copyright ©2016 Tate Burns. All Rights Reserved.

TATE BURNS

Creative Thinker • Innovative Developer

CONTACT ME

tate@burnskids.com

(734) 846-2121