Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

Define a class called SymbolBalance in the provided empty SymbolBalance.java file. Your SymbolBalance class should take a single command line argument. This argument should be

Define a class called SymbolBalance in the provided empty SymbolBalance.java file.

Your SymbolBalance class should take a single command line argument. This argument should be the name of another java file.

Read in the file and check to make sure that all { }s, ( )'s, [ ]'s, " "s, and /* */s are properly balanced. Make sure to ignore characters within literal strings and comment blocks.

You do not need to handle single line comments (those that start with //), literal characters (things in single quotes), or the diamond operator(<>).

There are a number of error cases:

The file ends with one or more opening symbols missing their corresponding closing symbols.

There is a closing symbol without an opening symbol.

There is a mismatch between closing and opening symbols (for example: { [ } ] ).

Your program should output whether or not the symbols are all appropriately balanced. If they are not, indicate which error condition occurred and what symbol type caused the problem.

You will need to write your own stack class for this. It should be generic (in this particular case you will be pushing Character objects on it, but it should be capable of handling any object reference). Call your stack class: MyStack.java.You should use java.util.LinkedList as an instance variable in your MyStack class, but in the implementation of your stack methods, you are only allowed to use its basic list operations, not the stack operations themselves (that is, do not use LinkedLists native push and pop methods). Your stack should implement the following methods:

public void push(AnyType x)

public AnyType pop()

public AnyType peek()

public boolean isEmpty()

public int size()

Define this class in the provided empty MyStack.java file.

Here is an example. You are given a file with the following contents:

 public static final void main(String[ ) args) { System.out.println("Hello."); } } 

You would run your program like this:

java SymbolBalance Test.java

and the output should be something like:

Unbalanced! Symbol ) is mismatched.

We have provided you with a number of Test inputs in the sub-folder TestFiles.

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

XML Data Management Native XML And XML Enabled Database Systems

Authors: Akmal Chaudhri, Awais Rashid, Roberto Zicari, John Fuller

1st Edition

0201844524, 978-0201844528

Students also viewed these Databases questions

Question

What is the difference between a general and limited partner?

Answered: 1 week ago