A.1 PIF Language Rules
Next: A.2 Notation Conventions
Up: PhD Thesis Franz Fasching
Previous: A The PIF Syntax
The PIF syntax is a subset of LISP. Every language element consists of lists of other
elements enclosed in parentheses. The first element of a list is usually a
keyword indicating the purpose of the data making up the rest of the list
(this is called an ``association list''). A data element can also be a list,
allowing for the construction of recursive association lists.
- PIF is (in difference to the majority of LISP implementations)
case sensitive.
- PIF delimiters are the ASCII white space characters
horizontal tab <HT>, line feed <LF>, vertical tab <VT>, form
feed <FF>, carriage return <CR> and space <SPC>. At least
one PIF delimiter is required between consecutive elements of type name,
asciiStringValue, realValue and integerValue. PIF
delimiters are ineffective in asciiStringValue and not legal in an
integerValue, a name and an anyUnitExpression.
- Keywords and names must not be abbreviated.
- Keywords are unique, i.e. it is not allowed to use a keyword in place
of a name.
- PIF objects must have unique names throughout a PIF file for
unambiguous references by name. The reason for this restriction is the great
simplification in the referencing and identification of an object and hence,
the simplification in the implementation of the PIF (especially in the
binary intertool version). Furthermore, it is no longer necessary to specify
name and type when referencing a PIF object, the unique name is sufficient.
- Comments for documentation purposes start with a semicolon
mark and extend to the end of the line. These comments are skipped by the
low level input routines and have no meaning within the intersite PIF file
(Comments which are persistent even in the intertool format may be specified
with the comment construct.
- Objects may be referenced before they are defined.
- A PIF file consists of one or more named PLBs.
Next: A.2 Notation Conventions
Up: PhD Thesis Franz Fasching
Previous: A The PIF Syntax
Martin Stiftinger
Tue Nov 29 19:41:50 MET 1994