diff interps/c-intercal/pit/bubble.i @ 996:859f9b4339e6

<Gregor> tar xf egobot.tar.xz
author HackBot
date Sun, 09 Dec 2012 19:30:08 +0000
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/interps/c-intercal/pit/bubble.i	Sun Dec 09 19:30:08 2012 +0000
@@ -0,0 +1,94 @@
+
+	DO WRITE IN .2
+	DO ,1 <- .2
+
+	PLEASE NOTE INITIAL SEQUENCE INPUT
+	DO .1 <- .2
+        DO (110) NEXT
+(110)   DO FORGET #1
+	DO WRITE IN ,1 SUB .1
+	DO (111) NEXT
+(112)   DO (2010) NEXT
+	DO FORGET #2
+	DO (110) NEXT
+(111)	DO (112) NEXT
+	DO FORGET #1
+
+	PLEASE NOTE CALLING SORT ROUTINE INDIRECTLY
+	DO .1 <- .2
+	DO (500) NEXT
+
+	PLEASE NOTE SORTED SEQUENCE OUTPUT
+	DO .1 <- .2
+        DO (210) NEXT
+(210)   DO FORGET #1
+	DO READ OUT ,1 SUB .1
+	DO (211) NEXT
+(212)   DO (2010) NEXT
+	DO FORGET #2
+	DO (210) NEXT
+(211)	DO (212) NEXT
+	DO FORGET #1
+
+	PLEASE GIVE UP
+
+	PLEASE NOTE COMPARE AND EXCHANGE ROUTINE
+(500)	PLEASE ABSTAIN FROM (502)
+	DO (3000) NEXT
+	DO (501) NEXT
+(501)   DO FORGET #1
+(502)   DO (3010) NEXT
+	PLEASE REINSTATE (502)
+        DO .3 <- '?",1SUB.1"$,1SUB.2'~'#0$#65535'
+        DO .3 <- '?"'& "'",1SUB.1"~.3'~'"?'?.3~.3'$#32768"~"#0$#65535"'" $
+                       ".3~.3"'~#1" $
+	           #1'~#3
+	DO (503) NEXT
+	DO .3 <- ,1 SUB .1
+	DO ,1 SUB .1 <- ,1 SUB .2
+	DO ,1 SUB .2 <- .3
+	DO (501) NEXT
+(504)   PLEASE RESUME .3
+(503)   DO (504) NEXT
+	DO FORGET #1
+	DO (501) NEXT
+
+
+	PLEASE NOTE BUBBLE SORT ROUTINE
+	PLEASE NOTE THAT EXCHANGE ROUTINE SHOULD NOT CHANGE .1 OR .2
+(3000)	PLEASE STASH .1 + .2
+	DO .2 <- .1
+	DO (2000) NEXT
+	DO (3001) NEXT
+(3001)  DO FORGET #1
+	DO RESUME #1
+(3011)	DO (2010) NEXT
+	DO FORGET #1
+	DO (3001) NEXT
+(3010)  DO (3011) NEXT
+	DO (3012) NEXT
+(3013)	DO .1 <- .2
+	DO (2010) NEXT
+	DO FORGET #2
+	DO .2 <- .1
+	DO (3010) NEXT
+	DO RESUME #1
+(3012)  DO (3013) NEXT
+	PLEASE RETRIEVE .1 + .2
+	DO RESUME #4
+
+(2010)  PLEASE ABSTAIN FROM (2004)
+(2000)  PLEASE STASH .2
+        DO .2 <- #1
+        DO (2001) NEXT
+(2001)  DO FORGET #1
+        DO .1 <- '?.1$.2'~'#0$#65535'
+        DO (2002) NEXT
+        DO .2 <- !2$#0'~'#32767$#1'
+        DO (2001) NEXT
+(2003)  PLEASE RESUME "?!1~.2'$#1"~#3
+(2002)  DO (2003) NEXT
+        PLEASE RETRIEVE .2
+(2004)	PLEASE RESUME #2
+	PLEASE DO REINSTATE (2004)
+	PLEASE RESUME '?"!1~.1'~#1"$#2'~#6