SPL Compiler Code
Student Programming Language (SPL) a subset of PL/I
Status: Beta
Brought to you by:
shoefoot
$PROCESS Format diagnostic DECLARE TEST FIXED BINARY; DECLARE SHOW BIT(1); COMP: PROCEDURE FIXED BINARY; DECLARE (I, J, K) FIXED BINARY; DECLARE SUM FIXED BINARY; I = 1; J = 2; K = 3; SUM = 0; TEST = 1; IF I ^= 2 THEN SUM = SUM + 1; IF J ^= 2 THEN SUM = SUM + 2; IF K ^= 2 THEN SUM = SUM + 4; IF SHOW THEN PUT SKIP EDIT('TEST=', TEST, ' SUM=', SUM)(A,F(1),A, F(1)); IF SUM = 5 THEN ; ELSE RETURN (1); RETURN (0); END COMP; TEST_FILE: PROCEDURE; DECLARE HELLO CHARACTER(5); HELLO = 'Hello'; PUT FILE(SYSPRINT) SKIP LIST(HELLO); END TEST_FILE; DIAG: PROCEDURE OPTIONS (MAIN); DECLARE X FLOAT; X = 1234.0; SHOW = 1; TEST = COMP; PUT SKIP EDIT(1234, -1234)(F(12,0)); PUT SKIP EDIT(1234, -1234)(F(12,1)); PUT SKIP EDIT(1234, -1234)(F(12,2)); PUT SKIP EDIT(X, -X)(E(12,2)); PUT SKIP EDIT(1234, -1234)(F(40,18)); PUT SKIP LIST('Hello World'); PUT SKIP(2) LIST('Hello World'); FALSE = 0; SHOW = FALSE; END DIAG; EoF EoF