Top 1K Features Creators Events Podcasts Books Extensions Interviews Blog Explorer CSV

S3

< >

S3 is a programming language created in 1986.

#1763on PLDB 38Years Old
Wikipedia

S3 is a structured, imperative high-level computer programming language. It was developed by the UK company International Computers Limited (ICL) for its 2900 Series mainframes. It is a system programming language with syntax influenced by ALGOL 68 but with data types and operators aligned to those offered by the 2900 Series. Read more on Wikipedia...


Example from Wikipedia:
GLOBAL STATIC (<STATUS 5;PSPACE 10001; TEMPLATE>) PROC KERMIT_THE_FROG IS ((<LIT "COMMAND">) REF()BYTE OPTION, (<LIT "" >) REF()BYTE VME_FILE, (<LIT "" >) REF()BYTE REM_FILE, (<KEY RESPONSE;DEF N'RESULT>) RESPONSE RESULT): BEGIN ()BYTE JSV_NAME := "ASG"; @ obtain value for ASG_ROUTE bool @ CTM_JS_READ(JSV_NAME,NIL,NIL,ASG_ROUTE,RC_IGNORED); IF RC_IGNORED NE 0 THEN ASG_ROUTE := FALSE FI; @ verify parameter references (parameter values validated later): @ @ OPTION must be of mode REF () BYTE, may not be ZLR or NIL @ @ VME_FILE must be of mode REF () BYTE, may be ZLR, must not be NIL @ @ REM_FILE must be of mode REF () BYTE, may be ZLR, must not be NIL @ UNLESS (VERIFY OPTION AND VALIDR OPTION) AND (VERIFY VME_FILE AND (VALIDR VME_FILE OR NOT(VME_FILE IS NIL))) AND (VERIFY REM_FILE AND (VALIDR REM_FILE OR NOT(REM_FILE IS NIL))) THEN @ invalid parameter reference @ RESULT := 10002 @ ARCH_INACCESSIBLE_PARAMETER @ ELSF @ create resource block @ CTM_JS_BEGIN(RESULT); RESULT <= 0 THEN @ resource block created @ LONG LONG WORD KERMIT_RESULT; ANY((3)LONG WORD AS_LW,(6) WORD AS_W) PARAMS; PARAMS.AS_LW := (BDESC OPTION,BDESC VME_FILE,BDESC REM_FILE); @ set up program error handler @ IF KMT_EH_INFORM_PE_CONTINGENCY(RESULT); RESULT > 0 THEN @ failed to set error handler @ SKIP ELSF CTM_JS_CALL(NIL,PDESC KERMIT_SUPPORT,PARAMS.AS_W,KERMIT_RESULT, RESULT); @ create firewall @ RESULT <= 0 THEN @ either exited normally or via CTM_STOP @ RESULT := IF (S'S'KERMIT_RESULT) <= 0 THEN 0 @ ignore warnings @ ELSE 52000 @ error return common resultcode @ FI FI; CTM_JS_END(RC_IGNORED) @ end resource block @ FI END

Language features

Feature Supported Example Token
Comments @ a comment @
Semantic Indentation X

- Build the next great programming language · Add · Issues · About · Search · Keywords · Livestreams · Labs · Resources · Acknowledgements

Built with Scroll v154.3.0

S3

< >

S3 is a programming language created in 1986.

#1763on PLDB 38Years Old
Wikipedia

S3 is a structured, imperative high-level computer programming language. It was developed by the UK company International Computers Limited (ICL) for its 2900 Series mainframes. It is a system programming language with syntax influenced by ALGOL 68 but with data types and operators aligned to those offered by the 2900 Series. Read more on Wikipedia...


Example from Wikipedia:
GLOBAL STATIC (<STATUS 5;PSPACE 10001; TEMPLATE>) PROC KERMIT_THE_FROG IS ((<LIT "COMMAND">) REF()BYTE OPTION, (<LIT "" >) REF()BYTE VME_FILE, (<LIT "" >) REF()BYTE REM_FILE, (<KEY RESPONSE;DEF N'RESULT>) RESPONSE RESULT): BEGIN ()BYTE JSV_NAME := "ASG"; @ obtain value for ASG_ROUTE bool @ CTM_JS_READ(JSV_NAME,NIL,NIL,ASG_ROUTE,RC_IGNORED); IF RC_IGNORED NE 0 THEN ASG_ROUTE := FALSE FI; @ verify parameter references (parameter values validated later): @ @ OPTION must be of mode REF () BYTE, may not be ZLR or NIL @ @ VME_FILE must be of mode REF () BYTE, may be ZLR, must not be NIL @ @ REM_FILE must be of mode REF () BYTE, may be ZLR, must not be NIL @ UNLESS (VERIFY OPTION AND VALIDR OPTION) AND (VERIFY VME_FILE AND (VALIDR VME_FILE OR NOT(VME_FILE IS NIL))) AND (VERIFY REM_FILE AND (VALIDR REM_FILE OR NOT(REM_FILE IS NIL))) THEN @ invalid parameter reference @ RESULT := 10002 @ ARCH_INACCESSIBLE_PARAMETER @ ELSF @ create resource block @ CTM_JS_BEGIN(RESULT); RESULT <= 0 THEN @ resource block created @ LONG LONG WORD KERMIT_RESULT; ANY((3)LONG WORD AS_LW,(6) WORD AS_W) PARAMS; PARAMS.AS_LW := (BDESC OPTION,BDESC VME_FILE,BDESC REM_FILE); @ set up program error handler @ IF KMT_EH_INFORM_PE_CONTINGENCY(RESULT); RESULT > 0 THEN @ failed to set error handler @ SKIP ELSF CTM_JS_CALL(NIL,PDESC KERMIT_SUPPORT,PARAMS.AS_W,KERMIT_RESULT, RESULT); @ create firewall @ RESULT <= 0 THEN @ either exited normally or via CTM_STOP @ RESULT := IF (S'S'KERMIT_RESULT) <= 0 THEN 0 @ ignore warnings @ ELSE 52000 @ error return common resultcode @ FI FI; CTM_JS_END(RC_IGNORED) @ end resource block @ FI END

Language features

Feature Supported Example Token
Comments @ a comment @
Semantic Indentation X

>) PROC KERMITTHEFROG IS