• Increase font size
  • Default font size
  • Decrease font size

UPN - Umgekehrte Polnische Notation

E-Mail Drucken PDF

 Jan Łukasiewicz Jan Łukasiewicz

Die Umgekehrte Polnische Notation (kurz UPN), auch Postfixnotation genannt, stellt eine Vorgehensweise für die Evaluation von Termen dar. Die Abarbeitung eines Terms erfolgt dabei auf der Grundlage eines Stapels (Stack). Die Operanden werden dazu lesend auf einen Stapel gelegt. Erscheint ein Operationszeichen, werden die letzten 2 Operanden vom Stapel genommen, mittels der Operation berechnet, und das Ergebnis auf den Stack zurückgeschrieben. Im Folgenden wird neben der Implementierung in Python auch eine Vorgehensweise für Java angeboten, die einen Abschluss als Applet hat. Die prinzipielle Funktionalität des Programms ist allerdings bereits durch den Pythoncode belegt.  

Applet zur Veranschaulichung der Postfixnotation


Eine Einbindung in die eigene Seite ist wie folgt möglich:

<APPLET codebase= "http://www.g-ymnasium.de/Java/UPN/" code= "Postfixapplet.class" width="300" height="150" ></APPLET>

 

  [Source]    Stack

  [Source]    Postfix  

  [Source]    Postfixapplet

 

01 	def  postfix(value):
02
03 ziffern = "0123456789"
04
05 for i in range (len(value)):
06 if value in ziffern: self.stack.push(value)
07 elif value == '+':
08 a = int(self.stack.top())
09 self.stack.pop()
10 b = int(self.stack.top())
11 self.stack.pop()
12 self.stack.push(a+b)
13 ...
14
15 else :
16 ... Fehlermeldung, da unerlaubter Ausdruck

 

Aktualisiert ( Freitag, 09. Dezember 2011 um 20:56 Uhr )  

(c) g-ymnasium.de 2006 - 2013 + Administrator