JFLAP Programming
Read the tutorial: http://jflap.org/tutorial/
Just leave empty string as λ, and don’t change to ε. Setup: Download and Append username
- Download the folder (with test files)
- Unzip it
Problem 1: Construct a 5 state DFA that recognizes (01)*(10)*
• Testing: Some test strings have been created: Click Input->Multiple Run , o LoadInputs(atbottom)
o Selectthep1test.txtfile
o You will have to have an initial state to test.
o First3accept
o Second4reject
o Add a blank input symbol (cursor on last, blank line and press enter for empty string) It
should accept when you run again.
- The Finite Automaton editing tool allows you to make something not a DFA (ε-NFA, NFA, etc). An
easy way to test if it is a valid DFA is to go Convert->Minimize DFA (you will get an error if not a
DFA). You can close the new tab by clicking the new ‘x’ in the upper right.
- You can also convert to a regular expression Convert -> Convert FA to RE. It will likely push you
through the steps of cleaning it (as an NFA). A rhetorical question if you do this: you may get something like the following, is it wrong?:
- When you’re satisfied with your DFA, save it as p1<username>.jff .
Problem 2: Construct a DFA in 4 states that is the product construction of two two state DFAs – one thatrecognizes an odd number of ones and one that recognizes an even number of zeroes.
- There is a corresponding test file p2test.txt .
- When you’re satisfied with your DFA, save it as p2<username>.jff .
- First 4 should accept, the second 4 reject.
Problem 3: Construct an ε-NFA ( λ-NFA in this case) that recognizes strings without 010 as a substring or is just (010)+.
- There is a corresponding test file p3test.txt .
- When you’re satisfied with your ε-NFA, save it as p3<username>.jff .
- First 4 should accept, the second 4 reject.
Problem4: Construct an ε-NFA recognizing (000+011+01+111)+ with at most 6 states.
- There is a corresponding test file p4test.txt .
- When you’re satisfied with your ε-NFA, save it as p4<username>.jff .
- First 8 should accept, the last 4 reject.
Submission:
- Upload the four pX<username>.jff files.
- Do not upload the test files.