Question: I need this in C programming language. Please help. Question 2: STACK: Part I 30 pts] (a) (12 points) You are given the following requirements

I need this in C programming language. Please help.

I need this in C programming language. Please help. Question 2: STACK:

Part I 30 pts] (a) (12 points) You are given the following

requirements for a stack ahetract data type: (a) It must be able

Question 2: STACK: Part I 30 pts] (a) (12 points) You are given the following requirements for a stack ahetract data type: (a) It must be able to set up enough memory to accommodate the stack (b) It must be possible to make a stack empty, i.e. without freeing the memory. (c) It must be possible to push a given element on to a stack. (d) It must be possible to pop the topmost element from a stack. (e) It must be possible to free all the memory used by the stack. Write a contract for a stack abstract data type. Express your contract in the form of an ap programming interface (what we called API in class) using an opaque object, with a comment specify- ing the expected behavior of each function. Note: You shall need to specify the opaque object before using it. (b) (3 points) Briefly describe a possible representation for a stack. (5 points) For the describe representation in (b above, write c structure. you gave in (e) and your API (n a), complete the definition aemory for the stack structure, i.e. an initialization function. (d) (10 points) Given the stack representation of the function that reserves enough r This function should return an opaque handle. (e) (10 points) A stack machine has instructions that push integers on to a stack and pop integers of the stack. A typical stack machine has instructions such as those summarized in Table ?? below. Instruction Effect LOAD i-- Push the integer i on to the stack. ADD Pop two integers off the stack, add them, and push the result back on to the stack. p two integers of the stack, subtract the top most integer from the integet SUB and push the result back on to the stack Pop two integers of the stack, multiply and push the result back on to the stack. MIL MULT Table 1: Summary of stack machine instructions be A stack machine makes it easy to evaluate complicated expressions. Any integer expression can translated to stack machine code. After the code is executed, t which is the result of evaluating the expression. For example: he stack will contain a single integer, Expected result +34 Expression Stack machine code 1+(56)1TOADA LOADSLOADEMULT.ADD AD Draw diagrams showing the contents of the stack after executing each instruction in the stack machine code "LOAD 4; LOAD 5; LOAD 6; MULT; ADD". Assume your stack representation of part (C)

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!