Write a program that:
- Reads a grammar (from keyboard and from file)
- Displays the elements of a grammar, using a menu: set of non-terminals, set of terminals, set of productions, the productions of a given non-terminal symbol
- Verifies if the grammar is regular
- Reads the elements of a FA (from keyboard and from file)
- Displays the elements of a finite automata, using a menu: the set of states, the alphabet, all the transitions, the set of final state.
- Given a regular grammar constructs the corresponding finite automaton.
- Given a finite automaton constructs the corresponding regular grammar (not working properly).