Zum Inhalt springen

INTERCAL

aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 14. Juli 2002 um 19:12 Uhr durch Avatar (Diskussion | Beiträge). Sie kann sich erheblich von der aktuellen Version unterscheiden.

Klassische Beispiel einer Programmiersprache, die designed wurde um das Programmieren zu erschweren.


Beispiel ROT13-Programm

  • (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
  • PLEASE DO (1000) NEXT
  • DO RETRIEVE .1
  • PLEASE 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
  • PLEASE DO (15) NEXT
  • PLEASE DO (3) NEXT
  • DO (16) NEXT
  • (15) DO (17) NEXT
  • PLEASE FORGET #1
  • DO (16) NEXT
  • (17) DO (18) NEXT
  • PLEASE FORGET #2
  • DO (16) NEXT
  • (18) PLEASE STASH .1
  • DO .1 <- .3
  • DO (1000) NEXT
  • DO .1 <- .3
  • DO .2 <- #1
  • DO (1000) NEXT
  • PLEASE RETRIEVE .1
  • PLEASE RESUME .3
  • (16) PLEASE FORGET #1
  • DO RESUME #1
  • (2) DO .2 <- #65
  • DO (1010) NEXT
  • PLEASE .1 <- .3
  • PLEASE .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