A source file accepted by GNU Pascal may contain up to one program, zero or more ISO-style modules, and/or zero or more UCSD-style units. Units and modules can be mixed in one project.
One trivial example for a valid GPC source file follows. Note that the code below may either be in one source file, or else the unit and the program may be in separate source files.
unit DemoUnit; interface procedure Hello; implementation procedure Hello; begin WriteLn ('Hello, world!') end; end.
program UnitDemo; uses DemoUnit; begin Hello end.