1. VARIABLES A variable can be in an expression: foo -'foo' is a predefined variable of some type new[1] -the first position of array 'new' rec.field -a field of record 'rec' pointer^ -the pointer variable of the pointer type 'pointer' cast::INTEGER -the variable 'cast' type cast as an integer 2. STRING CONSTANTS A string constant can have the following forms: name-string or {name-string ({constant-expression},...)}... [[name-string]] The 'name-string' is a quoted sequence of spaces, tabs, and any other printing characters. An apostrophe is expressed as ''. For example, 'hello there' is a name-string. The '{name-string ({constant-expressions},...)}... [[name-string]]' is a sequence that makes up a name-string. For example, when the list ('bell ' (7) 'character') is output to the terminal, you will see the string 'bell character' and the bell will ring (as indicated by the constant expression '(7)'). Additionally, VSI Pascal allows string constants to be formed with double quotes. Inside of these double-quoted string constants, VSI Pascal is able to recognize special characters that are specified with a backslash, as follows: o "\a" (Alert (bell) character) o "\b" (Backspace character) o "\f" (Forfeed character) o "\n" (New line or line feed character) o "\r" (Carriage return character) o "\t" (Horizontal tab character) o "\v" (Vertical tab character) o "\\" (Backslash character) o "\"" (Double quotation mark character) o "\'" (Single quotation mark character) o "\nnn (Character whose value is nnn, where nn is an octal number from 00 to 377.) o "\xnn" (Character whose value if nn, where nn is a hexadecimal number from 00 to FF.) 3. CONSTANT IDENTIFIER A constant identifier is an identifier of a type that can be determined at compile time. The following are examples of constant identifiers: CONST Foo = 3; Exp = 8 * 9; Func = MAX( 3, 2, 4 ); 4. EXPRESSION IDENTIFIER An expression identifier is an expression in parentheses optionally followed by a type cast structure. Examples are: ( a + b ) - 'a' and 'b' are predeclared variable identifiers ( Foo ) :: INTEGER - expression 'Foo' type cast as an integer 5. FUNCTION IDENTIFIER A function identifier is the name of a predeclared function. If the function has formal parameters, the function identifier must be followed by one actual parameter for each formal parameter listed. For example: FUNCTION Foo ( VAR n : INTEGER; start : Boolean ) : REAL; A call to function 'Foo' could look like the following: Foo( bar, TRUE ) Function 'Foo' returns a REAL value.