JFLAP Modules and Exercises

* HOME

* Deterministic Finite Automata

  • Module
  • DFA_a.jff
  • DFA_cxc.jff
  • Exercise 1
  • Exercise 2
  • DFA_ab^na^m.jflap
  • Exercise 3
  • * Nondeterminstic Finite Automata

  • Module
  • NFA-1.jflap
  • NFA-2.jflap
  • Exercise 1
  • NFA_abstar.jff
  • NFA_aa.jff
  • NFA_abstar_aa.jff
  • Exercise 2
  • NFA_(ab_abc)star.jflap
  • NFA_(ab_abc)star.jflap
  • NFA_a(b+c)star_a.jflap
  • Exercise 3
  • * NFA to DFA Conversion

  • Module
  • Final DFA-1.jflap
  • NFAtoDFA-1.jflap
  • NFAtoDFA-2.jflap
  • Exercise 1
  • NFA2DFAEx1.jflap
  • NFA2DFAEX1Soln.jflap
  • Exercise 2
  • DFA_Shampoo.jflap
  • NFA_Shampoo.jflap
  • Exercise 3
  • * DFA Minimization

  • Module
  • 01NonemptySameParity.DFA.jflap7.jff
  • 01SameParity.DFA.jflap7.jff
  • AllStringsOverabc.DFA.jflap7.jff
  • aPlusbPluscPlusOverabc.DFA.jflap7.jff
  • NoStringsOverabc.DFA.jflap7.jff
  • AllStringsOverabc.DFA.jflap7.jff
  • Exercise 1
  • DFA2.jff
  • Exercise 2
  • DFA2Minimize.jff
  • Exercise 3
  • * DFA to Regular Grammar Conversion

  • Module
  • DFA_to_Right-Linear_Algorithm.jflap
  • RockPaperScissors_DFA.jflap
  • Exercise 1
  • DFA2RG.jff
  • Exercise 2
  • SandwichOrder.DFA.jflap
  • Exercise 3
  • DFA2CFG.jflap
  • Exercise 4
  • DFA2CFG.jflap
  • * DFA to Regular Expression Conversion

  • Module
  • DFA_ab_or_c.jff
  • Exercise 1
  • even-odd.jflap
  • Exercise 2
  • SandwichOrder.DFA.jflap
  • Exercise 3
  • DFA_LengthMultipleOf3.jflap
  • RE_LengthMultipleOf3.jflap
  • * Combining Automata

  • Module
  • S1.jff
  • S2.jff
  • Exercise 1
  • no-ab.jflap
  • odd-a.jflap
  • Exercise 2
  • DFA_a.jff
  • DFA_bk.jff
  • Exercise 3
  • DFA_Not_NotL1_Union_NotL2.jflap
  • DFA_NOT_Words_with_aa.jflap
  • DFA_NOT_Words_with_Even_as.jflap
  • DFA_NotL1_Union_NotL2.jflap
  • DFA_Words_with_aa.jflap
  • DFA_Words_with_Even_as.jflap
  • NFA_NotL1_Union_NotL2.jflap
  • * Regular Expression

  • Example
  • * Regular Expression to DFA Conversion

  • Module
  • regex_abc.jff
  • regex_abc_nfa.jff
  • regex_abc_dfa.jff
  • DFA_astar_babstar.jff
  • Exercise 1
  • RE.jff
  • RE2NFA2DFAFinal.jff
  • RE2NFAFinal.jff
  • Exercise 2
  • DFA_a(b+c)star_a.jflap
  • RE_a(b+c)star_a.jflap
  • Exercise 3
  • * Regular Expression Identities

  • Module
  • Shampoo_DFA1.jff
  • Shampoo_DFA2.jff
  • Shampoo_NFA1.jff
  • Shampoo_NFA2.jff
  • Shampoo_RE1.jff
  • Shampoo_RE2.jff
  • Exercise 1
  • Exercise 2
  • _work_star_play_star_star.NFA.jflap
  • study_procrastinate_star_study.DFA.jflap
  • study_procrastinate_study_star.DFA.jflap
  • work_or_play_work__star.jflap
  • * Regular Grammar

  • Module
  • MultiDigitArithmeticExpression_RightLinearGrammar.jflap
  • SimpleArithmeticExpression_CFG.jflap
  • SimpleArithmeticExpression_RightLinearGrammar.jflap
  • Exercise 1
  • Exercise 2
  • DivisibleBy5.RG.jflap
  • Exercise 3
  • RG_XaXaX.jff
  • DFA_XaXaX.jff
  • Exercise 4
  • * Regular Grammar to DFA Conversion

  • Module
  • BinaryNumberArithExp_DFA.jflap
  • BinaryNumberArithExp_RegularGrammar.jflap
  • Exercise 1
  • RG2DFA.jff
  • Exercise 2
  • DivisibleBy5.RG.jflap
  • Exercise 3
  • * DFA Relationship to Grep

  • Module
  • AlphabeticVariableNames.DFA.jflap
  • AlphanumericVariableNames.DFA.jflap
  • IntsNoLeading0s.HandGenerated.DFA.jflap
  • LLLdashDDDDLicensePlates.DFA.jflap
  • NonnegativeIntsNoLeading0s.DFA.jflap
  • NonnegativeIntsNoLeading0s.DFA.jflap7.jff
  • * Mealy Machine

  • Module
  • MEALY1.jff
  • Exercise 1
  • Mealy_Replace_First_1.jflap
  • Exercise 2
  • SandwichOrder.DFA.jflap
  • Exercise 3
  • SandwichOrder.Mealy.jflap
  • * Moore Machine

  • Module
  • Moore1.jff
  • Exercise 1
  • Moore_Replace_First_1.jflap
  • Exercise 2
  • * Context-free Grammar

  • Module
  • CFGModuleExample1.jflap
  • CFGMolduleExample2.jflap
  • CFGModuleExample3.jff
  • Exercise 1
  • CFG_xaxax.jff
  • Exercise 2
  • SimpleBuilding.CFG.jflap
  • SimpleStreet.CFG.jflap
  • UpAndDownSteps.CFG.jflap
  • Exercise 3
  • CFG_a^nb^mc^k.jflap
  • Example
  • ArithExpr.jflap
  • * Pushdown Automata

  • Module
  • PDAModuleExample1.jflap
  • Exercise 1
  • Exercise 2
  • PDA.jflap
  • Exercise 3
  • NPDA_na_nb.jflap
  • * NPDA to CFG Conversion

  • Module
  • na.nb_CFG.jff
  • na.nb_NPDA_v1.jff
  • na.nb_NPDA_v2.jff
  • na.nb_NPDA.jff
  • Exercise 1
  • Equal0sand1s.jflap
  • Equal0sAnd1sCFG.jff
  • Exercise 2
  • * CFG to NPDA Conversion

  • Module
  • Exercise 1
  • CFG2NPDA.jflap
  • Exercise 2
  • CFG_aSbb.jflap
  • PDA_aSbb.jflap
  • * Context-free Grammar with Single Symbols

  • Module
  • StripedFlags.CFG.jflap
  • Exercise 1
  • CFGExercise.jflap
  • Exercise 2
  • CFG_xaxax.jff
  • * Context-free Grammar with Multiple Symbols

  • Module
  • SimpleDeclarationAndAssignment.CFG.jflap
  • SimpleNestedIfs.CFG.jff
  • SimpleNestedIfs.CFG.jflap
  • Exercise 1
  • CFGsentence.jflap
  • Exercise 2
  • MSex.jflap
  • Exercise 3
  • CFG_sentence.jflap
  • * Context-free Grammar in Error using User Control Parse

  • Module
  • cfguucp.jflap
  • Exercise 1
  • badCFG.a3nb3n.jflap7.jff
  • badCFGfora3nb3n.jflap
  • goodCFG.a3nb3n.jflap7.jff
  • Exercise 2
  • CFGUserParse.jff
  • * LL Parsing

  • Module
  • LLParsing_Parens.jff
  • LLParsingabd.jff
  • Exercise 1
  • SimpleDeclarationAndAssignment.CFG.jff
  • SimpleDeclarationAndAssignment.old.CFG.jff
  • Exercise 2
  • LL.jff
  • * LR Parsing

  • Module
  • LRParsing_SimpleExpression.jff
  • Exercise 1
  • amplus1bmcn.CFG.jff
  • SimpleDeclarationAndAssignment.CFG.jff
  • Exercise 2
  • LR.jff
  • * CYK Parsing

  • Module
  • CYKModuleExample.jflap
  • CYKModuleExample2.jflap
  • * One-Tape Turing Machine

  • Module
  • TMv7.jff
  • Exercise 1
  • TM_wcw.jff
  • Exercise 2
  • Exercise 3
  • TM_NonHalting.jflap
  • Example 1
  • Stroke Adder0.jflap
  • StrokeAdder.jflap
  • tm3StrokeAdder.jflap
  • StrokeArithmeticTM.pdf
  • Example 2
  • StrokeSubtraction.jflap
  • tm3StrokeSubtracter.jflap
  • * Multi-Tape Turing Machine

  • Exercise 1
  • Exercise 2
  • Example
  • BinaryStrings.jflap
  • Turing Machine Building Blocks

  • Module
  • BlockStrokeAdder.jflap
  • BlockStrokeZeroAdder.jflap
  • Exercise 1
  • TMBLKS.jflap
  • Exercise 2
  • TMScanR.jff
  • TMScanL.jff
  • TMShiftL.jff
  • TMConcat.jff
  • Exercise 3
  • * Unrestricted Grammar

  • Module
  • 0n1n.CFG.jff
  • 0n1n2n.CFG.jff
  • 0n1n2n.UG.jff
  • 0n12n.CFG.jff
  • cool[cool].FirstAttempt.CFG.jff
  • cool[cool].UG.jff
  • Exercise 1
  • Exercise 2
  • UG.jff
  • Exercise 3
  • wwUnrestricted.jflap
  • Example
  • Fibonacci.jff
  • Fibonacci.jflap
  • * L-System Simple

  • Module
  • TK.jflap
  • Exercise 1
  • LSystemSimple.jflap
  • Exercise 2
  • colorBar.jflap
  • Exercise 3
  • MultipleSquares.LSystem.jflap
  • MultipleSquares.NoTouch.LSystem.jflap
  • SimpleSquare.LSystem.jflap
  • SimpleSquareDoubleSize.LSystem.jflap
  • StairSteps.LSystem.jflap
  • UpOrDown.LSystem.jflap
  • Exercise 4
  • LsystemJ1.jff
  • * L-System Complicated

  • Module
  • TK2.jflap
  • Exercise 1
  • LsystemJ2.jff
  • Exercise 2
  • LSystempComplicated.jflap
  • LSystempComplicated.jflap
  • PenroseTiling.jflap
  • * Regular Pumping Lemma

  • Module
  • abQuantityEvenNonEmpty.DFA.jflap
  • Exercise 1
  • RPL_wwr.jff
  • Exercise 2
  • Exercise 3
  • * Context-free Pumping Lemma

  • Module
  • Exercise 1
  • CFPL_anbn.jff
  • PDA_anbn.jff
  • Exercise 2
  • Exercise 3
  • akbncndj.jkdifferent.CFPL.jflap
  • * CFG to Chomsky Normal Form Transformation

  • Module
  • CFG2CNF.jff
  • Exercise 1
  • CFG1.jff
  • Exercise 2
  • CNF.jff
  • * Thoughts on Visualization with JFLAP

  • Example
  • Exercise