From jlm@cco.caltech.edu Tue Jun 8 12:29:58 1993
Path: ai-lab!grapevine.lcs.mit.edu!olivea!spool.mu.edu!howland.reston.ans.net!agate!dog.ee.lbl.gov!network.ucsd.edu!news.service.uci.edu!ucivax!news.claremont.edu!nntp-server.caltech.edu!jlm
From: jlm@cco.caltech.edu (Jacob Mandelson)
Newsgroups: alt.lang.intercal
Subject: Re: ROT-13
Date: 7 Jun 1993 21:36:40 GMT
Organization: California Institute of Technology, Pasadena
Lines: 338
Message-ID: <1v0cd9INN8gk@gap.caltech.edu>
References: <1uue87$4hj@DIALix.oz.au> <1uup7t$tv@urmel.informatik.rwth-aachen.de>
NNTP-Posting-Host: fleming.caltech.edu
Here's an intercal program that encodes/decodes rot13 documents:
(10) PLEASE DON'T GIVE UP
(1) DO .2 <- '?.1$#64'~'#0$#65535'
DO .2 <- '&"'.1~.2'~'"?'?.2~.2'$#32768"~"#0$#65535"'"$".2~.2"'~#1
DO .3 <- '?#91$.1'~'#0$#65535'
DO .3 <- '&"'#91~.3'~'"?'?.3~.3'$#32768"~"#0$#65535"'"$".3~.3"'~#1
DO (11) NEXT
DO (2) NEXT
DO (12) NEXT
(11) DO (13) NEXT
PLEASE FORGET #1
DO (12) NEXT
(13) DO (14) NEXT
PLEASE FORGET #2
DO (12) NEXT
(14) DO STASH .1
DO .1 <- .3
DO (1000) NEXT
DO .1 <- .3
DO .2 <- #1
DO (1000) NEXT
DO RETRIEVE .1
DO RESUME .3
(12) PLEASE FORGET #1
DO .2 <- '?.1$#96'~'#0$#65535'
DO .2 <- '&"'.1~.2'~'"?'?.2~.2'$#32768"~"#0$#65535"'"$".2~.2"'~#1
DO .3 <- '?#123$.1'~'#0$#65535'
DO .3 <- '&"'#123~.3'~'"?'?.3~.3'$#32768"~"#0$#65535"'"$".3~.3"'~#1
DO (15) NEXT
DO (3) NEXT
DO (16) NEXT
(15) DO (17) NEXT
PLEASE FORGET #1
DO (16) NEXT
(17) DO (18) NEXT
DO FORGET #2
DO (16) NEXT
(18) DO STASH .1
DO .1 <- .3
DO (1000) NEXT
DO .1 <- .3
DO .2 <- #1
DO (1000) NEXT
DO RETRIEVE .1
DO RESUME .3
(16) DO FORGET #1
DO RESUME #1
(2) DO .2 <- #65
DO (1010) NEXT
DO .1 <- .3
DO .2 <- #13
DO (1000) NEXT
DO STASH .3
DO .1 <- .3
DO .2 <- #26
DO (1040) NEXT
DO .1 <- .3
DO (1030) NEXT
DO .2 <- .3
DO RETRIEVE .3
DO .1 <- .3
DO (1010) NEXT
DO .1 <- .3
DO .2 <- #65
DO (1000) NEXT
DO .1 <- .3
DO RESUME #1
(3) DO .2 <- #97
DO (1010) NEXT
DO .1 <- .3
DO .2 <- #13
DO (1000) NEXT
DO STASH .3
DO .1 <- .3
DO .2 <- #26
DO (1040) NEXT
DO .1 <- .3
DO (1030) NEXT
DO .2 <- .3
DO RETRIEVE .3
DO .1 <- .3
DO (1010) NEXT
DO .1 <- .3
DO .2 <- #97
DO (1000) NEXT
DO .1 <- .3
DO RESUME #1
DO COME FROM (10)
DO .4 <- #0
DO .5 <- #0
DO STASH .4 + .5
DO ,1 <- #1
DO COME FROM (33)
DO WRITE IN ,1
DO .1 <- ,1 SUB #1
DO (31) NEXT
PLEASE DO .6 <- #1
PLEASE DO (34) NEXT
(32) PLEASE RESUME '?.1$#256'~'#256$#256'
(31) DO (32) NEXT
DO FORGET #1
DO .6 <- #0
PLEASE DO (34) NEXT
(33) DON'T GIVE UP
(34) DO .6 <- "?!6'$#1"~#3
DO (40) NEXT
DO GIVE UP
(40) DO (41) NEXT
PLEASE FORGET #1
DO (42) NEXT
(41) DO RESUME .6
(42) DO FORGET #1
DO RETRIEVE .4
DO .2 <- .4
DO (1000) NEXT
DO .4 <- .3~#255
DO .3 <- .4
DO STASH .4
DO .1 <- .3
DO (1) NEXT
DO .3 <- !1~#15'$!1~#240'
DO .3 <- !3~#15'$!3~#240'
DO .2 <- !3~#15'$!3~#240'
DO .1 <- .5
DO (1010) NEXT
DO .5 <- .2
DO ,1 SUB #1 <- .3
PLEASE READ OUT ,1
PLEASE RESUME #1
(1000) PLEASE IGNORE .4
PLEASE ABSTAIN FROM (1005)
(1009) DO STASH .1 + .2 + .5 + .6
DO .4 <- #1
DO (1004) NEXT
(1004) PLEASE FORGET #1
DO .3 <- '?.1$.2'~'#0$#65535'
DO .6 <- '&.1$.2'~'#0$#65535'
PLEASE DO .5 <- "?!6~#32768'$#1"~#3
DO (1002) NEXT
DO .4 <- #2
(1005) DO (1006) NEXT
(1999) DO ERROR
(1002) DO (1001) NEXT
(1006) PLEASE FORGET #1
DO .5 <- '?"!6~.6'~#1"$#1'~#3
DO (1003) NEXT
DO .1 <- .3
DO .2 <- !6$#0'~'#32767$#1'
DO (1004) NEXT
(1003) DO (1001) NEXT
DO REINSTATE (1005)
(1007) PLEASE RETRIEVE .1 + .2 + .5 + .6
DO REMEMBER .4
PLEASE RESUME #2
(1001) DO RESUME .5
(1010) DO STASH .1 + .2 + .4
DO .4 <- .1
DO .1 <- '?.2$#65535'~'#0$#65535'
DO (1020) NEXT
PLEASE DO .2 <- .4
PLEASE DO (1009) NEXT
DO RETRIEVE .1 + .2 + .4
PLEASE RESUME #1
(1020) DO STASH .2 + .3
DO .2 <- #1
PLEASE DO (1021) NEXT
(1021) DO FORGET #1
DO .3 <- "?!1~.2'$#1"~#3
PLEASE DO .1 <- '?.1$.2'~'#0$#65535'
DO (1022) NEXT
DO .2 <- !2$#0'~'#32767$#1'
DO (1021) NEXT
(1023) PLEASE RESUME .3
(1022) DO (1023) NEXT
PLEASE RETRIEVE .2 + .3
PLEASE RESUME #2
(1030) DO ABSTAIN FROM (1033)
PLEASE ABSTAIN FROM (1032)
(1039) DO STASH :1 + .5
DO (1530) NEXT
DO .3 <- :1~#65535
PLEASE DO .5 <- :1~'#65280$#65280'
DO .5 <- '?"!5~.5'~#1"$#1'~#3
DO (1031) NEXT
(1032) DO (1033) NEXT
DO (1999) NEXT
(1031) DO (1001) NEXT
(1033) DO .4 <- .5
DO REINSTATE (1032)
PLEASE REINSTATE (1033)
DO RETRIEVE :1 + .5
PLEASE RESUME #2
(1040) PLEASE STASH .1 + .2 + .2 + :1 + :2 + :3
DO .2 <- #0
DO (1520) NEXT
DO STASH :1
PLEASE RETRIEVE .2
DO .1 <- .2
DO .2 <- #0
PLEASE DO (1520) NEXT
DO :2 <- :1
DO RETRIEVE .1 + .2 + :1
DO (1550) NEXT
PLEASE DO .3 <- :3
DO RETRIEVE :1 + :2 + :3
DO RESUME #1
(1500) PLEASE ABSTAIN FROM (1502)
PLEASE ABSTAIN FROM (1506)
(1509) PLEASE STASH :1 + .1 + .2 + .3 + .4 + .5 + .6
DO .1 <- :1~#65535
PLEASE DO .2 <- :2~#65535
DO (1009) NEXT
DO .5 <- .3
PLEASE DO .6 <- .4
DO .1 <- :1~'#65280$#65280'
DO .2 <- :2~'#65280$#65280'
DO (1009) NEXT
DO .1 <- .3
PLEASE DO (1503) NEXT
DO .6 <- .4
DO .2 <- #1
DO (1009) NEXT
DO .1 <- .3
DO (1501) NEXT
(1504) PLEASE RESUME .6
(1503) DO (1504) NEXT
(1501) DO .2 <- .5
DO .5 <- '?"'&.6$.4'~#1"$#2'~#3
DO (1505) NEXT
(1506) DO (1502) NEXT
PLEASE DO (1999) NEXT
(1505) DO (1001) NEXT
(1502) DO :4 <- .5
DO (1520) NEXT
DO :3 <- :1
PLEASE RETRIEVE :1 + .1 + .2 + .3 + .4 + .5 + .6
DO REINSTATE (1502)
DO REINSTATE (1506)
PLEASE RESUME #3
(1510) DO STASH :1 + :2 + :4
DO :1 <- "'?":2~'#65535$#0'"$#65535'~'#0$#6553
5'"$"'?":2~'#0$#65535'"$#65535'~'#0$#65535
'"
DO :2 <- #1
DO (1509) NEXT
PLEASE RETRIEVE :1
DO :2 <- :3
PLEASE DO (1509) NEXT
DO RETRIEVE :2 + :4
PLEASE RESUME #1
(1520) PLEASE STASH .3 + .4
DO .3 <- .1~#43690
DO (1525) NEXT
PLEASE DO .4 <- 'V.3$".2~#43690"'~'#0$#65535'
DO .3 <- .1~#21845
PLEASE DO (1525) NEXT
DO :1 <- .4$"'V.3$".2~#21845"'~'#0$#65535'"
PLEASE RETRIEVE .3 + .4
DO RESUME #1
(1525) DO .3 <- '"'"'"!3$#0'~'#32767$#1'"$#0'~'#32767
$#1'"$#0'~'#16383$#3'"$#0'~'#4095$#15'
PLEASE RESUME #1
(1530) DO STASH :2 + :3 + .3 + .5
DO :1 <- #0
DO :2 <- .2
DO .3 <- #1
DO (1535) NEXT
(1535) PLEASE FORGET #1
DO .5 <- "?!1~.3'$#1"~#3
DO (1531) NEXT
DO (1500) NEXT
DO :1 <- :3
PLEASE DO (1533) NEXT
(1531) PLEASE DO (1001) NEXT
(1533) DO FORGET #1
DO .3 <- !3$#0'~'#32767$#1'
DO :2 <- ":2~'#0$#65535'"$"'":2~'#32767$#0'"$#
0'~'#32767$#1'"
PLEASE DO .5 <- "?!3~.3'$#1"~#3
DO (1532) NEXT
DO (1535) NEXT
(1532) DO (1001) NEXT
PLEASE RETRIEVE :2 + :3 + .3 + .5
DO RESUME #2
(1550) DO STASH :1 + :4 + :5 + .5
DO :3 <- #0
DO .5 <- '?"':2~:2'~#1"$#1'~#3
PLEASE DO (1551) NEXT
DO :4 <- #1
PLEASE DO (1553) NEXT
(1553) DO FORGET #1
DO .5 <- '?":2~'#32768$#0'"$#2'~#3
DO (1552) NEXT
DO :2 <- ":2~'#0$#65535'"$"'":2~'#32767$#0'"$#
0'~'#32767$#1'"
PLEASE DO :4 <- ":4~'#0$#65535'"$"'":4~'#32767
$#0'"$#0'~'#32767$#1'"
DO (1553) NEXT
(1552) DO (1001) NEXT
(1556) PLEASE FORGET #1
DO :5 <- "'?":1~'#65535$#0'"$":2~'#65535$#0'"'
~'#0$#65535'"$"'?":1~'#0$#65535'"$":2~'#0$
#65535'"'~'#0$#65535'"
DO .5 <- '?"'&"':2~:5'~'"'?"'?":5~:5"~"#65535~
#65535"'~'#65535$#0'"$#32768'~'#0$#65535'"
$"'?":5~:5"~"#65535$#65535"'~'#0$#65535'"'
"$"':5~:5'~#1"'~#1"$#2'~#3
DO (1554) NEXT
DO :5 <- :3
DO (1510) NEXT
PLEASE DO :1 <- :3
DO :3 <- "'V":4~'#65535$#0'"$":5~'#65535$#0'"'
~'#0$#65535'"$"'V":4~'#0$#65535'"$":5~'#0$
#65535'"'~'#0$#65535'"
DO (1555) NEXT
(1554) PLEASE DO (1001) NEXT
(1555) DO FORGET #1
DO .5 <- "?':4~#1'$#2"~#3
DO (1551) NEXT
DO :2 <- ":2~'#0$#65534'"$":2~'#65535$#0'"
DO :4 <- ":4~'#0$#65534'"$":4~'#65535$#0'"
PLEASE DO (1556) NEXT
(1551) DO (1001) NEXT
PLEASE RETRIEVE :1 + :4 + :5 + .5
PLEASE RESUME #2
--
Jacob Mandelson jlm@cco.caltech.edu
Electrical engineers do it with less resistance.
|