Node:The Program, Next:Label Declaration, Up:Source Structures
A generic GNU Pascal program looks like the following:
program name (Input, Output); import_part declaration_part begin statement_part end.
The program
headline may be omitted in GPC, but a warning
will be given except in --borland-pascal
mode.
While the program parameters (usually Input
, Output
)
are obligatory in ISO Pascal if you want to use ReadLn
and
WriteLn
, they are optional in GNU Pascal. GPC will warn about
such missing parameters in --extended-pascal
mode. However if
you give parameters to the program headline, they work like ISO
requires.
The import_part consists either of an ISO-style import
specification or a UCSD/Borland-style uses
clause. While
import
is intended to be used with interfaces exported by
ISO 10206 Extended Pascal modules, and uses
is intended to be
used with units, this is not enforced. (See also uses,
import.)
The declaration_part consists of label, constant, type, variable or subroutine declarations in free order. However, every identifier must be declared before it is used. The only exception are type identifiers pointing to another type identifier which may be declared below.
The statement_part consists of a sequence of statements.
As an extension, GPC supports a "declaring statement" which can be used in the statement part to declare variables (see var).