Polish notation

Polish notation (PN), also known as normal Polish notation (NPN),[1] Łukasiewicz notation, Warsaw notation, Polish prefix notation or simply prefix notation, is a mathematical notation in which operators precede their operands, in contrast to the more common infix notation, in which operators are placed between operands, as well as reverse Polish notation (RPN), in which operators follow their operands. It does not need any parentheses as long as each operator has a fixed number of operands. The description "Polish" refers to the nationality of logician Jan Łukasiewicz,[2]: 24 [3]: 78 [4] who invented Polish notation in 1924.[5]: 367, Footnote 3 [6]: 180, Footnote 3 

The term Polish notation is sometimes taken (as the opposite of infix notation) to also include reverse Polish notation.[7]

When Polish notation is used as a syntax for mathematical expressions by programming language interpreters, it is readily parsed into abstract syntax trees and can, in fact, define a one-to-one representation for the same. Because of this, Lisp (see below) and related programming languages define their entire syntax in prefix notation (and others use postfix notation).

  1. ^ Cite error: The named reference Jorke_1989 was invoked but never defined (see the help page).
  2. ^ Cite error: The named reference Łukasiewicz_1929 was invoked but never defined (see the help page).
  3. ^ Cite error: The named reference Łukasiewicz_1957 was invoked but never defined (see the help page).
  4. ^ Cite error: The named reference Kennedy_1982 was invoked but never defined (see the help page).
  5. ^ Cite error: The named reference Łukasiewicz_1931 was invoked but never defined (see the help page).
  6. ^ Cite error: The named reference Łukasiewicz_1970 was invoked but never defined (see the help page).
  7. ^ Cite error: The named reference Main_2006 was invoked but never defined (see the help page).