1.0.0 • Published 1 year ago

polish-notation-converter v1.0.0

Weekly downloads
-
License
MIT
Repository
-
Last release
1 year ago

Polish Notation Converter

A simple converter from infix to polish notation (both normal/prefix and reverse/postfix) and vice versa.

Algorithm

Infix - Postfix

  1. Read each element of the expression from left to right.
  2. Parse the current element:
    1. If the element is an operand: Add the element to the result string.
    2. If the element is "(": Push the element onto the stack.
    3. If the element is ")": Iterate over the array before finding a "(" and pop the elements from the array.
    4. If the element is an operator: Add every operator of higher or equal precedence (using pemdas) to the result string and push the element to the stack.
  3. Pop all the rest of the elements from the stack and add them to the result string.
  4. Return the result string.

Infix - Prefix

Do almost the same as Infix - Postfix, but 1. Read each element of the expression from right or left (or reverses the string). 2. Analyse the current element: ... 4. If the element is an operator: Add every operator of higher precedence to the result string and push the element to the stack. ...

Postfix - Infix

  1. Read each element of the expression from left to right.
  2. Parse the current element:
    1. If the element is an operand Push the element onto the stack.
    2. If the element is an operator: Remove the two most recent elements from the stack (op1, op2) and push the string "(" + op1 + operator + op2 + ")" onto the stack.
  3. Pop the most recent element from the stack and add it to the result string.
  4. Return the result string without the first and last parentheses.

Prefix - Infix

  1. Read each element of the expression from right to left. ...
1.0.0

1 year ago

0.0.1

1 year ago