This is my current assignment

1. Make a complete implementation in C++ of the class Stack ( a generic stack) using a forwardly linked

ordered-list. Do NOT use arrays.

2. Use this stack to convert an arithmetic expression in INFIX form with only single character identifiers

of variables, left and right parentheses, operators (+, -, *, / ) to POSTFIX form. Input is an expression

followed by a colon and a sequence of value assignments, terminated by a period.

3. Use this example:

X + ( Y + Z ) * A / B ? C * X : A=2, B=10, C=5, X=8, Y=6, Z=4.

4. Completed project is due on Sept 5, 2001.

5. First, create a generic stack using template and linked list. Test your stack using an array of integers.

Then, test the algorithm of infix/postfix process using simple strings such as:

a + ( b ? c * e + f / y )#

a * b + ( c ? d / e )#

When your algorithm is working properly, then use the provided string to test your program .

6. Processing hints:

a. Read an input character until # or :.

1) If the current input symbol is an alphabet, write it to output.

2) Else if the current input symbol is a left parenthesis ( ?(? ), push the current input symbol onto

the stack.

3) Else if the current input symbol is a right parenthesis ( ?)? ), then pop each symbol from the stack

top and write it to output until a left parenthesis is popped. Then discard the matching left/right

parentheses.

4) Else If the current input symbol is an operator;

i. If the stack is empty, then push the current symbol on the stack.

ii. If the stack is not empty and the current symbol has higher precedence over the stacktop symbol,

then push the current symbol on the stack.

iii. If (stack is not empty and the current symbol has higher precedence over the stacktop symbol)

a. While the stack top symbol has precedence greater or equal to the current symbol, pop it from the

stack and write it to output.

b. Upon exiting the while loop, then push the current symbol onto stack.

5) At the end of input (input symbol is # or : ), pop and output all operators remained on stack.

6) Remember (*, /) have higher precedence over (+, -).

Part II. Read the assignment symbol = value and create a symbol table ( arrays of pairs of symbol and

value). Print your symbol table. The symbol table consists of two columns.: the first column lists terms

and the second column lists the matching values (parallel array).

Part III. Apply the values from the table to your POSTFIX and print the output.

Processing: Read a symbol. If it is an identifier, look up its value in the symbol table and push

the value onto a stack of numbers.

I have a stack program that changes Infix to postfix. My question is, What is the Linked list supose

to do in this problem? I can't see what it is supose to do in this programming problem? What is a stack

linked list used for? Can anyone give me some insight on how the design should work or could work? Not

code just can you tell me what would do what?