checkpoint on manifest
Also change 2018/burton2/src.doc.rot13 to 2018/burton2/src.doc.txt and address the "SPOILER WARNING" in the manifest.
This commit is contained in:
1 parent
d4b8bd6611
commit
846dce2c31
9 files changed
+2678
-2672
No files matched your search
@@ -124,7 +124,7 @@ EXTRA_DATA= ansi c++11 c++14 c++98 c11 c99 discrepancies.md \
|
|||||||
test01.c test02.c test03.c test04.c test05.c test06.c test07.c \
|
test01.c test02.c test03.c test04.c test05.c test06.c test07.c \
|
||||||
test08.c test09.c test10.c test11.c test12.c test13.c test14.c \
|
test08.c test09.c test10.c test11.c test12.c test13.c test14.c \
|
||||||
iocccbug01.c iocccbug02.c iocccbug03.c iocccbug04.c iocccbug05.c \
|
iocccbug01.c iocccbug02.c iocccbug03.c iocccbug04.c iocccbug05.c \
|
||||||
iocccbug06.c results results.k src.doc.rot13 patch tac.man author-README.txt \
|
iocccbug06.c results results.k src.doc.txt patch tac.man author-README.txt \
|
||||||
ioc_without_quote
|
ioc_without_quote
|
||||||
UTILITIES= unob.sh tokenfix spotcheck spotdiff freqcount
|
UTILITIES= unob.sh tokenfix spotcheck spotdiff freqcount
|
||||||
USAGE="\"prog [-tcksri] < file.c\ntokenize and count stdin\n\t-t\ttokens only\n\t-c\tcompatible counts\n\t-k\tkeep comments\n\t-s\tsuppress output\n\t-r\treserved words count as 1\n\t-i\tioccc count only\n\""
|
USAGE="\"prog [-tcksri] < file.c\ntokenize and count stdin\n\t-t\ttokens only\n\t-c\tcompatible counts\n\t-k\tkeep comments\n\t-s\tsuppress output\n\t-r\treserved words count as 1\n\t-i\tioccc count only\n\""
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ mkkeywords reads one of the files from variations, produces string for prog.c
|
|||||||
ioccc.kw.freq keywords used by iocccsize, sorted by frequency in 201x ioccc winners
|
ioccc.kw.freq keywords used by iocccsize, sorted by frequency in 201x ioccc winners
|
||||||
unob.sh a more robust unobfuscation script; requires variations/c11 in cur dir
|
unob.sh a more robust unobfuscation script; requires variations/c11 in cur dir
|
||||||
tokenfix patches up prog -t output for ::, >>>, ...
|
tokenfix patches up prog -t output for ::, >>>, ...
|
||||||
src.doc.rot13 the answers, or at least significant help
|
src.doc.txt the answers, or at least significant help
|
||||||
tac.c more clearly written code, offered as a replacement of iocccsize.c
|
tac.c more clearly written code, offered as a replacement of iocccsize.c
|
||||||
patch fixes single quotes in iocccsize.c, adds #ifndef, removes "I"
|
patch fixes single quotes in iocccsize.c, adds #ifndef, removes "I"
|
||||||
fixed_iocccsize.c iocccsize with patch applied, and nop -c argument added
|
fixed_iocccsize.c iocccsize with patch applied, and nop -c argument added
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ mkkeywords reads one of the files from variations, produces string for prog.c
|
|||||||
ioccc.kw.freq keywords used by iocccsize, sorted by frequency in 201x ioccc winners
|
ioccc.kw.freq keywords used by iocccsize, sorted by frequency in 201x ioccc winners
|
||||||
unob.sh a more robust unobfuscation script; requires variations/c11 in cur dir
|
unob.sh a more robust unobfuscation script; requires variations/c11 in cur dir
|
||||||
tokenfix patches up prog -t output for ::, >>>, ...
|
tokenfix patches up prog -t output for ::, >>>, ...
|
||||||
src.doc.rot13 the answers, or at least significant help
|
src.doc.txt the answers, or at least significant help
|
||||||
tac.c more clearly written code, offered as a replacement of iocccsize.c
|
tac.c more clearly written code, offered as a replacement of iocccsize.c
|
||||||
patch fixes single quotes in iocccsize.c, adds #ifndef, removes "I"
|
patch fixes single quotes in iocccsize.c, adds #ifndef, removes "I"
|
||||||
fixed_iocccsize.c iocccsize with patch applied, and nop -c argument added
|
fixed_iocccsize.c iocccsize with patch applied, and nop -c argument added
|
||||||
|
|||||||
@@ -1,81 +0,0 @@
|
|||||||
zrzbel znc: Z (bssfrg, yratgu)
|
|
||||||
0,256 gbxravmngvba syntf
|
|
||||||
256,128 xrljbeq yratgu bssfrg znc
|
|
||||||
384,640 xrljbeq fgevatf (453 punef)
|
|
||||||
1024,32 bcgvba ovg znc
|
|
||||||
1056,32 trgbcg fgevat
|
|
||||||
1088,256 gevtencu znc
|
|
||||||
|
|
||||||
serrpbqr: gevanel, nycunorg 0 { 1 } 2 ;
|
|
||||||
hfvat guerr gevgf, gur nycunorg N-M jvgu n fcnpr/ahyy pna or rapbqrq:
|
|
||||||
0 fcnpr/ahyy, 1 N, 2 O, 3 P, ...
|
|
||||||
nygubhtu guvf rapbqvat vf abg gur bayl bar
|
|
||||||
pbqr vf serr-sbez, fcnpr ntabfgvp (bar be zber fcnprf ner erdhverq sbe vg gb or 'serr')
|
|
||||||
qrpbqvat vf pbagrkg qrcraqrag, glcvpnyyl hfvat 3 be zber gevgf
|
|
||||||
gur cebtenz pbzzragf hfr o(3) naq gur nycunorg rapbqvat nobir,
|
|
||||||
ohg gurl ner abg pyrnayl fcyvg ba 3-gevg obhaqnevrf(!)
|
|
||||||
|
|
||||||
v N pj
|
|
||||||
O
|
|
||||||
v P pp
|
|
||||||
Q
|
|
||||||
v R pk
|
|
||||||
c S[] xrljbeqf, gbxra vavg, bcgvbaf vavg, bcgvba fgevat, gevtencu vavg
|
|
||||||
T
|
|
||||||
v U pbzzrag uvfgbel
|
|
||||||
v V pv
|
|
||||||
W
|
|
||||||
v X px
|
|
||||||
v Y py
|
|
||||||
p Z[2053] zrzbel: gbxra syntf, xrljbeq gnoyr, bcgvba gnoyr, gevtencu gnoyr
|
|
||||||
A
|
|
||||||
c B fgneg bs juvgrfcnpr
|
|
||||||
C
|
|
||||||
D
|
|
||||||
v E gf
|
|
||||||
F
|
|
||||||
v G gx
|
|
||||||
q H qrsvarq hfntr zrffntr (-QH="\"uryc grkg\"")
|
|
||||||
I
|
|
||||||
q J qrsvarq erfreirq jbeq fgevat (-QJ=\"xrljbeqf\")
|
|
||||||
K
|
|
||||||
L
|
|
||||||
v M 256
|
|
||||||
v n tybony
|
|
||||||
v o(v) qrpbqr serrpbqr hfvat v ovgf
|
|
||||||
v p tybony
|
|
||||||
v q(f,v) vf n xrljbeq?
|
|
||||||
c r raq bs ohssre
|
|
||||||
i s(v,v) pbzcng
|
|
||||||
i t(v,v) pbzcng_jbeqf
|
|
||||||
v u(f,v) cevag v punef bs f, be hagvy ahyy
|
|
||||||
c v ohssre
|
|
||||||
v w() yrkre
|
|
||||||
x
|
|
||||||
v y 10 / arjyvar
|
|
||||||
v z(p) jnag(p), unaqyrf rfpncrf
|
|
||||||
a tybony
|
|
||||||
v b tybony
|
|
||||||
c
|
|
||||||
c d xrljbeq vaqrk gnoyr
|
|
||||||
v e(v,v) cevag net1 nf vag gb fgqbhg/ree ol net2, genvyrq ol fcnpr/arjyvar
|
|
||||||
f fgneg bs gbxra
|
|
||||||
g
|
|
||||||
h
|
|
||||||
v i pzq yvar syntf
|
|
||||||
j
|
|
||||||
k
|
|
||||||
l
|
|
||||||
c m pheerag cbvagre
|
|
||||||
|
|
||||||
shapgvbaf
|
|
||||||
|
|
||||||
v u(f,v) cevag v punef bs f, be hagvy ahyy
|
|
||||||
v e(v,v) cevag net1 nf vag gb fgqbhg/ree ol net2, genvyrq ol fcnpr/arjyvar
|
|
||||||
v z(p) jnag(p), unaqyrf rfpncrf
|
|
||||||
v q(f,v) vf n xrljbeq?
|
|
||||||
v w() yrkre
|
|
||||||
i t(v,v) pbzcng_jbeqf
|
|
||||||
i s(v,v) pbzcng
|
|
||||||
v o(v) qrpbqr serrpbqr hfvat v ovgf
|
|
||||||
v znva(p,cc) vavg, bcgvbaf, ernq, pbhag, cevag
|
|
||||||
@@ -0,0 +1,81 @@
|
|||||||
|
memory map: M (offset, length)
|
||||||
|
0,256 tokenization flags
|
||||||
|
256,128 keyword length offset map
|
||||||
|
384,640 keyword strings (453 chars)
|
||||||
|
1024,32 option bit map
|
||||||
|
1056,32 getopt string
|
||||||
|
1088,256 trigraph map
|
||||||
|
|
||||||
|
freecode: trinary, alphabet 0 { 1 } 2 ;
|
||||||
|
using three trits, the alphabet A-Z with a space/null can be encoded:
|
||||||
|
0 space/null, 1 A, 2 B, 3 C, ...
|
||||||
|
although this encoding is not the only one
|
||||||
|
code is free-form, space agnostic (one or more spaces are required for it to be 'free')
|
||||||
|
decoding is context dependent, typically using 3 or more trits
|
||||||
|
the program comments use b(3) and the alphabet encoding above,
|
||||||
|
but they are not cleanly split on 3-trit boundaries(!)
|
||||||
|
|
||||||
|
i A cw
|
||||||
|
B
|
||||||
|
i C cc
|
||||||
|
D
|
||||||
|
i E cx
|
||||||
|
p F[] keywords, token init, options init, option string, trigraph init
|
||||||
|
G
|
||||||
|
i H comment history
|
||||||
|
i I ci
|
||||||
|
J
|
||||||
|
i K ck
|
||||||
|
i L cl
|
||||||
|
c M[2053] memory: token flags, keyword table, option table, trigraph table
|
||||||
|
N
|
||||||
|
p O start of whitespace
|
||||||
|
P
|
||||||
|
Q
|
||||||
|
i R ts
|
||||||
|
S
|
||||||
|
i T tk
|
||||||
|
d U defined usage message (-DU="\"help text\"")
|
||||||
|
V
|
||||||
|
d W defined reserved word string (-DW=\"keywords\")
|
||||||
|
X
|
||||||
|
Y
|
||||||
|
i Z 256
|
||||||
|
i a global
|
||||||
|
i b(i) decode freecode using i bits
|
||||||
|
i c global
|
||||||
|
i d(s,i) is a keyword?
|
||||||
|
p e end of buffer
|
||||||
|
v f(i,i) compat
|
||||||
|
v g(i,i) compat_words
|
||||||
|
i h(s,i) print i chars of s, or until null
|
||||||
|
p i buffer
|
||||||
|
i j() lexer
|
||||||
|
k
|
||||||
|
i l 10 / newline
|
||||||
|
i m(c) want(c), handles escapes
|
||||||
|
n global
|
||||||
|
i o global
|
||||||
|
p
|
||||||
|
p q keyword index table
|
||||||
|
i r(i,i) print arg1 as int to stdout/err by arg2, trailed by space/newline
|
||||||
|
s start of token
|
||||||
|
t
|
||||||
|
u
|
||||||
|
i v cmd line flags
|
||||||
|
w
|
||||||
|
x
|
||||||
|
y
|
||||||
|
p z current pointer
|
||||||
|
|
||||||
|
functions
|
||||||
|
|
||||||
|
i h(s,i) print i chars of s, or until null
|
||||||
|
i r(i,i) print arg1 as int to stdout/err by arg2, trailed by space/newline
|
||||||
|
i m(c) want(c), handles escapes
|
||||||
|
i d(s,i) is a keyword?
|
||||||
|
i j() lexer
|
||||||
|
v g(i,i) compat_words
|
||||||
|
v f(i,i) compat
|
||||||
|
i b(i) decode freecode using i bits
|
||||||
|
i main(c,pp) init, options, read, count, print
|
||||||
+1297
-1294
File diff suppressed because it is too large.
Load diff
Binary file not shown.
+1297
-1294
File diff suppressed because it is too large.
Load diff
Binary file not shown.
Reference in new issue
Block a user