         Edinburgh IMP77 Compiler - Version 8.4

    1  !!%EXTERNALROUTINESPEC DDELAY(%INTEGER secs)
    2  %externalroutine DDELAY(%integer secs)
    3    %systemroutinespec SLEEP %alias "sleep"(%integer secs)
    4    SLEEP(secs)
    5  %end
    6  
    7  !!%EXTERNALROUTINESPEC PROMPT(%STRING(15) s)
    8  !!%EXTERNALROUTINESPEC NOTIFY(%STRING(255) who what)
    9  
   10  %EXTERNALROUTINE HAUNT(%STRING(255) dummy)
   11    %INTEGERFN REM(%INTEGER NUM,DEN)
   12       %RESULT=NUM-NUM//DEN*NUM
   13    %END
   14     %CONST %INTEGER max victims = 10
   15     %CONST %INTEGER max messages = 303
   16     %CONST %INTEGER minutes = 1
   17     %STRING(15) %ARRAY victim(1:max victims)
   18     %INTEGER proc no, num victims, this victim, times, delay, max times
   19     %INTEGER selected
   20     %OWNSTRING(31) blurb
   21     %STRING(15) proc name
   22     delay = 10
   23     max times = 60 // delay * minutes         ;! One minutes worth...
   24     %CONST %STRING(22) %ARRAY message(0:max messages) = %C
   25+       "We hates Pascal!!!" (8),
   26+       "Weeble",
   27+       "SYN SYN SYN NAK",
   28+       "SYN SYN SYN ACK",
   29+       "SYN SYN SYN WABT",
   30+       "(CADDDDDADADADADR X)",
   31+       "*device timeout",
   32+       "%CLI-W-INSFPRM",
   33+       "MAKE 'FRED :JIM",
   34+       "Hack an Ent today",
   35+       "**HOST DOWN",
   36+       "PASCAL: No Thanks",
   37+       "Supermac is Back.",
   38+       "Vangelis isn't Dutch",
   39+       "DTE -> DCE SARM F (B)",
   40+       "3-space indentation??",
   41+       "CHR(7) - rings a bell?",
   42+       "Gimme back my 10p!!",
   43+       "A Masochist on a diet?",
   44+       "Turn the tape over..",
   45+       "Have an index card.",
   46+       "Device type:",
   47+       "Its frothy man.",
   48+       "Quine-McWHO????",
   49+       "Try chasing the dream.",
   50+       "Tangram Time!",
   51+       "Hi there Stan",
   52+       "Sod ML (attrib [MID])",
   53+       "HALT INST EXECUTED",
   54+       "ISYS80 V3.17",
   55+       "WSLXVANMAT for pres.",
   56+       "R0 = 00000804",
   57+       "Symbolic stack dump:",
   58+       "@173000G",
   59+       "This must be Thursday?",
   60+       "What a party...",
   61+       "Confirmed.",
   62+       "Right? ... Check!",
   63+       "$ SET NOCONTROL_Y",
   64+       "Noohoosferra Burzi??",
   65+       "Welcome to VAX/VMS v^O",
   66+       "Mostly Harmless...",
   67+       "VAX user service resu",
   68+       "prepare to die",
   69+       "Ecce Ecce F'tang",
   70+       "page owner violation",
   71+       "We wants a shrubbery",
   72+       "European or African??",
   73+       "Can I have a synopsys?",
   74+       "Kohilla Kohilla Splugh",
   75+       "Conversing...",
   76+       "%PAS-F-CASSELBOU",
   77+       "Baroque is Beautiful",
   78+       "WSLXVANMAT",
   79+       "**END**",
   80+       "Heeee-Haw.",
   81+       "Kirk to Enterprise...",
   82+       "Zot!",
   83+       "You must be joking",
   84+       "[] : *a list",
   85+       "false : bool",
   86+       "47 : num",
   87+       "- : elephant",
   88+       "[-;-] : butterfly list",
   89+       "You need more monkeys.",
   90+       "Have a gorilla..",
   91+       "Have a chocolate frog.",
   92+       "->@putslice(1:0,fred)",
   93+       "POSITIVE shields!!!",
   94+       "WHAT WHAT WHAT WHAT??",
   95+       "what what What WHAT??",
   96+       "addr(253)",
   97+       "* Form          |",
   98+       "SWITCH,SWITCH,SWITCH",
   99+       "TICK,TICK,TICK,TICK",
  100+       "string(addr(p_p1))=""""",
  101+       "Failure: m0",
  102+       "Mind if I smoke?",
  103+       "External missing",
  104+       "Int:.",
  105+       "BDBDBD Hi there, Buck.",
  106+       "0000 *a*",
  107+       "0 files",
  108+       "Hi there, Steve.",
  109+       "Cif:",
  110+       "Weebles wobble.",
  111+       "Stopped.",
  112+       "You Have Mail.",
  113+       "Play it again, Sam.",
  114+       "Play it again, Sid.",
  115+       "You have been Warned.",
  116+       ">%c",
  117+       ">(l0(f1/!/l40\f/!/)0)0",
  118+       "Apologies accepted.",
  119+       "Push the button, Max.",
  120+       "Try Oiling it.",
  121+       "Caimbridge, caimbridge",
  122+       "Dont Panic. Dont Panic",
  123+       "Coffee time...",
  124+       "Time to feed the alien",
  125+       "Complexity = O(nlog(n)",
  126+       "Disk reversal error.",
  127+       "PDS is on the bridge",
  128+       "PSR has been and gone",
  129+       "We'd better call Stan.",
  130+       "Sid is innocent!",
  131+       "Oh no, not again.",
  132+       "Beep-beep.",
  133+       "Page Page Page",
  134+       "Swap Swap Swap",
  135+       "Oh, Good grief",
  136+       "Get the Purple One",
  137+       "Put it in the curry",
  138+       "Rooner Spools OK",
  139+       "Slide rules OK",
  140+       "Dyslexia rules KO",
  141+       "Queen rules UK",
  142+       "Apathy might rule OK",
  143+       "Cannot open input.",
  144+       "%SYSTEM-F-ABORT,abort",
  145+       "NO.",
  146+       "Phasers locked on.",
  147+       "Shields are now dead.",
  148+       "*indentation       |",
  149+       "No more room in cube",
  150+       "Filename:",
  151+       "Invalid Password.",
  152+       "SET [ DEAD ]",
  153+       "SET [ **EOT** ]",
  154+       "My brain hurts",
  155+       "*T .BG;CA",
  156+       "Reel..Zot..Clamp",
  157+       "Trund!!",
  158+       "Beware of the Trund",
  159+       "Illegal opcode",
  160+       "Dont even Bother",
  161+       "WET PAINT",
  162+       "** CONSOLE FAILURE",
  163+       "** OUTPUT LOST",
  164+       "Are you sure ?",
  165+       "Delete?",
  166+       "** Too many externals",
  167+       "Host:v",
  168+       "Number 149",
  169+       "Rivet. Rivet.",
  170+       "Try typing <return>",
  171+       "Type Q to quit",
  172+       "SYN SYN SYN RABBIT",
  173+       "%diagnose 2<<14+255",
  174+       "//EXEC FORT",
  175+       "Beam me up, Scotty!!",
  176+       "Glad to be of service.",
  177+       "Tap out the code....",
  178+       "Wretched, isn't it?",
  179+       "MCR>PIP *.*;*/DE",
  180+       "X.IMP deleted",
  181+       "...a collum matrix...",
  182+       "PHUT-THINK-CLICK",
  183+       "%endofprogramme",
  184+       "1 statements compiled",
  185+       "Coojagoa Burzi??",
  186+       "I/O Silver.",
  187+       "OKOKOKKO @",
  188+       ".LT1 *A*",
  189+       "Hello lift",
  190+       ".KJOB",
  191+       "your days are numbered",
  192+       "** CRASH IMMINENT",
  193+       "Wargle Wargle",
  194+       "57 varieties",
  195+       "_OPA0: ""Backup",
  196+       "Regardez, gentlemen..",
  197+       "What, pray tell??",
  198+       "So what, Mark?",
  199+       "Fiddle-de-dee",
  200+       "42",
  201+       "Forty-Two",
  202+       "42=7*9",
  203+       "RND(X) = 17 for all X",
  204+       "xxx~~~//][()?",
  205+       "Live long and prosper",
  206+       "Pass your maths, guyyz",
  207+       "Space, it says, is BIG",
  208+       "We've got you covered",
  209+       "NEGATIVE shields.",
  210+       ">M-*k*;%c",
  211+       "Chewbacca is cuddly",
  212+       "Apathetic bloddy panic",
  213+       "Metaphysical Imagery..",
  214+       "I'm running out of Ink",
  215+       "BNAG!!!!!",
  216+       "HNAG!!!!!",
  217+       "Fs link HNUG?",
  218+       "CODE+GLAP+DIAGS=0",
  219+       "** corrupt diags",
  220+       "** diagnostics looping",
  221+       "**execution error:ille",
  222+       "** Segment error",
  223+       "LIB - *FATAL*",
  224+       "Edwin error 14.",
  225+       "[0 XACTIONS AFFECTED]",
  226+       "I am lying.",
  227+       "Coruscate, coruscate",
  228+       "Geezanarra DECtape",
  229+       ".(",
  230+       "Type YES to continue",
  231+       "SAY ""XYZZY""",
  232+       "SAY ""PLUGH""",
  233+       "Clams got arms!",
  234+       "Clams got livers!",
  235+       "*CRASH*",
  236+       "FRED OBJ not on DT2",
  237+       "Alarm set for 08:00",
  238+       "The Bells....",
  239+       "*** Spelling errur",
  240+       "* Processor head crash",
  241+       "mouldy breadboard err",
  242+       "sliced breadboard err",
  243+       "greasy chip error",
  244+       "Resistance is Useless!",
  245+       "Production rules OK",
  246+       "ZZZZZZZZZZzzzzzzzz....",
  247+       "Merde alors",
  248+       "Foute-moi le camp!",
  249+       "Scheiss ab!",
  250+       "Va t'en faire baiser",
  251+       "Pisse-toi, salaud!",
  252+       "`X' (attrib Schulze)",
  253+       "----------------------",
  254+       "PASCAL is good AS CLAP",
  255+       "Zaphod's just zis guy.",
  256+       "Dis is vot ve find....",
  257+       ".BLISS is ignorance",
  258+       "Pickle a squirrel",
  259+       "Eat a beaver",
  260+       "We hates it...",
  261+       "Ian was here",
  262+       "TANSTAAFL",
  263+       "Elbereth",
  264+       "Haunting you is fun...",
  265+       "You need another quote",
  266+       "EEEEXXXXXcellent !!",
  267+       "HAUNT HAUNT !!",
  268+       "TJ's for BMs OK!",
  269+       "Sauron Lives",
  270+       "Zap a Balrog - TODAY",
  271+       "Its a FEATURE!!!",
  272+       "I shall return...",
  273+       "Let us pray",
  274+       "%MOUSES-I-HI_THERE",
  275+       "Ho, Hummmmmm",
  276+       "Have a nasty day!",
  277+       "I WANNA COOKIE!!!",
  278+       "Share and enjoy",
  279+       "P_dsno = P_ssno+17",
  280+       "Suicide is painless",
  281+       "Laura rules!",
  282+       "Polly wants a biscuit",
  283+       "It's the rugby club",
  284+       "Time for moussaka",
  285+       "%SLART-E-BARFAAST",
  286+       "I'm a FORTRAN man!!!",
  287+       "Nibble a happy warthog",
  288+       "T. Dream time!!",
  289+       "Ve are ze robots!!",
  290+       "yojne dna erahS",
  291+       "FrreeeyyyOOOWWWW!!!",
  292+       "Structured BASIC ????",
  293+       "%Rms-e-korsakoff",
  294+       "NOPR-ERR",
  295+       "Clams got legs!!!",
  296+       "Wheeeeeeeeeeeee!!",
  297+       "EM Char in stmt",
  298+       "Mouses rules OK",
  299+       "IMP yourself today",
  300+       "Hi there",
  301+       "Yummmmmmmmm",
  302+       "Mouses rules OK",
  303+       "Have a nice day!",
  304+       "Friend or foe???",
  305+       "EMAS is great (honest)",
  306+       "%MTHLIB-E-FLOOVEMAT",
  307+       "Another silly message",
  308+       "As you wish, so be it.",
  309+       "You may call me Mazda.",
  310+       "Groovy, man.",
  311+       "%control K'101011'",
  312+       "PROCESS RUNNING",
  313+       "movl #^xDEAD, r0",
  314+       "movl #^xB00B, r0",
  315+       "Filestore down til 11",
  316+       "Error: ';' expected",
  317+       "Another layer of metal",
  318+       "You have mail from SM",
  319+       "TEXT FOR F?",
  320+       "AV nowhere to be found",
  321+       "BDKH:BAD SEGMENT"
  322     %INTEGER %FN random messno
  323        %OWN %INTEGER k1 = 0
  324        %INTEGER k2
  325        %CYCLE
  326           k1 = (k1*125 + 1) & 16383
  327           k2 = IMOD(k1)
  328           k2 = REM(k2,max messages+1)
  329           %RESULT = k2 %IF 0 <= k2 <= max messages
  330        %REPEAT
  331     %END
  332     %IF dummy="" %THEN %START
  333        num victims = 0
  334        PROMPT("Victim:")
  335        %WHILE num victims <= max victims %CYCLE
  336           proc name = ""
  337           SKIP SYMBOL %WHILE NEXT CH <= ' ' %AND NEXT CH # 25
  338           %EXIT %IF NEXT CH = 25
  339           %WHILE NEXT SYMBOL # NL %CYCLE
  340              proc name = proc name . TO STRING(NEXT SYMBOL)
  341              SKIP SYMBOL
  342           %REPEAT
  343           %EXIT %IF proc name = ".end" %OR proc name = ".END"
  344           num victims = num victims + 1
  345           victim(num victims) = proc name
  346        %REPEAT
  347     %FINISH %ELSE %START
  348        victim(1) = dummy
  349        num victims = 1
  350     %FINISH
  351     %CYCLE times = 1, 1, max times
  352        D DELAY(delay)
  353        %CYCLE this victim = 1, 1, num victims
  354           selected = random mess no
  355           !!NOTIFY(victim(this victim)."""".message(selected))
  356           printstring(message(selected)); newline
  357        %REPEAT
  358     %REPEAT
  359  %END
?BLURB unused
?PROCNO unused
  360  
  361  %begin
  362    select output(0)
  363    haunt("user")
  364  %end
  365  
  366  %ENDOFFILE

   62 Statements compiled
