S3 (programming language): Difference between revisions

Content deleted Content added
m add {{Use dmy dates}} for some HistoryofLondon articles per https://petscan.wmflabs.org/?psid=21939245
Link suggestions feature: 3 links added.
 
(2 intermediate revisions by 2 users not shown)
Line 161:
* The declaration of the procedure is decorated with annotations that define a command line syntax allowing the program to be called from SCL, or used from an interactive shell with prompting for default parameter values.
* Procedure calls prefixed CTM are calls to the "Compiler Target Machine", an [[API]] offered by the VME operating system.
* "JSV" means "job space variable", VME's term for an [[environment variable]], and the call on CTM_JS_READ reads the value of the variable.
* UNLESS means "if not"; ELSF means "else if".
* LONG LONG WORD declares a 128-bit integer, which is a native type supported by the 2900 architecture
* The bulk of the processing is delegated to another procedure, KERMIT_SUPPORT, which can be found in the same module. This is called indirectly via the operating system CTM_JS_CALL, similar to an exec() call on Unix systems; this ensures clean failure handling and tidying up of any resources in the event of a fatal error. The PDESC keyword constructs a "procedure descriptor": essentially it treats KERMIT_SUPPORT as a [[first-class function]] which can be passed as an argument to another function, making CTM_JS_CALL a [[higher-order function]] that calls its supplied argument with appropriate error handling.
 
==References==