Next: , Previous: , Up: Imperative Language Interpreter Functions   [Index]


5.9.3.13 x1f4_long_program

extern int x1f4_long_program
    (void *program, int *note, void *back, int (*call)(void *),
     void *output);

The x1f4_long_program function executes the program program. After each successfully non ‘return’ introduced expression evaluation it tests the int stored at note and upon non zero find it calls the call routine, passing it back as its only argument. If the routine evaluates zero, the x1f4_long_program function resets the int stored at note and continues with the program execution, otherwise it immediately returns non zero.

See Imperative Program Execution.

A non zero return of the call routine may be examined against the defined error classes and recovered later, depending on its value and whether error trapping mechanisms have been installed.

See Error Classes.

See Limiting The Scope Of Errors.

If successful, the function stores the evaluation result of the last program statement at the address indicated by output and returns 0. Non zero is returned for failure. The statement would be a ‘return’ introduced one. The completion syntax when parsing the program would have indicated that the last statement of the program is ‘return’ introduced.

See Imperative Language Syntax.

See Program Completions.

See Functions.

See struct x1f4_function_type.

See Prefix Unary Operators.

See Infix Binary Operators.

See struct x1f4_operator_type.