#include <perms.h>
// Edinburgh IMP77 Compiler - Version 8.4
//
// 1 !!%EXTERNALROUTINESPEC DDELAY(%INTEGER secs)
// 2 %externalroutine DDELAY(%integer secs)
void DDELAY(int SECS) {
// 3 %systemroutinespec SLEEP %alias "sleep"(%integer secs)
extern void SLEEP(int SECS) __asm__("sleep");
// 4 SLEEP(secs)
SLEEP(SECS);
// 5 %end
return;
} /* end of DDELAY */
// 6
// 7 !!%EXTERNALROUTINESPEC PROMPT(%STRING(15) s)
// 8 !!%EXTERNALROUTINESPEC NOTIFY(%STRING(255) who what)
// 9
// 10 %EXTERNALROUTINE HAUNT(%STRING(255) dummy)
void HAUNT(_imp_string255 DUMMY) {
// 11 %INTEGERFN REM(%INTEGER NUM,DEN)
int REM(int NUM, int DEN) {
// 12 %RESULT=NUM-NUM//DEN*NUM
return NUM - ((long)NUM / (long)DEN) * NUM;
// 13 %END
} /* end of REM */
// 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)
_imp_string15 VICTIM[10];
struct _imp_dv VICTIM_dv = {VICTIM, sizeof(_imp_string) /*, dims, <bounds> */};
// 18 %INTEGER proc no, num victims, this victim, times, delay, max times
int PROCNO;
int NUMVICTIMS;
int THISVICTIM;
int TIMES;
int DELAY;
int MAXTIMES;
// 19 %INTEGER selected
int SELECTED;
// 20 %OWNSTRING(31) blurb
static _imp_string31 BLURB;
// 21 %STRING(15) proc name
_imp_string15 PROCNAME;
// 22 delay = 10
DELAY = 10;
// 23 max times = 60 // delay * minutes ;! One minutes worth...
MAXTIMES = ((long)60 / (long)DELAY) * 1;
// 24 %CONST %STRING(22) %ARRAY message(0:max messages) = %C
const _imp_string22 MESSAGE[304] = {[0 ... 7] = _imp_str_init("We hates Pascal!!!"),
_imp_str_init("Weeble"),
_imp_str_init("SYN SYN SYN NAK"),
_imp_str_init("SYN SYN SYN ACK"),
_imp_str_init("SYN SYN SYN WABT"),
_imp_str_init("(CADDDDDADADADADR X)"),
_imp_str_init("*device timeout"),
_imp_str_init("%CLI-W-INSFPRM"),
_imp_str_init("MAKE 'FRED :JIM"),
_imp_str_init("Hack an Ent today"),
_imp_str_init("**HOST DOWN"),
_imp_str_init("PASCAL: No Thanks"),
_imp_str_init("Supermac is Back."),
_imp_str_init("Vangelis isn't Dutch"),
_imp_str_init("DTE -> DCE SARM F (B)"),
_imp_str_init("3-space indentation??"),
_imp_str_init("CHR(7) - rings a bell?"),
_imp_str_init("Gimme back my 10p!!"),
_imp_str_init("A Masochist on a diet?"),
_imp_str_init("Turn the tape over.."),
_imp_str_init("Have an index card."),
_imp_str_init("Device type:"),
_imp_str_init("Its frothy man."),
_imp_str_init("Quine-McWHO????"),
_imp_str_init("Try chasing the dream."),
_imp_str_init("Tangram Time!"),
_imp_str_init("Hi there Stan"),
_imp_str_init("Sod ML (attrib [MID])"),
_imp_str_init("HALT INST EXECUTED"),
_imp_str_init("ISYS80 V3.17"),
_imp_str_init("WSLXVANMAT for pres."),
_imp_str_init("R0 = 00000804"),
_imp_str_init("Symbolic stack dump:"),
_imp_str_init("@173000G"),
_imp_str_init("This must be Thursday?"),
_imp_str_init("What a party..."),
_imp_str_init("Confirmed."),
_imp_str_init("Right? ... Check!"),
_imp_str_init("$ SET NOCONTROL_Y"),
_imp_str_init("Noohoosferra Burzi??"),
_imp_str_init("Welcome to VAX/VMS v^O"),
_imp_str_init("Mostly Harmless..."),
_imp_str_init("VAX user service resu"),
_imp_str_init("prepare to die"),
_imp_str_init("Ecce Ecce F'tang"),
_imp_str_init("page owner violation"),
_imp_str_init("We wants a shrubbery"),
_imp_str_init("European or African??"),
_imp_str_init("Can I have a synopsys?"),
_imp_str_init("Kohilla Kohilla Splugh"),
_imp_str_init("Conversing..."),
_imp_str_init("%PAS-F-CASSELBOU"),
_imp_str_init("Baroque is Beautiful"),
_imp_str_init("WSLXVANMAT"),
_imp_str_init("**END**"),
_imp_str_init("Heeee-Haw."),
_imp_str_init("Kirk to Enterprise..."),
_imp_str_init("Zot!"),
_imp_str_init("You must be joking"),
_imp_str_init("[] : *a list"),
_imp_str_init("false : bool"),
_imp_str_init("47 : num"),
_imp_str_init("- : elephant"),
_imp_str_init("[-;-] : butterfly list"),
_imp_str_init("You need more monkeys."),
_imp_str_init("Have a gorilla.."),
_imp_str_init("Have a chocolate frog."),
_imp_str_init("->@putslice(1:0,fred)"),
_imp_str_init("POSITIVE shields!!!"),
_imp_str_init("WHAT WHAT WHAT WHAT??"),
_imp_str_init("what what What WHAT??"),
_imp_str_init("addr(253)"),
_imp_str_init("* Form |"),
_imp_str_init("SWITCH,SWITCH,SWITCH"),
_imp_str_init("TICK,TICK,TICK,TICK"),
_imp_str_init("string(addr(p_p1))=\"\""),
_imp_str_init("Failure: m0"),
_imp_str_init("Mind if I smoke?"),
_imp_str_init("External missing"),
_imp_str_init("Int:."),
_imp_str_init("BDBDBD Hi there, Buck."),
_imp_str_init("0000 *a*"),
_imp_str_init("0 files"),
_imp_str_init("Hi there, Steve."),
_imp_str_init("Cif:"),
_imp_str_init("Weebles wobble."),
_imp_str_init("Stopped."),
_imp_str_init("You Have Mail."),
_imp_str_init("Play it again, Sam."),
_imp_str_init("Play it again, Sid."),
_imp_str_init("You have been Warned."),
_imp_str_init(">%c"),
_imp_str_init(">(l0(f1/!/l40\\f/!/)0)0"),
_imp_str_init("Apologies accepted."),
_imp_str_init("Push the button, Max."),
_imp_str_init("Try Oiling it."),
_imp_str_init("Caimbridge, caimbridge"),
_imp_str_init("Dont Panic. Dont Panic"),
_imp_str_init("Coffee time..."),
_imp_str_init("Time to feed the alien"),
_imp_str_init("Complexity = O(nlog(n)"),
_imp_str_init("Disk reversal error."),
_imp_str_init("PDS is on the bridge"),
_imp_str_init("PSR has been and gone"),
_imp_str_init("We'd better call Stan."),
_imp_str_init("Sid is innocent!"),
_imp_str_init("Oh no, not again."),
_imp_str_init("Beep-beep."),
_imp_str_init("Page Page Page"),
_imp_str_init("Swap Swap Swap"),
_imp_str_init("Oh, Good grief"),
_imp_str_init("Get the Purple One"),
_imp_str_init("Put it in the curry"),
_imp_str_init("Rooner Spools OK"),
_imp_str_init("Slide rules OK"),
_imp_str_init("Dyslexia rules KO"),
_imp_str_init("Queen rules UK"),
_imp_str_init("Apathy might rule OK"),
_imp_str_init("Cannot open input."),
_imp_str_init("%SYSTEM-F-ABORT,abort"),
_imp_str_init("NO."),
_imp_str_init("Phasers locked on."),
_imp_str_init("Shields are now dead."),
_imp_str_init("*indentation |"),
_imp_str_init("No more room in cube"),
_imp_str_init("Filename:"),
_imp_str_init("Invalid Password."),
_imp_str_init("SET [ DEAD ]"),
_imp_str_init("SET [ **EOT** ]"),
_imp_str_init("My brain hurts"),
_imp_str_init("*T .BG;CA"),
_imp_str_init("Reel..Zot..Clamp"),
_imp_str_init("Trund!!"),
_imp_str_init("Beware of the Trund"),
_imp_str_init("Illegal opcode"),
_imp_str_init("Dont even Bother"),
_imp_str_init("WET PAINT"),
_imp_str_init("** CONSOLE FAILURE"),
_imp_str_init("** OUTPUT LOST"),
_imp_str_init("Are you sure ?"),
_imp_str_init("Delete?"),
_imp_str_init("** Too many externals"),
_imp_str_init("Host:v"),
_imp_str_init("Number 149"),
_imp_str_init("Rivet. Rivet."),
_imp_str_init("Try typing <return>"),
_imp_str_init("Type Q to quit"),
_imp_str_init("SYN SYN SYN RABBIT"),
_imp_str_init("%diagnose 2<<14+255"),
_imp_str_init("//EXEC FORT"),
_imp_str_init("Beam me up, Scotty!!"),
_imp_str_init("Glad to be of service."),
_imp_str_init("Tap out the code...."),
_imp_str_init("Wretched, isn't it?"),
_imp_str_init("MCR>PIP *.*;*/DE"),
_imp_str_init("X.IMP deleted"),
_imp_str_init("...a collum matrix..."),
_imp_str_init("PHUT-THINK-CLICK"),
_imp_str_init("%endofprogramme"),
_imp_str_init("1 statements compiled"),
_imp_str_init("Coojagoa Burzi??"),
_imp_str_init("I/O Silver."),
_imp_str_init("OKOKOKKO @"),
_imp_str_init(".LT1 *A*"),
_imp_str_init("Hello lift"),
_imp_str_init(".KJOB"),
_imp_str_init("your days are numbered"),
_imp_str_init("** CRASH IMMINENT"),
_imp_str_init("Wargle Wargle"),
_imp_str_init("57 varieties"),
_imp_str_init("_OPA0: \"Backup"),
_imp_str_init("Regardez, gentlemen.."),
_imp_str_init("What, pray tell??"),
_imp_str_init("So what, Mark?"),
_imp_str_init("Fiddle-de-dee"),
_imp_str_init("42"),
_imp_str_init("Forty-Two"),
_imp_str_init("42=7*9"),
_imp_str_init("RND(X) = 17 for all X"),
_imp_str_init("xxx~~~//][()?"),
_imp_str_init("Live long and prosper"),
_imp_str_init("Pass your maths, guyyz"),
_imp_str_init("Space, it says, is BIG"),
_imp_str_init("We've got you covered"),
_imp_str_init("NEGATIVE shields."),
_imp_str_init(">M-*k*;%c"),
_imp_str_init("Chewbacca is cuddly"),
_imp_str_init("Apathetic bloddy panic"),
_imp_str_init("Metaphysical Imagery.."),
_imp_str_init("I'm running out of Ink"),
_imp_str_init("BNAG!!!!!"),
_imp_str_init("HNAG!!!!!"),
_imp_str_init("Fs link HNUG?"),
_imp_str_init("CODE+GLAP+DIAGS=0"),
_imp_str_init("** corrupt diags"),
_imp_str_init("** diagnostics looping"),
_imp_str_init("**execution error:ille"),
_imp_str_init("** Segment error"),
_imp_str_init("LIB - *FATAL*"),
_imp_str_init("Edwin error 14."),
_imp_str_init("[0 XACTIONS AFFECTED]"),
_imp_str_init("I am lying."),
_imp_str_init("Coruscate, coruscate"),
_imp_str_init("Geezanarra DECtape"),
_imp_str_init(".("),
_imp_str_init("Type YES to continue"),
_imp_str_init("SAY \"XYZZY\""),
_imp_str_init("SAY \"PLUGH\""),
_imp_str_init("Clams got arms!"),
_imp_str_init("Clams got livers!"),
_imp_str_init("*CRASH*"),
_imp_str_init("FRED OBJ not on DT2"),
_imp_str_init("Alarm set for 08:00"),
_imp_str_init("The Bells...."),
_imp_str_init("*** Spelling errur"),
_imp_str_init("* Processor head crash"),
_imp_str_init("mouldy breadboard err"),
_imp_str_init("sliced breadboard err"),
_imp_str_init("greasy chip error"),
_imp_str_init("Resistance is Useless!"),
_imp_str_init("Production rules OK"),
_imp_str_init("ZZZZZZZZZZzzzzzzzz...."),
_imp_str_init("Merde alors"),
_imp_str_init("Foute-moi le camp!"),
_imp_str_init("Scheiss ab!"),
_imp_str_init("Va t'en faire baiser"),
_imp_str_init("Pisse-toi, salaud!"),
_imp_str_init("`X' (attrib Schulze)"),
_imp_str_init("----------------------"),
_imp_str_init("PASCAL is good AS CLAP"),
_imp_str_init("Zaphod's just zis guy."),
_imp_str_init("Dis is vot ve find...."),
_imp_str_init(".BLISS is ignorance"),
_imp_str_init("Pickle a squirrel"),
_imp_str_init("Eat a beaver"),
_imp_str_init("We hates it..."),
_imp_str_init("Ian was here"),
_imp_str_init("TANSTAAFL"),
_imp_str_init("Elbereth"),
_imp_str_init("Haunting you is fun..."),
_imp_str_init("You need another quote"),
_imp_str_init("EEEEXXXXXcellent !!"),
_imp_str_init("HAUNT HAUNT !!"),
_imp_str_init("TJ's for BMs OK!"),
_imp_str_init("Sauron Lives"),
_imp_str_init("Zap a Balrog - TODAY"),
_imp_str_init("Its a FEATURE!!!"),
_imp_str_init("I shall return..."),
_imp_str_init("Let us pray"),
_imp_str_init("%MOUSES-I-HI_THERE"),
_imp_str_init("Ho, Hummmmmm"),
_imp_str_init("Have a nasty day!"),
_imp_str_init("I WANNA COOKIE!!!"),
_imp_str_init("Share and enjoy"),
_imp_str_init("P_dsno = P_ssno+17"),
_imp_str_init("Suicide is painless"),
_imp_str_init("Laura rules!"),
_imp_str_init("Polly wants a biscuit"),
_imp_str_init("It's the rugby club"),
_imp_str_init("Time for moussaka"),
_imp_str_init("%SLART-E-BARFAAST"),
_imp_str_init("I'm a FORTRAN man!!!"),
_imp_str_init("Nibble a happy warthog"),
_imp_str_init("T. Dream time!!"),
_imp_str_init("Ve are ze robots!!"),
_imp_str_init("yojne dna erahS"),
_imp_str_init("FrreeeyyyOOOWWWW!!!"),
_imp_str_init("Structured BASIC ????"),
_imp_str_init("%Rms-e-korsakoff"),
_imp_str_init("NOPR-ERR"),
_imp_str_init("Clams got legs!!!"),
_imp_str_init("Wheeeeeeeeeeeee!!"),
_imp_str_init("EM Char in stmt"),
_imp_str_init("Mouses rules OK"),
_imp_str_init("IMP yourself today"),
_imp_str_init("Hi there"),
_imp_str_init("Yummmmmmmmm"),
_imp_str_init("Mouses rules OK"),
_imp_str_init("Have a nice day!"),
_imp_str_init("Friend or foe???"),
_imp_str_init("EMAS is great (honest)"),
_imp_str_init("%MTHLIB-E-FLOOVEMAT"),
_imp_str_init("Another silly message"),
_imp_str_init("As you wish, so be it."),
_imp_str_init("You may call me Mazda."),
_imp_str_init("Groovy, man."),
_imp_str_init("%control K'101011'"),
_imp_str_init("PROCESS RUNNING"),
_imp_str_init("movl #^xDEAD, r0"),
_imp_str_init("movl #^xB00B, r0"),
_imp_str_init("Filestore down til 11"),
_imp_str_init("Error: ';' expected"),
_imp_str_init("Another layer of metal"),
_imp_str_init("You have mail from SM"),
_imp_str_init("TEXT FOR F?"),
_imp_str_init("AV nowhere to be found"),
_imp_str_init("BDKH:BAD SEGMENT")};
struct _imp_dv MESSAGE_dv = {MESSAGE, sizeof(_imp_string) /*, dims, <bounds> */};
// 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
int RANDOMMESSNO(void) {
// 323 %OWN %INTEGER k1 = 0
static int K1 = 0;
// 324 %INTEGER k2
int K2;
// 325 %CYCLE
L_0001:;
// 326 k1 = (k1*125 + 1) & 16383
K1 = K1 * 125 + 1 & 16383;
// 327 k2 = IMOD(k1)
K2 = _imp_IMOD(K1);
// 328 k2 = REM(k2,max messages+1)
K2 = REM(K2, 303 + 1);
// 329 %RESULT = k2 %IF 0 <= k2 <= max messages
{
// Double-sided test on K2 (Part I)
int tmp;
if (0 > (tmp = K2)) goto L_0002;
// Double-sided test on K2 (Part II)
if (tmp > 303) goto L_0002;
}
return K2;
L_0002:;
// 330 %REPEAT
goto L_0001;
// 331 %END
} /* end of RANDOMMESSNO */
// 332 %IF dummy="" %THEN %START
/* clang-format off */
if (_imp_strcmp((_imp_string *)/*?*/&DUMMY, (_imp_string *)/*?*/_imp_str_literal_ptr("")) != 0) goto L_0003;
/* clang-format on */
// 333 num victims = 0
NUMVICTIMS = 0;
// 334 PROMPT("Victim:")
_imp_PROMPT(_imp_str_literal_size(15, "Victim:"));
// 335 %WHILE num victims <= max victims %CYCLE
L_0004:;
if (NUMVICTIMS > 10) goto L_0005;
// 336 proc name = ""
/* clang-format off */
_imp_strncpy(/*?*/&PROCNAME, ({__typeof__(_imp_string255) tmp;/*B*/ tmp = _imp_str_literal(""); (void *)&tmp;}), /*max:*/15);
/* clang-format on */
// 337 SKIP SYMBOL %WHILE NEXT CH <= ' ' %AND NEXT CH # 25
L_0006:;
if (_imp_NEXTCH() > 32) goto L_0007;
if (_imp_NEXTCH() == 25) goto L_0007;
_imp_SKIPSYMBOL();
goto L_0006;
L_0007:;
// 338 %EXIT %IF NEXT CH = 25
if (_imp_NEXTCH() != 25) goto L_0008;
goto L_0005;
L_0008:;
// 339 %WHILE NEXT SYMBOL # NL %CYCLE
L_0009:;
if (_imp_NEXTSYMBOL() == 10) goto L_000A;
// 340 proc name = proc name . TO STRING(NEXT SYMBOL)
/* clang-format off */
_imp_strncpy(/*?*/&PROCNAME, ({__typeof__(_imp_string255) tmp;/*B*/ tmp = *({_imp_string255 tmp = _imp_join((_imp_string *)/*?*/&PROCNAME, ({__typeof__(_imp_string1) tmp; /*E*/ tmp = _imp_TOSTRING(_imp_NEXTSYMBOL()); (void *)&tmp;})); (_imp_string255 *)&tmp;}); (void *)&tmp;}), /*max:*/15);
/* clang-format on */
// 341 SKIP SYMBOL
_imp_SKIPSYMBOL();
// 342 %REPEAT
goto L_0009;
L_000A:;
// 343 %EXIT %IF proc name = ".end" %OR proc name = ".END"
/* clang-format off */
if (_imp_strcmp((_imp_string *)/*?*/&PROCNAME, (_imp_string *)/*?*/_imp_str_literal_ptr(".end")) == 0) goto L_000B;
/* clang-format on */
/* clang-format off */
if (_imp_strcmp((_imp_string *)/*?*/&PROCNAME, (_imp_string *)/*?*/_imp_str_literal_ptr(".END")) != 0) goto L_000C;
/* clang-format on */
L_000B:;
goto L_0005;
L_000C:;
// 344 num victims = num victims + 1
NUMVICTIMS = NUMVICTIMS + 1;
// 345 victim(num victims) = proc name
/* clang-format off */
_imp_strncpy(/*?*/&VICTIM[NUMVICTIMS - 1], ({__typeof__(_imp_string15) tmp;/*B*/ tmp = PROCNAME; (void *)&tmp;}), /*max:*/15);
/* clang-format on */
// 346 %REPEAT
goto L_0004;
L_0005:;
// 347 %FINISH %ELSE %START
goto L_000D;
L_0003:;
// 348 victim(1) = dummy
/* clang-format off */
_imp_strncpy(/*?*/&VICTIM[0], ({__typeof__(_imp_string255) tmp;/*B*/ tmp = DUMMY; (void *)&tmp;}), /*max:*/15);
/* clang-format on */
// 349 num victims = 1
NUMVICTIMS = 1;
// 350 %FINISH
L_000D:;
// 351 %CYCLE times = 1, 1, max times
// %for TIMES = 1, 1, MAXTIMES %cycle
{
int _final = MAXTIMES;
if (invalid_for_loop(1, 1, _final)) _imp_signal(5, 1, 0, "Illegal cycle TIMES = 1, 1, MAXTIMES");
TIMES = 0;
L_000E:
if (TIMES == _final) goto L_000F;
TIMES += 1;
// 352 D DELAY(delay)
DDELAY(DELAY);
// 353 %CYCLE this victim = 1, 1, num victims
// %for THISVICTIM = 1, 1, NUMVICTIMS %cycle
{
int _final = NUMVICTIMS;
if (invalid_for_loop(1, 1, _final)) _imp_signal(5, 1, 0, "Illegal cycle THISVICTIM = 1, 1, NUMVICTIMS");
THISVICTIM = 0;
L_0011:
if (THISVICTIM == _final) goto L_0012;
THISVICTIM += 1;
// 354 selected = random mess no
SELECTED = RANDOMMESSNO();
// 355 !!NOTIFY(victim(this victim)."""".message(selected))
// 356 printstring(message(selected)); newline
_imp_PRINTSTRING(
/* clang-format off */
*({ __typeof__(_imp_string22) tmp = MESSAGE[SELECTED]/*q*/; (_imp_string255 *)&tmp; })
/* clang-format on */
);
_imp_NEWLINE();
// 357 %REPEAT
goto L_0011;
}
L_0012:;
// 358 %REPEAT
goto L_000E;
}
L_000F:;
// 359 %END
return;
} /* end of HAUNT */
// ?BLURB unused
// ?PROCNO unused
// 360
// 361 %begin
int main(int argc, char **argv) { /*%begin*/
_imp_initialise(argc, argv);
// 362 select output(0)
_imp_SELECTOUTPUT(0);
// 363 haunt("user")
HAUNT(_imp_str_literal("user"));
// 364 %end
_imp_stop(0);
return 0;
end_0:;
}
// 365
// 366 %ENDOFFILE