Question
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
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started