185 lines
8.2 KiB
C
185 lines
8.2 KiB
C
Article 293 of rec.humor.funny:
|
|
>From: stevenj@umbc3.umd.edu
|
|
Subject: Tenne-C
|
|
Message-ID: <1877@looking.UUCP>
|
|
Date: 27 Jul 88 15:30:02 GMT
|
|
|
|
I was recently (as in yesterday) given this announcement for
|
|
a new C compiler. Please do not direct any questions concerning
|
|
this product to me - all I know is what you see here. Please
|
|
contact the company for further information. Also, this is long,
|
|
so please edit accordingly when replying via news.
|
|
-Steven
|
|
stevenj@umbc3.umd.edu ;-)
|
|
-----------------------------------------------------------------
|
|
|
|
|
|
|
|
TITLE: Tenne-C Announcement
|
|
|
|
|
|
|
|
Tenne-C programming language
|
|
... from Good Ol' Boy Systems.
|
|
|
|
|
|
NOTE: The following is rated PG; programmer's guidance should be exercised.
|
|
|
|
For all those unfamiliar with Tenne-C, the comment delimiter is WHISPER. The
|
|
computer stores all WHISPERed comments in memory, but the instruction execution
|
|
unit can never quite decode them, so they are ignored. Some beta site users
|
|
have reported an occasional problem with IBM clone machines. These machines
|
|
may get slightly confused or mildly paranoid due to the whispered remarks in
|
|
the background, but the effects are usually limited to an occasional mutterance
|
|
printed on the display. Note that the optional extended obcenity instruction
|
|
set should not be installed in clone machines. Should such a machine crash,
|
|
you could be arrested for making an obscene clone fall.
|
|
|
|
|
|
General Idiosyncrasies of Tenne-C
|
|
|
|
Data is referred to as Ciphers; the start of a data section should be so
|
|
labeled. Data which is external to a given file is denoted by the term
|
|
YONDER, similar to the EXTERNAL directive.
|
|
|
|
Single arguments are not passed to functions individua lly; rather, multiple
|
|
passes are made simultaneously to all functions. Thus, in Tenne-C, we speak of
|
|
feuds rather than arguments. This is an extremely powerful, albeit somewhat
|
|
destructive feature of Tenne-C.
|
|
|
|
Relational operators work similarly to those in other languages, but in Tenne-C
|
|
these are called kinfolk operators. It will be noted that some of these
|
|
interrelaiite better than others. Kinfolk operators include:
|
|
|
|
Bettern (mines) bettern (yourn)
|
|
Boutlack (mines) boutlack (yourn)
|
|
Nearlyboutlack (mines) nearlyboutlack (yourn)
|
|
Worsern (yourns) worsern (mine)
|
|
Nearlyboutsgoods (yourns) nearlyboutsgoods (mine)
|
|
Lack (mines) lack (yourn)
|
|
Sortalack (mines) sortalack (yourn)
|
|
Differrtn (yourns) differrtn (mine)
|
|
|
|
The Boolean operators are somewhat different than most. Note the lack of AND
|
|
and OR operators:
|
|
|
|
taint
|
|
istoo
|
|
tis
|
|
aintdunnit
|
|
nary
|
|
nope
|
|
|
|
Variable assignments must be explicitly declared with the AHDODECLARE
|
|
directive, although one declaration can serve a block of variables. Variable
|
|
assignments can be quite interesting and flexible, as can be seen in the
|
|
following examples:
|
|
|
|
ahdodeclare: a's nearlybout 3
|
|
b's zacktly 4
|
|
c's bout 2
|
|
d's morerless TWEV
|
|
e's 2, an imeanit WHISPER this is a constant
|
|
|
|
Certain constants are implicit, such as SCOSHE, LIBBIT, FAV, SEM, NAN, LEM,
|
|
TWEV, THUTTY, etc. Such obvious values need not be declared, as they reside in
|
|
the liberry books.
|
|
|
|
Arrays must be declared with the AHDODECLARE statement, and are referred to as
|
|
messa, as in:
|
|
|
|
Ahdodeclare(dinner) messa(fish) TWEV
|
|
|
|
Note that until you get the hang of array declarations, you may encounter a
|
|
SYNTEXT ERROR; this is a syntax error which has been taken out of context.
|
|
|
|
The program section is referred to as CHORES and is labeled as such. Several
|
|
loop and conditional constructs are available. These include the following:
|
|
|
|
Hauloff and do
|
|
Fer, til loop
|
|
Whol, longasyerattit
|
|
Iffen, theyen
|
|
Yehbut, nowait
|
|
|
|
Code is grouped into hopefully functional units with the standard, [] and ()
|
|
operators, although they are given slightly different names. They are still
|
|
called braces, but the [] are called kibbuls and the () are called bits. Thus,
|
|
you can have braces and bits or kibbuls and bits. Braces and kibbuls are, of
|
|
course, meaningless.
|
|
|
|
If a KIBBITZ ERROR is encountered at compile time, that is a single kib [ with
|
|
a pair of bits (). The ommision of a single ] can also result in a NO BULL!
|
|
error. Very serious compiler errors will be preceeded by the SELF message.
|
|
That's right, brace yourself. We're talking about such errors as SOURCE FILE
|
|
TURNED TO TRASH, SOURCE FILE CONVERTED TO RUN FILE, HEX PUT ON SOURCE FILE,
|
|
that sort of thing. Errors of this type will be followed by the message "START
|
|
ALL OVER FROM SCRATCH", and the offending source file will, of course, be
|
|
deleted.
|
|
|
|
Error messages can be quite strong indeed. We have one of the most arrogant
|
|
compilers in the business, a source of great pride for us. Typical error
|
|
messages include:
|
|
|
|
WELL, IF THAT AIN'T ABOUT THE DUMBEST DANG THANG I EVER SEEN!
|
|
WHADJA DO THAT FER?
|
|
ERROR TWENNY SEM, DUMB AICE!
|
|
DAMMIT, BOY, HOW MANY TIMES I GOT TO TELL YOU?!
|
|
|
|
The compiler is referred to as the THRASHER and is invoked with the simple
|
|
THRASH directive. BE SURE NOT TO OMIT THE "H" FROM THIS COMMAND!!! If you are
|
|
unsure whether you want to compile the entire program, you may use the more
|
|
general THRASH AROUND command.
|
|
|
|
Good Ol' Boy Systems still clings tenaciously to the notion that single-sided
|
|
diskettes are better than double-sided diskettes. We maintain that a
|
|
single-sided diskette is in opposition to the laws of physics as we know them
|
|
today. However, we further maintain that, at some time in the future, Good Ol'
|
|
Boy Systems will be the first to discover the unlimited storage of the
|
|
heretofore undiscovered "nether side" of single-sided diskettes. Now THAT,
|
|
folks, is virtual disk space.
|
|
|
|
A software linker is not yet available. Until the virtual disk space is truly
|
|
solved, we strongly recommend double sided disk drives. You can then purchase
|
|
our hardware linker, which allows you to superglue two single-sided diskettes
|
|
together.
|
|
|
|
We're working on other things, too. For instance, there's our new operating
|
|
system, MS-HOSS, with the 'Mater Vine file structure. And for 'Mater Vine
|
|
support, there's 'Mater Stakes. And if you thought SideKick was good, wait til
|
|
you see our new ButtKick utility. Expected to be widely available by the end
|
|
of next month, regardless of what month this be, it is being developed using
|
|
our powerful new Four Barrel Tenne-C. While we aren't yet ready to develop a
|
|
Turbo Tenne-C, we feel that the high data compression ratio of Four Barrel
|
|
Tenne-C will suffice.
|
|
|
|
Here is a sample of our work. This is part of our new floating point package,
|
|
written in LOWLIFE, our low-level programming language.
|
|
|
|
UNSTACKUMDOTNUMBER WHISPER rip number off the stack
|
|
JIP DOTREMOVER WHISPER jump if punctuated
|
|
DONTDONOTHING WHISPER no op
|
|
JUMPEM2DGITBACK WHISPER return
|
|
GUMDROPS4EARPLUGS WHISPER sweet things in my ear
|
|
|
|
DOTREMOVER:
|
|
RDLDOTNUMBER WHISPER Rikki, don't lose that number
|
|
ASRDOTNUMBER WHISPER shift the number right
|
|
JISPDOTREMOVER WHISPER jump if still punctuated
|
|
ABSOLUTELYNOT WHISPER negate number and take absolute value
|
|
BZZBZZBZZ WHISPER WHISPER WHISPER EM2DGITBACK:
|
|
RTS WHISPER return to stack
|
|
RETURNS WHISPER return estimated truncated unary radix
|
|
WHISPER numerix stuff
|
|
|
|
--
|
|
THIS SPACE Andrew B. Peed
|
|
FOR HIRE AT&T Bell Laboratories
|
|
Financing Available!
|
|
|
|
|
|
--
|
|
Edited by Brad Templeton. MAIL, yes MAIL your jokes to watmath!looking!funny .
|
|
One joke per submission, with descriptive "Subject:" and no form feeds, please!
|
|
Attribute the joke's source if at all possible. I will reply, mailers willing.
|
|
|