diff --git a/2004/vik2/.gitignore b/2004/vik2/.gitignore index 845c38fdc..5ddc432ed 100644 --- a/2004/vik2/.gitignore +++ b/2004/vik2/.gitignore @@ -1,3 +1,6 @@ +cat-killing-curiosity vik2 vik2_1.c vik2_2.c +vik2.possible.cat.death_1.c +vik2.possible.cat.death_2.c diff --git a/2004/vik2/Makefile b/2004/vik2/Makefile index 3450a81f7..831703ab3 100644 --- a/2004/vik2/Makefile +++ b/2004/vik2/Makefile @@ -148,6 +148,30 @@ data: ${DATA} everything: all alt @${TRUE} +# The original vik2 source +# +# On some systems such as Linux, this source either fails +# to finish compiling or takes a super-long time generating +# a huge number of compiler errors. As such, we do not +# recommend compiling this code. However for some the +# curiosity factor, even though it may have the effect of: +# +# kill -9 cat +# +# may too strong for some not try to compile the original +# vik2 source code. Therefore we offer this special +# Makefile rule for those who do not wish curtail their curiosity. +# +cat-killing-curiosity: vik2.possible.cat.death.c + @echo 'Curiosity killed the cat ...' + ${RM} -f ${PROG}.possible.cat.death_1.c + ${CC} -E '-DSTOP=_5' '-DFNAME="${PROG}.possible.cat.death_1.c"' \ + ${PROG}.possible.cat.death.c > ${PROG}.possible.cat.death_1.c + ${RM} -f ${PROG}.possible.cat.death_2.c + ${CC} -E ${PROG}.possible.cat.death_1.c > ${PROG}.possible.cat.death_2.c + ${CC} ${CFLAGS} ${PROG}.possible.cat.death_2.c -o $@ + @echo '... but satisfaction brought it back. :-)' + ############### # utility rules @@ -168,6 +192,7 @@ vik2_clobber: vik2_clean clobber: clean ${RM} -f ${TARGET} ${ALT_TARGET} ${RM} -f ${PROG}_1.c ${PROG}_2.c + ${RM} -f ${PROG}.possible.cat.death_1.c ${PROG}.possible.cat.death_2.c cat-killing-curiosity @-if [ -e sandwich ]; then \ ${RM} -f sandwich; \ echo 'ate sandwich'; \ diff --git a/2004/vik2/vik2.possible.cat.death.c b/2004/vik2/vik2.possible.cat.death.c new file mode 100644 index 000000000..54fbe215b --- /dev/null +++ b/2004/vik2/vik2.possible.cat.death.c @@ -0,0 +1,1028 @@ +#define O \ +#ifdef +#define Q \ +#undef +#define C \ +#define +#define G \ +#else +#define D \ +#ifndef +#define l \ +#include FNAME +#define I \ +#endif + + + +O i +O o +O c +Q c +I +O d +Q d +I +O e +Q e +I +O f +Q f +I +O g +Q g +I +O h +Q h +I +O Z +Q Z +I +O j +Q j +I +O k +Q k +I +O m +Q m +I +O n +Q n +I +Q o +G +O E +O t +Q t +I +O s +Q s +I +O u +Q u +I +O v +Q v +I +O w +Q w +I +O x +Q x +I +O y +Q y +I +O z +Q z +I +O A +Q A +I +O B +Q B +I +O r +Q r +I +Q E +G +O _L +O a +O b +D q +Q a +C q +I +G +O q +Q a +I +I +G +O b +D q +C a +I +G +O q +C a +Q q +I +I +I +O p +Q p +I +O a +C p +Q a +I +O b +Q b +I +G +O F +O q +Q q +I +C _L +O c +Q c +C a +I +O t +C b +I +l +O p +C c +I +O d +Q d +C a +I +O s +C b +I +l +O p +C d +I +O e +Q e +C a +I +O u +C b +I +l +O p +C e +I +O f +Q f +C a +I +O v +C b +I +l +O p +C f +I +O g +Q g +C a +I +O w +C b +I +l +O p +C g +I +O h +Q h +C a +I +O x +C b +I +l +O p +C h +I +O Z +Q Z +C a +I +O y +C b +I +l +O p +C Z +I +O j +Q j +C a +I +O z +C b +I +l +O p +C j +I +O k +Q k +C a +I +O A +C b +I +l +O p +C k +I +O m +Q m +C a +I +O B +C b +I +l +O p +C m +I +O n +Q n +C a +I +O r +C b +I +l +O p +C n +I +Q _L +Q F +G +O H +C E +l +C s +C F +l +Q s +Q H +G +O _u +O t +Q t +G +C t +I +O s +Q s +G +C s +I +O u +Q u +G +C u +I +O v +Q v +G +C v +I +O w +Q w +G +C w +I +O x +Q x +G +C x +I +O y +Q y +G +C y +I +O z +Q z +G +C z +I +O A +Q A +G +C A +I +O B +Q B +G +C B +I +O r +Q r +G +C r +I +C F +l +O _v +Q _v +I +O q +C _v +I +C E +l +C t +C F +l +O _v +O q +Q q +G +C q +I +I +Q _u +G +O _w +O J +Q J +I +O _q +Q _q +I +C _u +l +D c +D d +D e +D f +D g +D h +D Z +D j +D k +D m +D n +C J +I +I +I +I +I +I +I +I +I +I +I +D q +C _q +I +Q _w +G +O _x +O K +Q K +I +O \ +STOP +C K +I +O _r +C K +I +D K +D _s +C _s +D L +C L +I +D M +C M +I +D N +C N +I +D P +C P +I +D R +C R +I +D S +C S +I +D T +C T +I +D U +C U +I +D V +C V +I +D W +C W +I +D X +C X +I +D Y +C Y +I +D _i +C _i +I +D _a +C _a +I +D _b +C _b +I +D _c +C _c +I +D _d +C _d +I +D _e +C _e +I +D _f +C _f +I +D _g +C _g +I +I +C E +l +C t +O _h +C s +I +O _t +C u +I +O _3 +C v +I +O _4 +C w +I +O _5 +C x +I +O _6 +C y +I +O _7 +C z +I +O _8 +C A +I +O _9 +C B +I +O _r +C r +I +C _w +l +C o +l +D J +O _q +C c +O X +Q X +C d +I +O Y +Q Y +C e +I +O _i +Q _i +C f +I +O _a +Q _a +C g +I +O _b +Q _b +C h +I +O _c +Q _c +C Z +I +O _d +Q _d +C j +I +O _e +Q _e +C k +I +O _f +Q _f +C m +I +O _g +Q _g +C n +I +C H +l +C E +l +C t +O d +C X +C s +I +O e +C Y +C u +I +O f +C _i +C v +I +O g +C _a +C w +I +O h +C _b +C x +I +O Z +C _c +C y +I +O j +C _d +C z +I +O k +C _e +C A +I +O m +C _f +C B +I +O n +C _g +C r +I +G +C c +O L +Q L +C d +I +O M +Q M +C e +I +O N +Q N +C f +I +O P +Q P +C g +I +O R +Q R +C h +I +O S +Q S +C Z +I +O T +Q T +C j +I +O U +Q U +C k +I +O V +Q V +C m +I +O W +Q W +C n +I +C H +l +C E +l +C t +O d +C L +C s +I +O e +C M +C u +I +O f +C N +C v +I +O g +C P +C w +I +O h +C R +C x +I +O Z +C S +C y +I +O j +C T +C z +I +O k +C U +C A +I +O m +C V +C B +I +O n +C W +C r +I +I +I +C o +l +O _y +Q _y +C c +I +O _z +Q _z +C d +I +O _A +Q _A +C e +I +O _B +Q _B +C f +I +O _C +Q _C +C g +I +O _D +Q _D +C h +I +O _E +Q _E +C Z +I +O _F +Q _F +C j +I +O _G +Q _G +C k +I +O _H +Q _H +C m +I +O _I +Q _I +C n +I +O J +C o +l +O _s +C c +I +O L +C d +I +O M +C e +I +O N +C f +I +O P +C g +I +O R +C h +I +O S +C Z +I +O T +C j +I +O U +C k +I +O V +C m +I +O W +C n +I +C H +l +C E +l +O _M +C t +I +O X +C s +I +O Y +C u +I +O _i +C v +I +O _a +C w +I +O _b +C x +I +O _c +C y +I +O _d +C z +I +O _e +C A +I +O _f +C B +I +O _g +C r +I +C _w +l +O J +Q i +l +O _h +| 2 +I +O _t +| 4 +I +O _3 +| 8 +I +O _4 +| 16 +I +O _5 +| 32 +I +O _6 +| 64 +I +O _7 +|128 +I +O _8 +|256 +I +O _9 +|512 +I +) +; +I +C o +l +C c +O _h +Q _h +C d +I +O _t +Q _t +C e +I +O _3 +Q _3 +C f +I +O _4 +Q _4 +C g +I +O _5 +Q _5 +C h +I +O _6 +Q _6 +C Z +I +O _7 +Q _7 +C j +I +O _8 +Q _8 +C k +I +O _9 +Q _9 +C m +I +O _r +Q _r +C n +I +C H +l +O d +C _h +I +O e +C _t +I +O f +C _3 +I +O g +C _4 +I +O h +C _5 +I +O Z +C _6 +I +O j +C _7 +I +O k +C _8 +I +O m +C _9 +I +O n +C _r +I +C o +l +Q _s +G +O _q +C F +G +C _u +I +l +O c +C _y +I +O d +C _z +I +O e +C _A +I +O f +C _B +I +O g +C _C +I +O h +C _D +I +O Z +C _E +I +O j +C _F +I +O k +C _G +I +O m +C _H +I +O n +C _I +I +I +I +G +O _J +C _x +l +l +l +l +l +l +l +l +l +l +Q _x +G +O _K +C _J +l +l +l +l +l +l +l +l +l +l +Q _J +G +C _K +l +l +l +l +l +l +l +l +l +l +Q _K +D K +l +I +I +I +I +I +I +I +I +I +I +I +G +C i +O _N +pri\ +ntf( +"%d" +"\n" +, +1 +G +# \ +inc\ +lud\ +e +int\ + ma\ +in() +C _N +C _h +C _M +Q i +{ +l ++ +1 +) +; +l +} +I +I