algebraic expression problem
$30-5000 USD
Paid on delivery
AN HTML Version of the Complete file with Pictures is sent as an attachment in this BID. Please look through the ATTACHED FILE to see the NEEDED OUTPUT.
A program in Java that reads properly formed algebraic expressions and outputs them in *reverse polish* (postfix) notation. This is an important problem in parsing grammers (languages) of various kinds. In particular, this technique is used to translate *sensitive* constructs (those that need parentheses to clarify their meaning) into *insensitive* constructs (which do not require parentheses). It is required to provide a link based stack abstract data type and it is suggested that to use the following algorithm.
**algebraic vs. reverse polish notation**
**algebraic**
algebraic notation consists of variable names, constants, and operators.
1. operators are placed between the variables and/or constants which they affect.
2. operators are applied in a precedence order.
3. precedence can be overridden by parentheses.
## Deliverables
A program in Java that reads properly formed algebraic expressions and outputs them in *reverse polish* (postfix) notation. This is an important problem in parsing grammers (languages) of various kinds. In particular, this technique is used to translate *sensitive* constructs (those that need parentheses to clarify their meaning) into *insensitive* constructs (which do not require parentheses). It is required to provide a link based stack abstract data type and it is suggested that to use the following algorithm.
**algebraic vs. reverse polish notation**
**algebraic**
1. algebraic notation consists of variable names, constants, and operators.
2. operators are placed between the variables and/or constants which they affect.
3. operators are applied in a precedence order.
4. precedence can be overridden by parentheses.
examples:
`A + B`
`A * 4`
`A + B * C`
`(A + B) * C`
**reverse polish**
1. reverse polish notation consists of variable names, constants, and operators.
2. operators are placed after the variables and/or constants which they affect.
3. precedence is strictly enforced by the order in which operators are encountered.
4. there are no parentheses.
examples:
`A B +`
`A 4 *`
`A B C * +`
`A B + C *`
**For information:**
A reverse polish expression is evaluated by scanning from left to right until you encounter an operator; then applying the operator to the two immediately preceding values (one preceding value for unary operators) and inserting the result back into the list at the same point.
example:
A B C + + D *
scan from left to right, locate B C +, compute t, and place t back
in the expression.
A t + D *
scan from left to right, locate A t +, compute v, and place v
back in the expression.
v D *
scan from left to right, locate v D * and compute w the result.
Complete and fully-functional working program(s) in executable form as well as complete source code of all work done.
Installation package that will install the software (in ready-to-run condition) on the platform(s) specified in this bid request.
Exclusive and complete copyrights to all work purchased. (No GPL, 3rd party components, etc. unless all copyright ramifications are explained AND AGREED TO by the buyer on the site).
The program should be exclusive and copied or from the internet. It should be coded authentically for me.
Please use on JAVA for coding the program.
## Platform
Use only JAVA programming language.
Project ID: #2983835