From: Eric S. Raymond Date: Thu, 16 Sep 1999 07:31:09 +0000 (-0400) Subject: We're going to release 0.20. X-Git-Tag: 0.20 X-Git-Url: http://thyrsus.com/gitweb/?a=commitdiff_plain;h=45caf9bc5b3302aa734ab458b4cb176867d3ae98;p=intercal.git We're going to release 0.20. --- diff --git a/READ.ME b/READ.ME index 055cf1d..b54c085 100644 --- a/READ.ME +++ b/READ.ME @@ -120,3 +120,10 @@ C-INTERCAL is now distributed under the General Public License, except for the C skeleton file which is explicitly *not* GPLed in order to avoid the (possibly mythical) "license virus" effect. See the file COPYING for details on the General Public License. + + APOCALYPSE + +INTERCAL is fully Y2K-compliant. Indeed, it is Y2K-obsequious, and +loves nothing better than to be punished by relays of leather-clad, +spike-heeled calendricists. Bite me and go buy your own shotgun. + diff --git a/README b/README deleted file mode 100644 index b54c085..0000000 --- a/README +++ /dev/null @@ -1,129 +0,0 @@ - Release Notes for C-INTERCAL - - DISCREDITS - -This package is an implementation of the language INTERCAL designed by Don -Woods and James Lyon, who have since spent more than twenty years trying to -live it down. - -This implementation was created by Eric S. Raymond -during a fit of lunacy from which he has since mostly recovered. It has -been considerably hacked upon and improved by Steve Swales, Michael Ernst, -Louis Howell, Brian Raiter, and others. For detailed credits see NEWS. - - FILES - -The compiler itself is in the src directory. Setting a symbol in the -makefile will allow you to install it and its libraries and support files -in a directory of your choice. The doc directory contains (surprise!) -documentation, and pit contains various examples of INTERCAL source code, -writhing in agony. - -The files included are: - -READ.ME -- this file -BUGS -- current bug and to-do list -NEWS -- info on features and fixes new in this release -intercal.el -- elisp for editing INTERCAL code under GNU Emacs - -doc/READ.ME -- historical notes on the docs -doc/intercal.mm -- the manual in groffable form -doc/THEORY -- some notes on the internals of the INTERCAL compiler - -src/Makefile -- makefile for the INTERCAL compiler -src/lexer.l -- the lexical analyzer specification (in LEX) -src/ick.y -- the grammar specification (in YACC) -src/ick.h -- compilation types and defines -src/perpetrate.c -- main routine for compiler -src/feh.c -- INTERCAL-to-C code generator -src/feh.h -- interface to INTERCAL-to-C code generator -src/fiddle.c -- the INTERCAL operators -src/lose.[ch] -- INTERCAL compile- and run-time error handling -src/ick-wrap.c -- the driver for generated C-from-INTERCAL code -src/arrgghh.c -- option argument parsing for generated programs -src/abcess.h -- interface to functions linked with programs -src/cesspool.c -- the INTERCAL runtime support code -src/numerals.c -- numerals table for INTERCAL input -src/sizes.h -- variables defining the numeric base - -pit/* -- sample INTERCAL code; see pit/CATALOG - - HOW TO GET STARTED - -You want a man page? Man pages are for wimps. To compile an INTERCAL -program `foo.i' to executable code, just do - - ick foo.i - -There's a -c option that leaves the generated `foo.c' in place for inspection -(suppressing compilation to machine code), a -d option that enables verbose -parse reporting from the yacc/bison parser, a -t option that requires strict -INTERCAL-72 compliance (rejecting COME FROM and the extensions for bases other -than two), a -b option that disables the INTERCAL-72 random-bug feature, -and an -O option that enables the (hah!) optimizer. Invoking ick -? -prints a usage message. Other than that, yer on yer own. - -Another switch affects C-INTERCAL's runtime behavior. The `-C' -option forces output in "clockface" mode, for superstitious users who -believe writing "IV" upside-down offends IVPITER and would rather -see IIII. - -Every INTERCAL runtime also accepts certain options at runtime (code by -Steve Swales). These include [+/-]help, [+/-]traditional, and [+/-]wimpmode. -The help option (with either + or -) triggers a 'usage' message. The -+traditional option is presently a no-op. - -Steve writes: "The wimpmode option is the most interesting. I found myself -always running my test programs with filters on both ends to work around the -'nifty' INTERCAL number representations. This was so painful that I decided it -would be LESS painful (and a lot less code) if I added a 'wimp' option. With -the +wimpmode option, the user is subjected to a humiliating message about what -a wimp he or she is to use this mode, but after that is allowed to use -conventional numerical notation. While such a mode doubtless violates to some -extent the INTERCAL philosophy, the fact that a 'unbutcher' command has been -posted clearly indicates the need for it. Anyway... if you don't like it, don't -use it... the default is -wimpmode (i.e. NOT wimp mode)." - - SPREADING THE BLAME - -There is an INTERCAL Resource Page at http://www.ccil.org/intercal - -The latest version of INTERCAL is also kept available at the -Retrocomputing Museun, http://www.ccil.org/retro. - -There is, in addition, an occasionally active USENET newsgroup devoted to the -language: alt.lang.intercal. - - NOTES ON THE LINUX BUILD - -At the top of ick.h are two defines that you may need to remove if you -are using lex instead of flex. - -Many lexes export a yylineno variable, an undocumented feature that is -not in flex (by default). If your build fails because of redecleration -of yylineno, comment out the define of YYLINENO_BY_HAND. - -Some lexes also supply a yyrestart function to begin parsing a second -file, while others automatically restart after seeing an EOF. (This is -the case with flex.) If your build fails at link time because -yyrestart is not defined, comment out the define of USE_YYRESTART. - -If you are using gcc in an non-ANSI environment, such as SunOS, it is -strongly recommended that you add "-Wno-unused -Wimplicit" to the gcc -command in the makefile. If you are in an ANSI environment and are -using the current versions of gcc, flex, and bison, C-INTERCAL should -build with no warnings. - - LICENSING - -C-INTERCAL is now distributed under the General Public License, -except for the C skeleton file which is explicitly *not* GPLed -in order to avoid the (possibly mythical) "license virus" effect. -See the file COPYING for details on the General Public License. - - APOCALYPSE - -INTERCAL is fully Y2K-compliant. Indeed, it is Y2K-obsequious, and -loves nothing better than to be punished by relays of leather-clad, -spike-heeled calendricists. Bite me and go buy your own shotgun. - diff --git a/doc/intercal.mm b/doc/intercal.mm index cc237c3..772bd23 100644 --- a/doc/intercal.mm +++ b/doc/intercal.mm @@ -304,7 +304,8 @@ and \fBselect\fR, which are represented by a change (\*(ct) and a sqiggle [sic] (~), respectively. .if '\*c'y' \{\ (In C-INTERCAL's ASCII environment, EBCDIC \*(ct is replaced by a big -money ($), but \*(ct can be used if encoded in Latin-1 as \e0xA2.) \} +money ($), but \*(ct can be used if encoded in Latin-1 as \e0xA2 +or UTF-8 as 0xC2A2.) \} .P The interleave operator takes two 16-bit values and produces a 32-bit result by alternating the bits of the operands. Thus, #65535\*(ct#0 has the 32-bit @@ -1005,7 +1006,10 @@ and \*(vb (logical .if '\*c'y' \{\ (In C-INTERCAL, \*(vb is replaced by what (?). The compiler recognizes V- as a valid equivalent, in case you are concerned about -compatibility with the Princeton compiler.) \} +compatibility with the Princeton compiler. +In version 0.20 and later, the Unicode character U+2200 FOR ALL, +which looks exactly like V- or an upside-down `A' +is also accepted in UTF-8 form.) \} The operator is inserted between the spot, two-spot, mesh, or what-have-you, and the integer, thus: .&123, #\*(vb123. Multiple unary operators may not be concatenated, thus the form #\*(vb&123 is invalid. This @@ -2625,6 +2629,23 @@ Atari implementation (see section ) by (a) replacing the change sign (\*(ct) with big money ($) as the mingle operator, and (b) replacing the bookworm (\*(vb) symbol with what (?) as the XOR operator. +.P +Version 0.18 and later versions accept the Latin-1 (ISO 8859-1) +character set, which is a superset of ASCII. As a result, +0xA2 (\*(ct), 0xA3 (quid), and 0xA4 (zlotnik) are accepted as mingle +operators. +.P +Version 0.20 and later versions also accept UTF-8 as an alternative +to Latin-1. The above three currency operators will be accepted in +either Latin-1 or UTF-8 format. UTF-8 format is required if you +wish to use any of EURO-CURRENCY SIGN, COLON SIGN (that's Costa Rican dinero, +not the Intercal two-spot), +CRUZEIRO SIGN, FRENCH FRANC SIGN, LIRA SIGN, MILL SIGN, NAIRA SIGN, +PESETA SIGN, RUPEE SIGN, WON SIGN, NEW SHEQEL SIGN, DONG SIGN, EURO SIGN, +BENGALI RUPEE MARK, BENGALI RUPEE SIGN, or THAI CURRENCY SYMBOL BAHT. +(Isn't internationalization wonderful?) +Furthermore, you can use the Intercal character FOR ALL to represent +the what operator. .H 2 "Usage and Compilation Options" .P To compile an INTERCAL program `foo.i' to executable code, just do @@ -2673,7 +2694,14 @@ included PLEASE, the program would be rejected as excessively polite. .P This check has been implemented in C-INTERCAL. To assist programmers in coping with it, the intercal.el mode included with the distribution randomly -expands "do " in entered source to "PLEASE DO" 1/4th of the time. \} +expands "do " in entered source to "PLEASE DO" 1/4th of the time. +.H 2 "Localization: Ancient Roman" +Version 0.18 and later versions of C-Intercal have been +localized for Ancient Roman as well as English-speaking locales. +This means that Latin-language keywords are accepted as equivalents +for the English-based ones traditionally used. +See src/lexer.l for details, as we do not propose to break +Priscian's head (publicly expose our ignorance of Latin) here. \} .if '\*c'y' \{\ .\" This is the same text as the ATARI NOTES at the end of the manual. .H 1 "The Atari Implementation" diff --git a/intercal.lsm b/intercal.lsm index 40870bd..7b578fe 100644 --- a/intercal.lsm +++ b/intercal.lsm @@ -1,16 +1,17 @@ Begin3 Title: intercal -Version: 0.18 -Entered-date: 27APR98 +Version: 0.20 +Entered-date: 17SEP99 Description: An implementation of the language INTERCAL, legendary for its perversity and horribleness (this version adds COME FROM for extra flavor). Comes with language manual and examples including possibly the entire extant body of INTERCAL code. + Now supports i18n and l14n (to Ancient Roman locale only) Keywords: language, compiler, retrocomputing, geek humor Author: esr@snark.thyrsus.com (Eric S. Raymond) Maintained-by: esr@snark.thyrsus.com (Eric S. Raymond) Primary-site: locke.ccil.org /pub/esr - 167K intercal-0.18.tar.gz + 167K intercal-0.20.tar.gz Platforms: All Copying-policy: GPL End diff --git a/pit/Makefile b/pit/Makefile index 68592c8..67efea7 100644 --- a/pit/Makefile +++ b/pit/Makefile @@ -2,6 +2,8 @@ # Torture-tester for the INTERCAL compiler # +ICK = ../src/ick -b + SOURCES = \ ./sample.i \ ./beer.i \ @@ -9,9 +11,9 @@ SOURCES = \ ./count.3i \ ./hail_mary.3i \ ./icat.i \ + ./tests/test1.i \ ./tests/limits.i \ ./tests/limits.3i \ - ./tests/test1.i \ ./tests/test16bit.i \ ./tests/testarray.i \ ./tests/testcf.i \ @@ -20,6 +22,7 @@ SOURCES = \ ./tests/testops.3i \ ./tests/testops.5i \ ./tests/testsplat.i \ + ./tests/testi18n.i \ ./pow.i \ ./random.i \ ./random2.i \ @@ -30,11 +33,11 @@ SOURCES = \ ./lib/lib2.i \ ./lib/numio.i \ ./lib/syslib.i \ - ./lib/syslib.3i \ - ./lib/syslib.4i \ - ./lib/syslib.5i \ - ./lib/syslib.6i \ - ./lib/syslib.7i \ + ./lib/syslib3.i \ + ./lib/syslib4.i \ + ./lib/syslib5.i \ + ./lib/syslib6.i \ + ./lib/syslib7.i \ ./lib/plus.i \ ./primes.i \ ./life.i \ @@ -45,7 +48,7 @@ SOURCES = \ ./iching2.i \ ./hello.i \ ./ins.i \ - ./yappp.i + ./yapp.i TARGETS = \ ./sample \ @@ -54,15 +57,18 @@ TARGETS = \ ./count \ ./hail_mary \ ./icat \ - ./tests/limits \ ./tests/test1 \ + ./tests/limits \ + ./tests/limits3 \ ./tests/test16bit \ ./tests/testarray \ ./tests/testcf \ ./tests/testlib2 \ ./tests/test2 \ ./tests/testops \ + ./tests/testops \ ./tests/testsplat \ + ./tests/testi18n \ ./pow \ ./random \ ./random2 \ @@ -73,6 +79,11 @@ TARGETS = \ ./lib/lib2 \ ./lib/numio \ ./lib/syslib \ + ./lib/syslib3 \ + ./lib/syslib4 \ + ./lib/syslib5 \ + ./lib/syslib6 \ + ./lib/syslib7 \ ./lib/plus \ ./primes \ ./life \ @@ -83,18 +94,56 @@ TARGETS = \ ./iching2 \ ./hello \ ./ins \ - ./yappp + ./yapp + +.SUFFIXES: .i .3i .4i .5i .6i .7i + +.i: + $(ICK) $< + +.3i: + $(ICK) $< + +.4i: + $(ICK) $< -test: - for x in $(SOURCES); do echo "Test-compiling $$x"; ../src/ick -b $$x; done +.5i: + $(ICK) $< -otest: - for x in $(SOURCES); do echo "Test-compiling $$x"; ../src/ick -O -b $$x; done +.6i: + $(ICK) $< + +.7i: + $(ICK) $< + +test: $(TARGETS) + +./lib/syslib3: ./lib/syslib.3i + cp ./lib/syslib.3i ./lib/syslib3.3i + $(ICK) ./lib/syslib3.3i + +./lib/syslib4: ./lib/syslib.4i + cp ./lib/syslib.4i ./lib/syslib4.4i + $(ICK) ./lib/syslib4.4i + +./lib/syslib5: ./lib/syslib.5i + cp ./lib/syslib.5i ./lib/syslib5.5i + $(ICK) ./lib/syslib5.5i + +./lib/syslib6: ./lib/syslib.6i + cp ./lib/syslib.6i ./lib/syslib6.6i + $(ICK) ./lib/syslib6.6i + +./lib/syslib7: ./lib/syslib.7i + cp ./lib/syslib.7i ./lib/syslib7.7i + $(ICK) ./lib/syslib7.7i + +./tests/limits3: ./tests/limits.3i + cp ./tests/limits.3i ./tests/limits3.3i + $(ICK) ./tests/limits3.3i lines: wc -l $(SOURCES) clean: - rm -f $(TARGETS) *.c *.o - - + rm -f $(TARGETS) *.c *.o lib/syslib?.?i tests/limits3.3i diff --git a/src/ick.y b/src/ick.y index 0752bb8..9bb6bbe 100644 --- a/src/ick.y +++ b/src/ick.y @@ -30,6 +30,7 @@ LICENSE TERMS %{ #include +#include #include "sizes.h" #include "ick.h" #include "feh.h" diff --git a/src/lexer.l b/src/lexer.l index 70117d9..1b6f975 100644 --- a/src/lexer.l +++ b/src/lexer.l @@ -195,15 +195,36 @@ D [0-9][\ \t\n0-9]* \; {return(HYBRID);} \# {return(MESH);} -\$ {return(MINGLE);} -\xA2 {return(MINGLE);} -\xA3 {return(MINGLE);} -\xA4 {return(MINGLE);} +\$ | +\xA2 | +\xA3 | +\xA4 | +\xC2\xA2 | +\xC2\xA3 | +\xC2\xA4 | +\xE2\x82\xA0 | +\xE2\x82\xA1 | +\xE2\x82\xA2 | +\xE2\x82\xA3 | +\xE2\x82\xA4 | +\xE2\x82\xA5 | +\xE2\x82\xA6 | +\xE2\x82\xA7 | +\xE2\x82\xA8 | +\xE2\x82\xA9 | +\xE2\x82\xAA | +\xE2\x82\xAB | +\xE2\x82\xAC | +\xE0\xA7\xB2 | +\xE0\xA7\xB3 | +\xE0\xB8\xBF {return(MINGLE);} + \~ {return(SELECT);} \& {yylval.numval = AND; return(UNARY);} V {yylval.numval = OR; return(UNARY);} "V^H-" | +\xE2\x88\x80 | \? {yylval.numval = XOR; return(UNARY);} \^ {yylval.numval = FIN; return(UNARY);} @ {yylval.numval = WHIRL; return(UNARY);} @@ -215,10 +236,14 @@ V {yylval.numval = OR; return(UNARY);} \({W}{D}\) {SETLINENO; yylval.numval = myatoi(yytext); return(LABEL);} DO {SETLINENO; return(DO);} +FAC {SETLINENO; return(DO);} PLEASE {SETLINENO; politesse++; return(DO);} +PLACET {SETLINENO; politesse++; return(DO);} PLEASE{W}DO {SETLINENO; politesse++; return(DO);} +PLACET{W}FACERE {SETLINENO; politesse++; return(DO);} NOT {return(NOT);} N\'T {return(NOT);} +NON {return(NOT);} \%{W}{D} {yylval.numval = myatoi(yytext); if (yylval.numval && yylval.numval < 100) @@ -226,35 +251,63 @@ N\'T {return(NOT);} else lose(E017, yylineno, (char *)NULL);} SUB {return(SUB);} +MULTIPLICATUS{W}A | BY {return(BY);} \<- {return(GETS);} +CALCULANDUM | CALCULATING {yylval.numval = GETS; return(GERUND);} +DEINDE | NEXT {stbeginline = 0; return(NEXT);} +PROXIMANDUM | NEXTING {yylval.numval = NEXT; return(GERUND);} +ALIENERE | FORGET {return(FORGET);} +ALIENENDUM | FORGETTING {yylval.numval = FORGET; return(GERUND);} +RECOLERE | RESUME {return(RESUME);} +RECOLERENDUM | RESUMING {yylval.numval = RESUME; return(GERUND);} +EXUERE | STASH {return(STASH);} +EXUENDUM | STASHING {yylval.numval = STASH; return(GERUND);} +INUERE | RETRIEVE {return(RETRIEVE);} +INUENDUM | RETRIEVING {yylval.numval = RETRIEVE; return(GERUND);} +DISSIMULARE | IGNORE {return(IGNORE);} +DISSIMULANDUM | IGNORING {yylval.numval = IGNORE; return(GERUND);} +MEMINISSE | REMEMBER {return(REMEMBER);} +MEMINISSENDUM | REMEMBERING {yylval.numval = REMEMBER; return(GERUND);} +ABSTINERE{W}A | ABSTAIN{W}FROM {return(ABSTAIN);} +ABSTINENDUM | ABSTAINING {yylval.numval = ABSTAIN; return(GERUND);} +REINSTARE | REINSTATE {return(REINSTATE);} +REINSTATANDUM | REINSTATING {yylval.numval = REINSTATE; return(GERUND);} +LEGERE{W}EX | READ{W}OUT {return(READ_OUT);} +LEGENDUM | READING{W}OUT {yylval.numval = READ_OUT; return(GERUND);} +SCRIBERE{W}IN | WRITE{W}IN {return(WRITE_IN);} +SCRIBENDUM | WRITING{W}IN {yylval.numval = WRITE_IN; return(GERUND);} +ADVENIRE{W}DE | COME{W}FROM {stbeginline = -stbeginline; return(COME_FROM);} +ADVENENDUM | COMING{W}FROM {yylval.numval = COME_FROM; return(GERUND);} +CONCEDERE | +DESPERARE | GIVE{W}UP {return(GIVE_UP);} \+ {return(INTERSECTION);} diff --git a/src/numerals.c b/src/numerals.c index 5034b6c..6476012 100644 --- a/src/numerals.c +++ b/src/numerals.c @@ -14,8 +14,9 @@ * Nahuatl, Tagalog, Sanskrit, Basque, Georgian, Kwakiutl, and * Volap\"uk are now supported in addition to English. * - * As of release 0.18, Volap\"uk digits can be entered in either TeX or - * Latin-1 format. + * As of release 0.18, Volap\"uk digits can be entered in either traditional + * Tex format, Latin-1, or UTF-8. Latin is also now a supported language, + * to fulfill the requirement for Ancient Roman localization. * LICENSE TERMS Copyright (C) 1996 Eric S. Raymond @@ -133,11 +134,30 @@ static numeral numerals[] = { "LUL", 5 }, { "M\\\"AL", 6 }, { "M\0xC4L", 6 }, /* Latin-1 support */ + { "M\0xA3\0xA4L", 6 }, /* UTF-8 support */ { "VEL", 7 }, { "J\\\"OL", 8 }, { "J\0xD6L", 8 }, /* Latin-1 support */ + { "J\0xA3\0x96L", 8 }, /* UTF-8 support */ { "Z\\\"UL", 9 }, { "Z\0xDCL", 9 }, /* Latin-1 support */ + { "Z\0xA3\0x9CL", 9 }, /* UTF-8 support */ +/* Latin localization */ + { "NIL", 0 }, + { "NIHIL", 0 }, + { "UNUS", 1 }, + { "UNA", 1 }, + { "UNUM", 1 }, + { "DUO", 2 }, + { "DUAE", 2 }, + { "TRES", 3 }, + { "QUATTUOR", 4 }, + { "QUATUOR", 4 }, + { "QUINQUE", 5 }, + { "SEX", 6 }, + { "SEPTEM", 7 }, + { "OCTO", 8 }, + { "NOVEM", 9 }, }; /* numeral.c ends here */ diff --git a/src/pit/Makefile b/src/pit/Makefile deleted file mode 100644 index 67efea7..0000000 --- a/src/pit/Makefile +++ /dev/null @@ -1,149 +0,0 @@ -# -# Torture-tester for the INTERCAL compiler -# - -ICK = ../src/ick -b - -SOURCES = \ - ./sample.i \ - ./beer.i \ - ./bubble.i \ - ./count.3i \ - ./hail_mary.3i \ - ./icat.i \ - ./tests/test1.i \ - ./tests/limits.i \ - ./tests/limits.3i \ - ./tests/test16bit.i \ - ./tests/testarray.i \ - ./tests/testcf.i \ - ./tests/testlib2.i \ - ./tests/test2.i \ - ./tests/testops.3i \ - ./tests/testops.5i \ - ./tests/testsplat.i \ - ./tests/testi18n.i \ - ./pow.i \ - ./random.i \ - ./random2.i \ - ./rot13.i \ - ./rot13b.i \ - ./iogerunds.i \ - ./pi.i \ - ./lib/lib2.i \ - ./lib/numio.i \ - ./lib/syslib.i \ - ./lib/syslib3.i \ - ./lib/syslib4.i \ - ./lib/syslib5.i \ - ./lib/syslib6.i \ - ./lib/syslib7.i \ - ./lib/plus.i \ - ./primes.i \ - ./life.i \ - ./life2.i \ - ./sink.i \ - ./change.i \ - ./iching1.i \ - ./iching2.i \ - ./hello.i \ - ./ins.i \ - ./yapp.i - -TARGETS = \ - ./sample \ - ./beer \ - ./bubble \ - ./count \ - ./hail_mary \ - ./icat \ - ./tests/test1 \ - ./tests/limits \ - ./tests/limits3 \ - ./tests/test16bit \ - ./tests/testarray \ - ./tests/testcf \ - ./tests/testlib2 \ - ./tests/test2 \ - ./tests/testops \ - ./tests/testops \ - ./tests/testsplat \ - ./tests/testi18n \ - ./pow \ - ./random \ - ./random2 \ - ./rot13 \ - ./rot13b \ - ./iogerunds \ - ./pi \ - ./lib/lib2 \ - ./lib/numio \ - ./lib/syslib \ - ./lib/syslib3 \ - ./lib/syslib4 \ - ./lib/syslib5 \ - ./lib/syslib6 \ - ./lib/syslib7 \ - ./lib/plus \ - ./primes \ - ./life \ - ./life2 \ - ./sink \ - ./change \ - ./iching1 \ - ./iching2 \ - ./hello \ - ./ins \ - ./yapp - -.SUFFIXES: .i .3i .4i .5i .6i .7i - -.i: - $(ICK) $< - -.3i: - $(ICK) $< - -.4i: - $(ICK) $< - -.5i: - $(ICK) $< - -.6i: - $(ICK) $< - -.7i: - $(ICK) $< - -test: $(TARGETS) - -./lib/syslib3: ./lib/syslib.3i - cp ./lib/syslib.3i ./lib/syslib3.3i - $(ICK) ./lib/syslib3.3i - -./lib/syslib4: ./lib/syslib.4i - cp ./lib/syslib.4i ./lib/syslib4.4i - $(ICK) ./lib/syslib4.4i - -./lib/syslib5: ./lib/syslib.5i - cp ./lib/syslib.5i ./lib/syslib5.5i - $(ICK) ./lib/syslib5.5i - -./lib/syslib6: ./lib/syslib.6i - cp ./lib/syslib.6i ./lib/syslib6.6i - $(ICK) ./lib/syslib6.6i - -./lib/syslib7: ./lib/syslib.7i - cp ./lib/syslib.7i ./lib/syslib7.7i - $(ICK) ./lib/syslib7.7i - -./tests/limits3: ./tests/limits.3i - cp ./tests/limits.3i ./tests/limits3.3i - $(ICK) ./tests/limits3.3i - -lines: - wc -l $(SOURCES) - -clean: - rm -f $(TARGETS) *.c *.o lib/syslib?.?i tests/limits3.3i diff --git a/website/index.html b/website/index.html index 6b9aa5a..7de26d4 100644 --- a/website/index.html +++ b/website/index.html @@ -9,14 +9,14 @@
Back to Eric's Home Page Up to Site Map -$Date: 1999-06-28 01:24:13 $ +$Date: 1999-09-16 03:31:09 $

This is the INTERCAL Resources Page.

(NEW!) -Just out! Now with internationalization, so the entire world -can fall under its sinister spell, it's...INTERCAL 0.19!

+Just out! the long-awaited. long=dreaded INTERCAL +0.20. Yes -- it's the millennium edition!

Beware! If you aren't a hard-core hacker, you'd best surf right back where you came from now. Nothing but twisted technical yuks @@ -83,7 +83,7 @@ two typos (misspellings of "Malvernite" and "compiler") in this copy.

Implementations

You can download the latest version of the C-INTERCAL +HREF="http://www.tuxedo.org/~esr/intercal/intercal-0.20.tar.gz"> C-INTERCAL distribution here (includes the manual and sample programs). Requires either bison or yacc and flex or lex. Builds and runs nicely under any ANSI/POSIX platform, including Linux and the free BSD @@ -181,7 +181,7 @@ maintains a large collection of freeware you may find stimulating.

Back to Eric's Home Page Up to Site Map -$Date: 1999-06-28 01:24:13 $ +$Date: 1999-09-16 03:31:09 $

Eric S. Raymond <esr@snark.thyrsus.com>