use Java. Project description Purpose: To model a DFA (Deterministic Finite Automaton) and use it to accept strings of the associated language. Input: The program should take the DFA description from a text file that is specified as a command line parameter. If this parameter is missing, the user should be prompted for the data file. Strings to be tested for inclusion in the language should be entered interactively by the user.   Output: For each string being tested, the program should indicate whether or not the string is accepted.   DFA input format: line 1:   alphabet -       eg. {0,1} line 2:   states -            eg. {a,b,c,d,e} line 3:   start state -    eg. a line 4:   accept states - eg. {d,e} lines 5-: transition fn -   eg. (a,0)->b                                           (a,1)->c                                           etc.   Notes: Assume no spaces in input. Alphabet must at least allow {0,1}. Please feel free to expand this. States must at least allow lower case letters, but you are welcome to expand this to numerals and upper case letters. Transition functions may appear in any order in the input text file. End of the input file indicates the end of transition functions.

C++ Programming: From Problem Analysis to Program Design
8th Edition
ISBN:9781337102087
Author:D. S. Malik
Publisher:D. S. Malik
Chapter13: Overloading And Templates
Section: Chapter Questions
Problem 20PE
icon
Related questions
Question

use Java.

Project description

Purpose: To model a DFA (Deterministic Finite Automaton) and use it to accept strings of the associated language.

Input: The program should take the DFA description from a text file that is specified as a command line parameter. If this parameter is missing, the user should be prompted for the data file. Strings to be tested for inclusion in the language should be entered interactively by the user.

 

Output: For each string being tested, the program should indicate whether or not the string is accepted.

 

DFA input format:

line 1:   alphabet -      

eg. {0,1}

line 2:   states -           

eg. {a,b,c,d,e}

line 3:   start state -   

eg. a

line 4:   accept states -

eg. {d,e}

lines 5-: transition fn -  

eg. (a,0)->b

                                   

      (a,1)->c

                                   

      etc.

 

Notes:

  • Assume no spaces in input.
  • Alphabet must at least allow {0,1}. Please feel free to expand this.
  • States must at least allow lower case letters, but you are welcome to expand this to numerals and upper case letters.
  • Transition functions may appear in any order in the input text file. End of the input file indicates the end of transition functions.
Expert Solution
steps

Step by step

Solved in 3 steps with 1 images

Blurred answer
Knowledge Booster
Developing computer interface
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
C++ Programming: From Problem Analysis to Program…
C++ Programming: From Problem Analysis to Program…
Computer Science
ISBN:
9781337102087
Author:
D. S. Malik
Publisher:
Cengage Learning