PROGRAM main CONST %% can be empty or completely missing cons360 = 360; %% a legal name on the left, a legal constant on the right myfloat = 3.6; ENDCONST TYPE %% can be empty or completely missing mytype = ARRAY[1..10] of INTEGER; ENDTYPE FUNCTION foo(x : INTEGER): INTEGER; BEGIN foo := x * x - 3; END PROCEDURE p(x,y: INTEGER; VAR z: INTEGER); TYPE ENDTYPE BEGIN y := x * x; WRITE(y); WRITESP(); z := y; END BEGIN VAR %% can be empty or completely missing x : INTEGER; ENDVAR x := foo(4); p(5, 10, x); WRITE(x); WRITELN(); END