DON'T REMOVE THESE LINES, THEY ARE IMPORTANT. DO (3002) NEXT DO .6 <- #0 DO (214) NEXT DON'T DESPAIR: THIS IS A SHORT MANUAL ---------------------------------------------------------------------- THIS IS THE INTERCALL RPN 16 BIT INTEGER VERSION WITH SYSLIB SUPPORT WITH SUPPORT FOR: +, -, *, / YOU MUST ENTER NUMBERS SEPERATED BY SPACES AND THE MATHEMATICAL OPERATORS. THE LINE MUST END WITH A NEWLINE CHARACTER PLEASE NOTE CARRIAGE RETURN CHARACTERS ARE IGNORED. THEY ARE NOT REGARDED AS EQUIVALENT TO A NEWLINE CHARACTER! IT IS CONSIDERED AN ERROR IF ANY OTHER CHARACTER IS ENCOUNTERED VALUES ARE PUSHED ON A STACK AS THEY ARE SCANNED. AS AN OPERATOR IS FOUND, THE LAST TWO PUSHED VALUES ARE USED AND REPLACED BY THE RESULT FOR EXAMPLE, INPUT "1254 7 -23 +" FIRST SUBSTRACTS 7 FROM 1254, AND THEN ADDS 23; THE RESULT, 1270 IN THIS CASE, IS PRINTED DO NOT LEAVE MORE THAN ONE VALUE STACKED AT THE END OF THE INPUT LINE. IT IS CONSIDERED AN ERROR. IT IS ALSO AN ERROR IF LESS THEN TWO VALUES ARE AVAILABLE FOR A MATHEMATICAL OPERATOR. IF AN ERROR OCCURS EXECUTION STOPS IMMEDIATELY WITH AN ERROR MESSAGE THERE ARE SOME 16-BIT LIMITATIONS. BE AWARE THAT NEGATIVE VALUES WILL BE PRINTED AS VALUES ABOVE (32767) PLEASE ALSO BE AWARE THAT THERE ARE NO VALUES ABOVE (65535) DON'T FORGET THAT INPUT "-23" WILL TRY TO SUBSTRACT TWO VALUES, AND PUSH 23; IF YOU WANT TO PUSH THE VALUE -23, YOU MUST WRITE "0 23 -" OR SIMILAR; DON'T CONFUSE + OR - WITH UNARY OPERATORS; THEY ARE STRICTLY BINARY. ---------------------------------------------------------------------- DON'T REMOVE ANY OF THE LINES BELOW, IT'S ALL NECESSARY FOR CALCULATIONS PLEASE GIVE UP (210) DO NOT GIVE UP (214) PLEASE FORGET #8 (219) DO (212) NEXT DO (211) NEXT (212) DO (100) NEXT DO STASH .1 + .2 DO .1 <- .6 DO (1020) NEXT DO .6 <- .1 PLEASE RETRIEVE .1 (211) DO FORGET #1 PLEASE NOTE: HIGHLY COMPRESSED CODE (IN TERMS OF STATEMENT COUNT) TO DEAL WITH CURRENT CHAR .1: FIRST '\r' IS REPLACED WITH ' '. SEVEN POSSIBLE VALUES ARE MINGLED INTO THE LOWEST BITS OF .5 THE SEVEN VALUES ARE: EOF, ' ', '\n', +, -, *, / THEN THIS BITSET IS TRANSLATED INTO THE RANGE 1 TILL 8 DO .1 <- '#32$.1'~'"'?#65535$"'"'￿$"'￿$"'￿$ "'￿$"'#65535'~ '"?.1$#13"~"#0$#65535"'"'~'#65280$#65025'"'~ '#65280$#65025'"'~'#65280$#65025'"'~'#65280$#65025'"'"'~#0$#65535"$ "'"'￿$"'￿$"'￿$"'￿$"'#65535'~ '"?.1$#13"~ "#0$#65535"'"'~'#65280$#65025'"'~ '#65280$#65025'"'~'#65280$#65025'"'~ '#65280$#65025'"'"' DO .5 <- "V'"V'"V'"?'"'#65535'~'"?.1$#256"~"#0$#65535"'"~"'#65535'~ '"?.1$#256"~"#0$#65535"'"'$#1"~#1'$'"?'"'#65535'~'"?.1$#32"~ "#0$#65535"'"~"'#65535'~'"?.1$#32"~"#0$#65535"'"'$#1"~#1'"~#3'$ '"V'"?'"'#65535'~'"?.1$#10"~"#0$#65535"'"~"'#65535'~'"?.1$#10"~ "#0$#65535"'"'$#1"~#1'$'"?'"'#65535'~'"?.1$#43"~"#0$#65535"'"~"'#65535'~ '"?.1$#43"~"#0$#65535"'"'$#1"~#1'"~#3'"~#15'$'"V'"V'"?'"'#65535'~ '"?.1$#45"~"#0$#65535"'"~"'#65535'~'"?.1$#45"~"#0$#65535"'"'$#1"~#1'$ '"?'"'#65535'~'"?.1$#42"~"#0$#65535"'"~"'#65535'~'"?.1$#42"~ "#0$#65535"'"'$#1"~#1'"~#3'$'"?'"'#65535'~'"?.1$#47"~"#0$#65535"'"~ "'#65535'~'"?.1$#47"~"#0$#65535"'"'$#1"~#1'"~#15'"~#255 DO .5 <- '"'"'"'?'"'#65535'~'"?.1$#47"~"#0$#65535"'"~"'#65535'~ '"?.1$#47"~"#0$#65535"'"'$#1'~#1"$#0'~'#32767$#1'"$#0'~'#32767$#1'"$ "'"'"'"V"'"V'"'?'"'#65535'~'"?.1$#42"~"#0$#65535"'"~"'#65535'~ '"?.1$#42"~"#0$#65535"'"'$#1'~#1"'$'"'?'"'#65535'~'"?.1$#45"~ "#0$#65535"'"~"'#65535'~'"?.1$#45"~"#0$#65535"'"'$#1'~#1"'"~ "#0$#65535"'~#1"$'"'"V'"'?'"'#65535'~'"?.1$#43"~"#0$#65535"'"~ "'#65535'~'"?.1$#43"~"#0$#65535"'"'$#1'~#1"'$'"'?'"'#65535'~ '"?.1$#10"~"#0$#65535"'"~"'#65535'~'"?.1$#10"~"#0$#65535"'"'$#1'~#1" '"~"#0$#65535"'~#1"'"~"#0$#65535"'~#1"$#0'~'#32767$#1'"$ "'"'"V"'"V'"'?'"'#65535'~'"?.1$#42"~"#0$#65535"'"~"'#65535'~ '"?.1$#42"~"#0$#65535"'"'$#1'~#1"'$'"'?'"'#65535'~'"?.1$#45"~ "#0$#65535"'"~"'#65535'~'"?.1$#45"~"#0$#65535"'"'$#1'~#1"'"~ "#0$#65535"'~#1"$'"'"V'"'?'"'#65535'~'"?.1$#32"~"#0$#65535"'"~ "'#65535'~'"?.1$#32"~"#0$#65535"'"'$#1'~#1"'$'"'?'"'#65535'~ '"?.1$#256"~"#0$#65535"'"~"'#65535'~'"?.1$#256"~"#0$#65535"'" '$#1'~#1"'"~"#0$#65535"'~#1"'"~"#0$#65535"'~#1"$"'"V'"'?'"'#65535'~ '"?.1$#42"~"#0$#65535"'"~"'#65535'~'"?.1$#42"~"#0$#65535"'"'$#1'~#1" '$'"'"V'"'?'"'#65535'~'"?.1$#43"~"#0$#65535"'"~"'#65535'~'"?.1$#43"~ "#0$#65535"'"'$#1'~#1"'$'"'"V'"'?'"'#65535'~'"?.1$#32"~"#0$#65535"'"~ "'#65535'~'"?.1$#32"~"#0$#65535"'"'$#1'~#1"'$'"'?"'.5~.5'~#1" $#1'~#1"'"~"#0$#65535"'~#1"'"~"#0$#65535"'~#1"'"~ "#0$#65535"'~#1"'~#3"'~#13"'~#53 DO NOT " PLEASE DO NOT REMOVE THIS LINE (236) DO (237) NEXT DO (224) NEXT (237) DO (238) NEXT DO (223) NEXT (238) DO (239) NEXT DO (222) NEXT (239) DO (240) NEXT DO (221) NEXT (240) DO (241) NEXT DO (215) NEXT (241) DO (242) NEXT DO (210) NEXT (242) DO (243) NEXT DO REINSTATE (220) DO (213) NEXT (243) DO (1001) NEXT PLEASE, WOULD YOU BE SO KIND TO ENTER VALID INPUT? (215) DO ABSTAIN FROM (220) (213) DO .5 <- '?"'#65535'~ '"?.6$#1"~"#0$#65535"'"$#1'~#3 DO (217) NEXT (220) DO (32767) NEXT DON'T BE SO FUNNY; DO YOU REALISE THAT ISN'T A VALID INPUT? (217) DO (1001) NEXT PLEASE RETRIEVE .2 DO .1 <- .2 DO (50) NEXT DO .1 <- #10 DO (3001) NEXT DO .6 <- #0 DO (214) NEXT (225) DO (1001) NEXT PLEASE REALISE YOU MUST HAVE AT LEAST TWO VALUES TO USE (221) DO (250) NEXT DO (1009) NEXT DO (251) NEXT (222) DO (250) NEXT DO (1010) NEXT DO (251) NEXT (223) DO (250) NEXT DO (1039) NEXT DO (251) NEXT (224) DO (250) NEXT DO (1040) NEXT DO (251) NEXT (250) DO .5 <- .6~#65534 DO .5 <- "?!5~.5'$#1"~#3 DO (225) NEXT PLEASE RETRIEVE .2 DO .3 <- .2 PLEASE RETRIEVE .2 DO .1 <- .2 DO .2 <- .3 PLEASE RESUME #1 (251) DO .2 <- .3 DO STASH .2 DO .1 <- .6 DO .2 <- #1 DO (1010) NEXT DO .6 <- .3 DO (214) NEXT (50) DO STASH .1 + .2 + .3 + .4 + .6 + ,1 DO ,1 <- #1000 DO .2 <- #1 DO .6 <- #1 DO (51) NEXT (51) PLEASE FORGET #1 DO (2030) NEXT DO ,1 SUB.6 <- .4 DO .1 <- .6 DO (1020) NEXT DO .6 <- .1 DO .5 <- '?.3$#9'~'#0$#65535' DO .5 <- "?'"&'".3~.5"~"'?"?.5~.5"$#32768'~'#0$#65535'"'$'.5~.5'"~#1'$#2"~#3 DO NOT ' PLEASE DO NOT REMOVE THIS LINE DO (55) NEXT DO .5 <- "?!3~.3'$#1"~#3 DO (52) NEXT DO ,1 SUB.6 <- .3 DO (57) NEXT (52) DO (1001) NEXT DO FORGET #1 DO (56) NEXT (57) PLEASE FORGET #1 DO .1 <- '#48$",1 SUB.6"'~#2645 DO (3001) NEXT DO (56) NEXT (56) PLEASE FORGET #1 DO .1 <- .6 DO (1010) NEXT DO .6 <- .3 DO .5 <- "?!6~.6'$#1"~#3 DO (58) NEXT DO (57) NEXT (58) DO (1001) NEXT PLEASE RETRIEVE .1 + .2 + .3 + .4 + .6 + ,1 PLEASE RESUME #2 (55) DO (1001) NEXT PLEASE FORGET #1 DO .1 <- .3 DO (51) NEXT (100) DO STASH .3 + .4 DO .2 <- #0 DO .99 <- #2 DO (101) NEXT (101) PLEASE FORGET #1 DO (106) NEXT PLEASE RETRIEVE .3 + .4 PLEASE RESUME .99 (106) DO (3000) NEXT DO STASH .2 DO .2 <- #48 DO (1010) NEXT DO .5 <- '?.3$#9'~'#0$#65535' DO .5 <- "?"'&"!3~.5'~'"?'?.5~.5'$#32768"~"#0$#65535"'"$".5~.5"'~#1"$#1"~#3 DO NOT " PLEASE DO NOT REMOVE DO (107) NEXT PLEASE RETRIEVE .2 PLEASE RESUME #1 (107) DO (1001) NEXT DO .99 <- #1 PLEASE FORGET #2 DO .5 <- .3 PLEASE RETRIEVE .2 DO .1 <- #10 DO (1039) NEXT DO .1 <- .3 DO .2 <- .5 DO (1009) NEXT DO .2 <- .3 DO (101) NEXT (2030) DO STASH :1 + :2 + :3 + :4 + ,1 + .2 + .1 DO ,1 <- #16 DO ,1 SUB#1 <- #0 DO ,1 SUB#2 <- #1 DO ,1 SUB #3 <- #2 DO ,1 SUB #4 <-#2 DO ,1 SUB#5 <- #3 DO ,1 SUB#6 <- #3 DO ,1 SUB #7 <- #4 DO ,1 SUB #8 <-#5 DO ,1 SUB#9 <- #5 DO ,1 SUB#10<- #6 DO ,1 SUB#11 <- #7 DO ,1 SUB#12 <-#7 DO ,1 SUB#13<- #8 DO ,1 SUB#14<- #8 DO ,1 SUB#15 <- #9 DO ,1 SUB#16 <-#0 DO :1 <- .1 DO :2 <- #10922$#21845 DO (1549) NEXT DO .1 <- :3~'#49152$#49152' DO (1020) NEXT DO .4 <- ,1SUB.1 PLEASE RETRIEVE .1 DO .2 <- .4 DO (1010) NEXT DO :1 <- .3~#65534 DO :2 <- #43690$#43691 DO (1549) NEXT DO .3 <- :3 PLEASE RETRIEVE :1 + :2 + :3 + :4 + ,1 + .2 PLEASE RESUME #1 (3000) DO STASH .2 + .3 + .4 DO .1 <- ,3000 SUB#1 DO WRITE IN ,3000 DO .2 <- ,3000 SUB#1 DO (3004) NEXT DO .1 <- #256 PLEASE RETRIEVE .2 + .3 + .4 PLEASE RESUME #2 (3005) PLEASE RESUME '?.2$#256'~'#256$#256' (3004) DO (3005) NEXT DO (1009) NEXT DO .1 <- .3~#255 DO ,3000 SUB#1 <- .1 PLEASE RETRIEVE .2 + .3 + .4 PLEASE RESUME #2 (3001) DO STASH .1 + .2 + .3 DO .2 <- '"'"!1~#15'$!1~#240'"~#15'$'"!1~#15'$!1~#240'"~#240'"~#15'$ '"'"!1~#15'$!1~#240'"~#15'$'"!1~#15'$!1~#240'"~#240'"~#240' DO .1 <- ,3001 SUB#1 DO (1010) NEXT DO ,3001 SUB#1 <- .3 DO READ OUT ,3001 DO ,3001 SUB#1 <- .2 PLEASE RETRIEVE .1 + .2 + .3 PLEASE RESUME #1 (3002) DO ,3000 <- #1 DO ,3000 SUB#1 <- #0 DO ,3001 <- #1 DO ,3001 SUB#1 <- #0 PLEASE ABSTAIN FROM (32767) PLEASE RESUME #1 PLEASE PLEASE PLEASE PLEASE PLEASE PLEASE PLEASE PLEASE DO NOT BE INSUFFICIENTLY POLITE