Nun haben Sie endlich das Rüstzeug beisammen, um sich dem Anweisungsteil des Programmes zuzuwenden. Der Anweisungsteil besteht aus einer (wie Sie gesehen hatten eventuell sogar leeren) Folge von Anweisungen zwischen den Wortsymbolen BEGIN und END.
PROGRAM ANWEISUNGSFOLGE(INPUT,OUTPUT); BEGIN WRITE('Diese Texte '); WRITE('werden in '); WRITE('der Reihenfolge '); WRITE('ihres Auftretens '); WRITE('gedruckt.') END.
In diesem Beispiel besteht jede Anweisung aus einem Befehl (genauer gesagt Prozeduraufruf) zur Ausgabe einer Stringkonstanten. Wenn Sie dieses Programm übersetzen und starten, sehen Sie, daß die Ausgaben in der Reihenfolge, in der sie im Programm genannt werden, ausgeführt werden. Die Anweisungen des Anweisungsteils sind voneinander durch Semikola getrennt. Vor dem Wortsymbol END kann das Semikolon entfallen.
In diesem Abschnitt wird die elementarste Form der Anweisung, die Zuweisung vorgestellt. Dabei wird einer (deklarierten!) Variablen links vom Zuweisungsoperator »:=« das Ergebnis der Berechnung des Ausdruckes auf der rechten Seite zugewiesen.
PROGRAM ZUWEISUNGEN(OUTPUT); VAR A,B,R: REAL; BEGIN A:= 0; B:= 1.023; B:= B+1; R:= (23.7 + B * A) / (A - B * B * B) END.
Da eine Zuweisung den alten Wert einer Variablen überschriebt, benötigt man zum Vertauschen der Werte der Variablen A und B eine Hilfsvariable H:
H:= A; A:= B; B:= H
Die Zuweisungen A:=B; B:=A alleine haben nämlich zur Folge, daß zunächst die Variable A den Wert der Variablen B erhält, und anschließend dieser Wert wieder der Variablen B zugewiesen wird.
(23.7 + B * A) / (A - B * B * B) A+1 A 0
sind jeweils Ausdrücke. Im allgemeinen enthalten Ausdrücke mehrere Operanden (z.B. Variablen, Konstanten) und Operatoren (wie +, -, OR, =). Die Struktur eines Ausdruckes in Pascal kann recht komplex werden und wird formal durch das Syntaxdiagramm AUSDRUCK im Anhang A beschrieben.
Ein Ausdruck wird dort schrittweise in einfache Ausdrücke, Terme, Faktoren und schließlich Konstanten und Variablen zerlegt. Dabei drücken die hierarchischen Bildungsregeln für Ausdrücke gleich- zeitig die Bindungsregeln der Operatoren aus. Die Regeln für Aus- drücke ähneln den Regeln in der Mathematik oder in BASIC und FORTRAN. Daher genügt es, auf die Besonderheiten von Pascal hinzu- weisen:
Die Additionsoperatoren binden stärker als die Vergleichs- operatoren =, <>, >=, <=, >, <, IN.
A / 3 + Z entspricht (A / 3) + Z NOT (X>7) OR (Y<3) AND (X=Y) entspricht (NOT (X>7)) OR ((Y<3) AND (X=Y))
A * B * C entspricht (A * B) * C A - B - C entspricht (A - B) - C
(A * B) - (C * D)stattA * B - C * D
'A' + 'B' * 'C'
Solche semantischen Regeln lassen sich natürlich nicht mit den Syntaxdiagrammen erfassen.