-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathsorry.tm.ca.h
53 lines (53 loc) · 2.96 KB
/
sorry.tm.ca.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
/*
* A programmer's apology and warning:
*
* Sorry (tm Canada :-)) for the appalling condition of the code below.
*
* The people who worked on these tools and library did NOT write this code.
* Well, OK, we DID write this comment and the code from jparse.y and jparse.l
* as well as the other tools; we refer instead to the code in jparse.tab.c,
* jparse.tab.h and their respective backup files jparse.tab.ref.c and
* jparse.tab.ref.h generated by bison, and the jparse.c, jparse.lex.h and their
* respective backup files jparse.ref.c and jparse.lex.ref.h generated by flex.
*
* WARNING: We do NOT recommend that you modify the generated code even though
* it is digitally odoriferous and has a gleety appearance. Beautification of
* this code, no matter how disagreeable it may seem, is unwise as such
* modifications tend to be practically impossible to maintain. Even if this
* Flying Spaghetti Monster style code tempts you to tweak it, doing so might
* produce visions and nightmares of Cthulhu-like tentacles grabbing at the very
* logic of your mind, pulling it down into a hideous maelstrom of code
* maintenance cacophony.
*
* OK, it might not give you nightmares but why take the risk? The point is
* don't work on this file! Instead work on the bison and flex related source
* files. See the Makefile for details on how this file was generated. See also
* run_bison.sh and run_flex.sh.
*
* Now some might be tempted to point out this code was originally in support of
* the International Obfuscated C Code Contest (IOCCC) and that objecting to the
* output of Bison and Flex borders on programming sanctimoniousness. At first
* glance, this incongruence is unsustainable. In response we opine that one of
* the fundamental undertones of the IOCCC is the promotion of good programming
* through irony by awarding highly obfuscated C code. So, if it helps, we
* suggest you view this apology in a satirical light, even if you are humour
* impaired. Nevertheless, we still recommend you to eschew modifying the code
* below.
*
* Thanks in advance for your understanding, and sorry (tm Canada :-)).
*
* Of course, on the other hand, the fact the scanner and parser are for JSON
* might suggest that we shouldn't have to apologise because the JSON spec is
* objectionable and so are the generated scanner and parser so this apology
* might very well be superfluous. If one were to then ignore the fact that
* bison and flex do not care what they are parsing this same person could
* argue, obviously by some perverted logical fallacies, that bison and flex did
* their job well. Well, OK they probably DID do their job well but in an
* objectionable way. :-)
*
* P.S. In 2022 April 04, when this comment was initially formed, none of the
* people working on this parser/scanner were Canadian. But some of them
* have several good friends who live in, or are from Canada. Those
* friends say sorry in a fun and friendly way, so we honour those friends
* accordingly.
*/