Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

How would you make a state machine with the following requirements in C programming? Requirements: No Commands: Before any commands are issued to your program,

How would you make a state machine with the following requirements in C programming?

Requirements:

No Commands: Before any commands are issued to your program, it should print out the starting state.

One/Zero Commands: These commands (a `0' or a `1' on a line by itself) must print to stdout the name of the next state given the supplied input, and update the current state.

Change command: The change command is invoked by the letter `c' followed by a `1' or a `0' followed by the name of a state (i.e. a single letter in the range AH). This command modifies the state machine such that the `0' (or `1') command applied to the current state will cause the machine to change to the named state and that this change is the state machine configuration will continue. This command should produce no output.

Print command: The print command is invoked with the single letter `p'. It should print to stdout the state machine configuration as currently specified (i.e. including changes that may have been made with change commands) in the same format that your state machine was specified with.

Garbage Identify command: This command is invoked with the single letter `g'. It should identify all states that are reachable or unreachable from the current state. It always produces output to stdout.

If all states are reachable, it should output No garbage. Otherwise, it should output

Garbage: where is the list of the state names that are no longer reachable.

Delete command: This command is invoked with `d', optionally followed by the name of a state to delete. When the d command is invoked without the optional argument, it should delete (i.e. mark as deleted) all un-deleted states that are unreachable. If there are no such unreachable un-deleted states, it should print:

No states deleted.

Otherwise, it should print the message:

Deleted:

If the d command is followed by an argument that it the valid name of a state, it should print out either the message:

Deleted.

if the state is not reachable and not already deleted. Otherwise, it should print out the message:

Not deleted.

If a state is successfully deleted, it should no longer appear in the list of states produced by the print command and it should be disallowed as a final argument to the change command.

State Diagram that should be implemented: image text in transcribed

0 0 0 0 0 0

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Learn Mysql The Easy Way A Beginner Friendly Guide

Authors: Kiet Huynh

1st Edition

B0CNY7143T, 979-8869761545

More Books

Students also viewed these Databases questions

Question

Does it avoid using personal pronouns (such as I and me)?

Answered: 1 week ago

Question

Does it clearly identify what you have done and accomplished?

Answered: 1 week ago