Answered step by step
Verified Expert Solution
Question
1 Approved Answer
Please let me know how to do this using stacks. Thanks a lot. ====================================================================================================== An expression with binary operators can be expressed unambiguously as a
Please let me know how to do this using stacks. Thanks a lot.
======================================================================================================
An expression with binary operators can be expressed unambiguously as a fully parenthesized infix expression (FPIE), or un-parenthesized postfix expression (UPPE) A FPIE exp is either an operand, or of the form (exp, op exp FPIEs and op is a binary operator. The same expression as UPPE is either the said operand or of the form exp', exp' op , where exp', and exp'2 are UPPE equivalents of exp, and exp, , respectively. Here is an illustrative example p,,where exp, and exp, are ((a 20)/((b c) (53.4 -d) a20+bc-53.4 d-*/ as FPIE, as equivalent UPPE Another way the same expression can be expressed unambiguously is the FPIE but with all left parentheses removed, i.e., we use only right parentheses. Let's call this version as right parenthesized infix expression (RPIE). The above example expression is a 20)/b - c) 53.4 - d))) as equivalent RPIE. Write a Java program that takes from the standard input a valid RPIE and outputs the equivalent FPIE and UPPE. Note Conversion from a FPIE to its equivalent RPIE is trivial: simply remove all left parentheses However, the reverse conversion is interesting and non-trivial An input string may include blank spaces, (right) parentheses, operands, and the four arithmetic operators t, -*, /. Any character other than blank spaces, operators, and (right) parentheses will be assumed as part of an operand. Operands may be any numeric constants or variable identifiers but are not syntactically checked. Not withstanding that, IllegalArgumentException may be thrown if the input does not represent a valid RPIE. An expression with binary operators can be expressed unambiguously as a fully parenthesized infix expression (FPIE), or un-parenthesized postfix expression (UPPE) A FPIE exp is either an operand, or of the form (exp, op exp FPIEs and op is a binary operator. The same expression as UPPE is either the said operand or of the form exp', exp' op , where exp', and exp'2 are UPPE equivalents of exp, and exp, , respectively. Here is an illustrative example p,,where exp, and exp, are ((a 20)/((b c) (53.4 -d) a20+bc-53.4 d-*/ as FPIE, as equivalent UPPE Another way the same expression can be expressed unambiguously is the FPIE but with all left parentheses removed, i.e., we use only right parentheses. Let's call this version as right parenthesized infix expression (RPIE). The above example expression is a 20)/b - c) 53.4 - d))) as equivalent RPIE. Write a Java program that takes from the standard input a valid RPIE and outputs the equivalent FPIE and UPPE. Note Conversion from a FPIE to its equivalent RPIE is trivial: simply remove all left parentheses However, the reverse conversion is interesting and non-trivial An input string may include blank spaces, (right) parentheses, operands, and the four arithmetic operators t, -*, /. Any character other than blank spaces, operators, and (right) parentheses will be assumed as part of an operand. Operands may be any numeric constants or variable identifiers but are not syntactically checked. Not withstanding that, IllegalArgumentException may be thrown if the input does not represent a valid RPIEStep 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