25.5 – WEAK_GLOBAL
The WEAK_GLOBAL attribute specifies that an object is linked only when it is specifically included in the linking operation. To resolve a weak reference, the linker searches only the named input modules. You can specify an identifier to indicate the name by which the corresponding object is known to the linker. Syntax: [WEAK_GLOBAL] or, [WEAK_GLOBAL(identifier)] or, [WEAK_GLOBAL('string_literal')] The 'identifier' is the name of the identifier passed to the linker. If you omit the identifier, the name of the variable is used. The 'string-literal' passes a specified string literal to the linker unmodified. See the "HP Pascal Language Reference Manual" for the complete description of using the WEAK_GLOBAL attribute.
26 – VOLATILE
The VOLATILE attribute indicates to the compiler that the value of an object is subject to change at unusual points in program execution. Normally, during execution, an object's value generally changes only when another value is assigned to it, when it is passed as a writeable VAR parameter, when it is read into by a READ, READLN, or READV procedure, or when it is used as the control variable of a FOR loop. In addition, the compiler expects to evaluate the object only when it appears in an expression. The value of a volatile object may change as the result of an action not directly specified in the program. Thus, the compiler assumes that the value of a volatile object can be changed or evaluated at any time during program execution. Consequently, a volatile object does not participate in any optimization based on assumptions about its value. The behavior of many device registers, and modifications by asynchronous processes and exception handlers, are two examples that demonstrate volatile behavior. See the "HP Pascal Language Reference Manual" for the complete description of using the VOLATILE attribute.
27 – WRITEONLY
The WRITEONLY attribute specifies that an object can have values assigned to it but cannot be read by a program. See the "HP Pascal Language Reference Manual" for the complete description of using the WRITEONLY attribute.