5.3.1 Using the header utility
NOTE: The command-line and IDE compilers can put #! headers into the generated executables so using
the Irie Header Utility is not necessary anymore unless you can't or don't want to recompile the
executable.
The Irie Header Utility is used to create IVM executables with #! headers. #! headers can be used by
UNIX or UNIX-like operating systems (such as Solaris, Linux or FreeBSD) to locate the interpreters that
should be used to execute scripts. When UNIX or a UNIX-like operating system attempts to execute a file
and the first two characters in the file are #!, the operating system will assume that the file is a script that
needs to be interpreted, and it will expect the location of the interpreter to follow the #!.
The syntax is:
ivm header input-executable output-executable [location]
where
input-executable - is the ivm executable you want to use to create the new executable from.
output-executable - is the ivm executable you want to create
location - if specified is the location of the interpreter to put in the #! header.
So for example if the interpreter was installed in /usr/local/bin, you would store #!/usr/local/bin/ivm in
front of the executable.
So for example if you had an IVM executable named hello.ivm you could enter
ivm header hello.ivm hello /usr/local/bin/ivm
which creates a new executable called hello which has
#!/usr/local/bin/ivm
in front (#! is automatically inserted). In order to be able to execute hello you also need to set the
executable permission bit (using
chmod a+x hello
for example).
6.1 Overview of extensions to Standard Pascal
Standard Pascal (i.e. ISO/IEC 7185) allows implementations, such as Irie Pascal, to add new features,
called extensions. However an extension to Standard Pascal can not invalidate any Standard Pascal
program that would otherwise be valid, except possibly by adding new keyword(s) that would invalidate
programs that used those keyword(s) as normal identifiers. NOTE: ISO/IEC 7185 is the standard for the
Pascal porgramming language published by the Internation Organization for Standardization.
Irie Pascal supports a number of extensions to Standard Pascal. Some of these extensions were added for
compatibility with Turbo Pascal or Extended Pascal, while others were added for other reasons and are
likely to be specific to Irie Pascal.
The Irie Pascal extensions to Standard Pascal are listed below: