Name der Funktion | syntaktisches Konstrukt | semantischer Wert | ||
D | [[ | '0' | ]] = | 0 |
Es ist prinzipiell nicht nötig das syntaktische Konstrukt speziell zu kennzeichnen, da sich eine semantische Funktion immer auf syntaktische Werte beziehen muß. Die Kennzeichnung wird jedoch beibehalten, um das Lesen der Definitionen zu vereinfachen. Um eine vollständige Definition zu geben muß zunächst definiert werden welche syntaktische Domäne welcher semantischen zugeordnet wird und danach werden die einzelnen Funktionen für jeden Ast des Syntaxbaumes definiert. Hierbei können natürlich die, für diese Algebra definierten, Operationen angewandt werden.
E | [[ | E1 '+' E2 | ]] = | E[[E1]] | + | E[[E2]] |
E | [[ | E1 '-' E2 | ]] = | E[[E1]] | - | E[[E2]] |
E | [[ | E1 '*' E2 | ]] = | E[[E1]] | * | E[[E2]] |
E | [[ | E1 '/' E2 | ]] = | E[[E1]] | / | E[[E2]] |
E | [[ | E1 '%' E2 | ]] = | E[[E1]] | % | E[[E2]] |
E | [[ | N | ]] = | N[[N]] |
Mit diesen Werkzeugen kann nun eine grundlegende denotationale Definition einer Sprache erfolgen, die Ausdrücke einem Integer Wert zuordnet.