rubylexer 0.6.2 → 0.7.0
Sign up to get free protection for your applications and to get access to all the features.
- data/History.txt +55 -0
- data/Manifest.txt +67 -0
- data/README.txt +103 -0
- data/Rakefile +24 -0
- data/howtouse.txt +9 -6
- data/{assert.rb → lib/assert.rb} +11 -11
- data/{rubylexer.rb → lib/rubylexer.rb} +645 -342
- data/lib/rubylexer/0.6.2.rb +39 -0
- data/lib/rubylexer/0.6.rb +5 -0
- data/lib/rubylexer/0.7.0.rb +2 -0
- data/{charhandler.rb → lib/rubylexer/charhandler.rb} +4 -2
- data/{charset.rb → lib/rubylexer/charset.rb} +4 -3
- data/{context.rb → lib/rubylexer/context.rb} +48 -18
- data/{rubycode.rb → lib/rubylexer/rubycode.rb} +5 -3
- data/{rulexer.rb → lib/rubylexer/rulexer.rb} +180 -102
- data/{symboltable.rb → lib/rubylexer/symboltable.rb} +10 -1
- data/{token.rb → lib/rubylexer/token.rb} +72 -20
- data/{tokenprinter.rb → lib/rubylexer/tokenprinter.rb} +39 -16
- data/lib/rubylexer/version.rb +3 -0
- data/{testcode → test/code}/deletewarns.rb +0 -0
- data/test/code/dl_all_gems.rb +43 -0
- data/{testcode → test/code}/dumptokens.rb +12 -9
- data/test/code/locatetest +30 -0
- data/test/code/locatetest.rb +49 -0
- data/test/code/rubylexervsruby.rb +173 -0
- data/{testcode → test/code}/tokentest.rb +62 -51
- data/{testcode → test/code}/torment +8 -8
- data/test/code/unpack_all_gems.rb +15 -0
- data/{testdata → test/data}/1.rb.broken +0 -0
- data/{testdata → test/data}/23.rb +0 -0
- data/test/data/__end__.rb +2 -0
- data/test/data/__end__2.rb +3 -0
- data/test/data/and.rb +5 -0
- data/test/data/blockassigntest.rb +23 -0
- data/test/data/chunky.plain.rb +75 -0
- data/test/data/chunky_bacon.rb +112 -0
- data/test/data/chunky_bacon2.rb +112 -0
- data/test/data/chunky_bacon3.rb +112 -0
- data/test/data/chunky_bacon4.rb +112 -0
- data/test/data/for.rb +45 -0
- data/test/data/format.rb +6 -0
- data/{testdata → test/data}/g.rb +0 -0
- data/test/data/gemlist.txt +280 -0
- data/test/data/heart.rb +7 -0
- data/test/data/if.rb +6 -0
- data/test/data/jarh.rb +369 -0
- data/test/data/lbrace.rb +4 -0
- data/test/data/lbrack.rb +4 -0
- data/{testdata → test/data}/newsyntax.rb +0 -0
- data/{testdata → test/data}/noeolatend.rb +0 -0
- data/test/data/p-op.rb +8 -0
- data/{testdata → test/data}/p.rb +671 -79
- data/{testdata → test/data}/pleac.rb.broken +0 -0
- data/{testdata → test/data}/pre.rb +0 -0
- data/{testdata → test/data}/pre.unix.rb +0 -0
- data/{testdata → test/data}/regtest.rb +0 -0
- data/test/data/rescue.rb +35 -0
- data/test/data/s.rb +186 -0
- data/test/data/strinc.rb +2 -0
- data/{testdata → test/data}/tokentest.assert.rb.can +0 -0
- data/test/data/untermed_here.rb.broken +2 -0
- data/test/data/untermed_string.rb.broken +1 -0
- data/{testdata → test/data}/untitled1.rb +0 -0
- data/{testdata → test/data}/w.rb +0 -0
- data/{testdata → test/data}/wsdlDriver.rb +0 -0
- data/testing.txt +6 -4
- metadata +163 -59
- data/README +0 -134
- data/Rantfile +0 -37
- data/io.each_til_charset.rb +0 -247
- data/require.rb +0 -103
- data/rlold.rb +0 -12
- data/testcode/locatetest +0 -12
- data/testcode/rubylexervsruby.rb +0 -104
- data/testcode/rubylexervsruby.sh +0 -51
- data/testresults/placeholder +0 -0
@@ -2,21 +2,21 @@
|
|
2
2
|
#export DEBUG=-rdebug
|
3
3
|
|
4
4
|
|
5
|
-
#export RUBYLEXERVSRUBY=
|
6
|
-
export RUBYLEXERVSRUBY=
|
5
|
+
#export RUBYLEXERVSRUBY=test/code/rubylexervsruby.sh
|
6
|
+
export RUBYLEXERVSRUBY=test/code/rubylexervsruby.rb
|
7
7
|
export ARGS=$*
|
8
8
|
#something broken here
|
9
9
|
#test -n "$ARGS" && (
|
10
10
|
|
11
11
|
|
12
12
|
echo 'looking for ruby files in debian packages...'
|
13
|
-
find
|
13
|
+
find test/data/ -name '_*' -print|xargs -l200 rm
|
14
14
|
for i in `feta find '\.rb'|cut -d: -f2-99`; do
|
15
|
-
ln -s "$i"
|
15
|
+
ln -s "$i" test/data/`echo $i|tr '/ ' '_'` 2>&1 |grep -v ': File exists$';
|
16
16
|
done
|
17
17
|
#)
|
18
18
|
|
19
|
-
for i in
|
19
|
+
for i in test/data/*.rb; do
|
20
20
|
$RUBYLEXERVSRUBY $i;
|
21
21
|
done
|
22
22
|
|
@@ -42,10 +42,10 @@ export ARGS=$*
|
|
42
42
|
|
43
43
|
#also look in bin and lib directories
|
44
44
|
file -L `echo $PATH":/sbin:/usr/sbin"|tr : "\n"|sort -u|xargs -i echo "{}/*"`| \
|
45
|
-
grep "ruby[^:]*script"|cut -d: -f1 >
|
45
|
+
grep "ruby[^:]*script"|cut -d: -f1 > test/results/rubyexelibs
|
46
46
|
|
47
|
-
ruby -e 'print ($:.sort.uniq+[""]).join"\n"'|xargs -i ls "{}/*.rb" >>
|
47
|
+
ruby -e 'print ($:.sort.uniq+[""]).join"\n"'|xargs -i ls "{}/*.rb" >> test/results/rubyexelibs
|
48
48
|
|
49
|
-
for i in `cat
|
49
|
+
for i in `cat test/results/rubyexelibs`; do
|
50
50
|
$RUBYLEXERVSRUBY $i;
|
51
51
|
done
|
@@ -0,0 +1,15 @@
|
|
1
|
+
gemdir="gems/"
|
2
|
+
gems=Dir[gemdir+"*.gem"]
|
3
|
+
|
4
|
+
gems.each{|gem|
|
5
|
+
dir=gem.dup
|
6
|
+
dir[/\.gem$/]=''
|
7
|
+
Dir.mkdir dir rescue nil
|
8
|
+
|
9
|
+
system "tar x -f #{gem} -C #{dir}"
|
10
|
+
system "gunzip #{dir}/metadata.gz -c > #{dir}/metadata"
|
11
|
+
system "tar xz -f #{dir}/data.tar.gz -C #{dir}"
|
12
|
+
|
13
|
+
|
14
|
+
File.unlink gem, dir+"/metadata.gz", dir+"/data.tar.gz" rescue nil
|
15
|
+
}
|
File without changes
|
File without changes
|
data/test/data/and.rb
ADDED
@@ -0,0 +1,75 @@
|
|
1
|
+
# Murphy's Chunky Bacon generator
|
2
|
+
# Chunky Bacon by why the lucky stiff
|
3
|
+
def toss
|
4
|
+
rand(2).zero?
|
5
|
+
end
|
6
|
+
|
7
|
+
class String
|
8
|
+
def randomize_case
|
9
|
+
split('').map do |c| toss ? c.upcase : c.downcase end.join
|
10
|
+
end
|
11
|
+
end
|
12
|
+
|
13
|
+
module Chunky
|
14
|
+
FONT_FAMILIES = %w(serif sans-serif cursive fantasy monospace)
|
15
|
+
|
16
|
+
def self.rand_color
|
17
|
+
'#%x' % rand(0x1_00_00_00)
|
18
|
+
end
|
19
|
+
|
20
|
+
def self.bacon n
|
21
|
+
chunky_bacon = Array.new n do
|
22
|
+
'<span style="position: fixed; top: %dpx; left: %dpx; color: %s; font-size: %d%%; font-weight: %d00; font-sytle: %s; font-family: %s;">%s</span>' % [
|
23
|
+
rand(800) - 30,
|
24
|
+
rand(1200) - 100,
|
25
|
+
rand_color,
|
26
|
+
rand(300) + 10,
|
27
|
+
rand(9) + 1,
|
28
|
+
toss ? 'italic' : 'normal',
|
29
|
+
FONT_FAMILIES[rand(FONT_FAMILIES.size)],
|
30
|
+
'Chunky Bacon'.randomize_case,
|
31
|
+
]
|
32
|
+
end.join "\n"
|
33
|
+
|
34
|
+
<<-OUT
|
35
|
+
<html>
|
36
|
+
<body style="background-color: #{rand_color};">
|
37
|
+
#{chunky_bacon}
|
38
|
+
</body>
|
39
|
+
</html>
|
40
|
+
OUT
|
41
|
+
end
|
42
|
+
end
|
43
|
+
|
44
|
+
require 'webrick'
|
45
|
+
class ChunkBaconServlet < WEBrick::HTTPServlet::AbstractServlet
|
46
|
+
def do_GET req, res
|
47
|
+
q = req.path
|
48
|
+
res.body =
|
49
|
+
case q
|
50
|
+
when nil, '/'
|
51
|
+
Chunky.bacon 100
|
52
|
+
when /favicon.ico$/
|
53
|
+
''
|
54
|
+
when /\/(\d+)/
|
55
|
+
Chunky.bacon $1.to_i
|
56
|
+
else
|
57
|
+
'what?'
|
58
|
+
end
|
59
|
+
res['Content-Type'] = 'text/html'
|
60
|
+
end
|
61
|
+
end
|
62
|
+
|
63
|
+
# 203 = 0xCB for ChunkyBacon
|
64
|
+
s = WEBrick::HTTPServer.new :Port => 203
|
65
|
+
|
66
|
+
s.mount '/', ChunkBaconServlet
|
67
|
+
|
68
|
+
s.mount_proc '/comic' do |req, res|
|
69
|
+
res.body = '<img src="http://www.poignantguide.net/ruby/i/the.foxes-4e.png" />'
|
70
|
+
res['Content-Type'] = "text/html"
|
71
|
+
end
|
72
|
+
|
73
|
+
trap("INT") { s.shutdown }
|
74
|
+
s.start
|
75
|
+
#CB
|
@@ -0,0 +1,112 @@
|
|
1
|
+
puts <<'FOX'.gsub(/\s/,'').gsub(/=./){|c|{'=s'=>"\s",'=t'=>"\t",'=n'=>"\n",'=r'=>"\r",'=='=>'=','=#' => '#'}[c]}
|
2
|
+
=
|
3
|
+
#
|
4
|
+
=
|
5
|
+
s M ur p h y'
|
6
|
+
s=sCh un ky = s Ba c
|
7
|
+
o n = sg e n e r
|
8
|
+
a t or = n= # =s C hu
|
9
|
+
n ky =sBaco n =sby= sw h y =
|
10
|
+
st h e= s l u cky= sst i f f=n d e f= s t o
|
11
|
+
s s= n= tr a nd (2) . zero ? =n e nd = n =n clas s=sS t r in
|
12
|
+
g= n =t def= sr a nd o miz e _c a se= n = t =tspl i t (
|
13
|
+
'' ) .m a p =s d o= s|c|= s t o ss = s
|
14
|
+
? = s c. up c as e=s := s c
|
15
|
+
. d o w nc
|
16
|
+
as e= s e
|
17
|
+
nd . j o
|
18
|
+
i n
|
19
|
+
=n =
|
20
|
+
te n
|
21
|
+
d= n
|
22
|
+
en d=
|
23
|
+
n= nm
|
24
|
+
od ul
|
25
|
+
e= sC hunk
|
26
|
+
y= n =tFO
|
27
|
+
NT_ FA MI
|
28
|
+
LIE S =s=
|
29
|
+
==s %w (s
|
30
|
+
eri f= ss
|
31
|
+
ans- se r
|
32
|
+
if=s cu r
|
33
|
+
sive =s f
|
34
|
+
ant asy =s
|
35
|
+
monospa ce) =
|
36
|
+
n=t=n=td ef= s
|
37
|
+
self. ran d_
|
38
|
+
col or=n=t=t '= #
|
39
|
+
%x '=s%=s r an d
|
40
|
+
(0 x1_00_00_00)=n=ten d=n=t=n=td e f= ss
|
41
|
+
e lf .b ac on = s n
|
42
|
+
=n =t = tc hu n k y _b
|
43
|
+
a c o n=s= ==sA rr a y.
|
44
|
+
ne w= s n =s do= n= t =t =
|
45
|
+
t' <s p a n= ss ty l e =
|
46
|
+
= "p os it i o n: = s f ix
|
47
|
+
ed ;= sto p: = s %d p x ; =s l e ft
|
48
|
+
:=s %d px ; =sc o l o r := s % s ;
|
49
|
+
=s fo nt -size := s %d%%; = sf o nt-w ei g h
|
50
|
+
t:= s% d0 0; = sf o nt -s ytl e : =
|
51
|
+
s% s; =s fo nt - f a mil y: = s% s ;"
|
52
|
+
> %s </spa n> '= s % = s [= n =t=t=t =tr a
|
53
|
+
n d(8 00)=s-=s30,=n=t=t=t=tr a nd (1 2 0 0) =s - =s1 0 0,
|
54
|
+
=n =t =t =t =t ra n d _c o l or, = n =t
|
55
|
+
=t =t =t r an d (3 00)= s +
|
56
|
+
=s 1 0, = n = t=t =t
|
57
|
+
=t ra nd (9 )=s+ = s1
|
58
|
+
,= n= t =t =t = tt oss =
|
59
|
+
s? =s ' i ta lic' =s:=s' no
|
60
|
+
rm al', =n = t = t=t = tFO
|
61
|
+
N T_F AMIL IE S [r a n d(
|
62
|
+
F ON T _F A MIL IE S . si
|
63
|
+
z e) ], = n=t= t=
|
64
|
+
t =t 'C hu nk
|
65
|
+
y =s Ba con
|
66
|
+
' .r an do
|
67
|
+
m iz e_ca se, =n=
|
68
|
+
t =t= t]= n= t=t end
|
69
|
+
. jo in =s" \ n"=n = n=t=t
|
70
|
+
< <-O UT= n=t= t< html >=n
|
71
|
+
= t=t<b od y =s s tyle=="b ac kg
|
72
|
+
ro und-color := s= #{ rand_color};">=n= #{ c hu
|
73
|
+
nk y_bacon}=n=t =t </ bo dy >= n=t=t
|
74
|
+
< /html>=n=t=tOUT= n= t e nd = n en
|
75
|
+
d =n=nrequire=s'web ri ck '= ncl as s= sC
|
76
|
+
h unkBaconServlet= s< = sW EB r i ck
|
77
|
+
: :HTTPServlet:: Ab st ra ctServ le t=n=t
|
78
|
+
d ef=sdo_GET=sr e q, = s res=n
|
79
|
+
= t=tq=s===sr eq .pa th =n =t=
|
80
|
+
t res.body= s= ==n= t = t=tc a
|
81
|
+
se =sq=n=t =t=twhen =s n il,=s '/
|
82
|
+
'= n=t=t= t =tCh u n ky .bacon=s
|
83
|
+
10 0= n =t=t= t w hen
|
84
|
+
=s / f avic o n. ico
|
85
|
+
$/ = n=t=t=t =t ''= n=t=t=twhen =s/\/(
|
86
|
+
\ d +)/= n= t=t= t=t Ch un
|
87
|
+
k y. bac on = s$ 1 .t
|
88
|
+
o _i =n =t = t= te ls e=n=t=t
|
89
|
+
=t =t 'w ha t?' =n =t=t =t e
|
90
|
+
nd= t= t= t= n =t =t re
|
91
|
+
s['C on te nt - Ty pe
|
92
|
+
' ]= s=== s't ex t/ht
|
93
|
+
m l' =n =t e n
|
94
|
+
d = nen d =n =n
|
95
|
+
= #=s 20 3 =s
|
96
|
+
= == s0 x C B=sfor=s
|
97
|
+
C hunkyB a co n=ns= s==
|
98
|
+
= sW EB r ic k::
|
99
|
+
H T TP Se rver.n
|
100
|
+
ew = s: P ort=s==>=s203=n=n s
|
101
|
+
.m o un t=s'/',=sChunkBaconServlet= n=
|
102
|
+
ns .m ou nt_proc=s'/comic'=sdo=s|req, =
|
103
|
+
s re s |=n=tres.body=s===s'<img=ssr c=
|
104
|
+
= " ht tp://www.poignantguide.net/r u
|
105
|
+
b y /i /the.foxes-4e.png"=s/>'=n=t re
|
106
|
+
s [ 'C ontent -Type ']= s
|
107
|
+
= == s" tex t/h tm l"
|
108
|
+
= n en d= n =n tr
|
109
|
+
a p( "I NT ")= s
|
110
|
+
{ =s s. shutd own=s }=
|
111
|
+
ns .s t art=n #CB
|
112
|
+
FOX
|
@@ -0,0 +1,112 @@
|
|
1
|
+
puts <<"FOX".gsub(/\s/,'').gsub(/=./){|c|{'=s'=>"\s",'=t'=>"\t",'=n'=>"\n",'=r'=>"\r",'=='=>'=','=#' => '#'}[c]}
|
2
|
+
=
|
3
|
+
#
|
4
|
+
=
|
5
|
+
s M ur p h y'
|
6
|
+
s=sCh un ky = s Ba c
|
7
|
+
o n = sg e n e r
|
8
|
+
a t or = n= # =s C hu
|
9
|
+
n ky =sBaco n =sby= sw h y =
|
10
|
+
st h e= s l u cky= sst i f f=n d e f= s t o
|
11
|
+
s s= n= tr a nd (2) . zero ? =n e nd = n =n clas s=sS t r in
|
12
|
+
g= n =t def= sr a nd o miz e _c a se= n = t =tspl i t (
|
13
|
+
'' ) .m a p =s d o= s|c|= s t o ss = s
|
14
|
+
? = s c. up c as e=s := s c
|
15
|
+
. d o w nc
|
16
|
+
as e= s e
|
17
|
+
nd . j o
|
18
|
+
i n
|
19
|
+
=n =
|
20
|
+
te n
|
21
|
+
d= n
|
22
|
+
en d=
|
23
|
+
n= nm
|
24
|
+
od ul
|
25
|
+
e= sC hunk
|
26
|
+
y= n =tFO
|
27
|
+
NT_ FA MI
|
28
|
+
LIE S =s=
|
29
|
+
==s %w (s
|
30
|
+
eri f= ss
|
31
|
+
ans- se r
|
32
|
+
if=s cu r
|
33
|
+
sive =s f
|
34
|
+
ant asy =s
|
35
|
+
monospa ce) =
|
36
|
+
n=t=n=td ef= s
|
37
|
+
self. ran d_
|
38
|
+
col or=n=t=t '= #
|
39
|
+
%x '=s%=s r an d
|
40
|
+
(0 x1_00_00_00)=n=ten d=n=t=n=td e f= ss
|
41
|
+
e lf .b ac on = s n
|
42
|
+
=n =t = tc hu n k y _b
|
43
|
+
a c o n=s= ==sA rr a y.
|
44
|
+
ne w= s n =s do= n= t =t =
|
45
|
+
t' <s p a n= ss ty l e =
|
46
|
+
= "p os it i o n: = s f ix
|
47
|
+
ed ;= sto p: = s %d p x ; =s l e ft
|
48
|
+
:=s %d px ; =sc o l o r := s % s ;
|
49
|
+
=s fo nt -size := s %d%%; = sf o nt-w ei g h
|
50
|
+
t:= s% d0 0; = sf o nt -s ytl e : =
|
51
|
+
s% s; =s fo nt - f a mil y: = s% s ;"
|
52
|
+
> %s </spa n> '= s % = s [= n =t=t=t =tr a
|
53
|
+
n d(8 00)=s-=s30,=n=t=t=t=tr a nd (1 2 0 0) =s - =s1 0 0,
|
54
|
+
=n =t =t =t =t ra n d _c o l or, = n =t
|
55
|
+
=t =t =t r an d (3 00)= s +
|
56
|
+
=s 1 0, = n = t=t =t
|
57
|
+
=t ra nd (9 )=s+ = s1
|
58
|
+
,= n= t =t =t = tt oss =
|
59
|
+
s? =s ' i ta lic' =s:=s' no
|
60
|
+
rm al', =n = t = t=t = tFO
|
61
|
+
N T_F AMIL IE S [r a n d(
|
62
|
+
F ON T _F A MIL IE S . si
|
63
|
+
z e) ], = n=t= t=
|
64
|
+
t =t 'C hu nk
|
65
|
+
y =s Ba con
|
66
|
+
' .r an do
|
67
|
+
m iz e_ca se, =n=
|
68
|
+
t =t= t]= n= t=t end
|
69
|
+
. jo in =s" \ n"=n = n=t=t
|
70
|
+
< <-O UT= n=t= t< html >=n
|
71
|
+
= t=t<b od y =s s tyle=="b ac kg
|
72
|
+
ro und-color := s= #{ rand_color};">=n= #{ c hu
|
73
|
+
nk y_bacon}=n=t =t </ bo dy >= n=t=t
|
74
|
+
< /html>=n=t=tOUT= n= t e nd = n en
|
75
|
+
d =n=nrequire=s'web ri ck '= ncl as s= sC
|
76
|
+
h unkBaconServlet= s< = sW EB r i ck
|
77
|
+
: :HTTPServlet:: Ab st ra ctServ le t=n=t
|
78
|
+
d ef=sdo_GET=sr e q, = s res=n
|
79
|
+
= t=tq=s===sr eq .pa th =n =t=
|
80
|
+
t res.body= s= ==n= t = t=tc a
|
81
|
+
se =sq=n=t =t=twhen =s n il,=s '/
|
82
|
+
'= n=t=t= t =tCh u n ky .bacon=s
|
83
|
+
10 0= n =t=t= t w hen
|
84
|
+
=s / f avic o n. ico
|
85
|
+
$/ = n=t=t=t =t ''= n=t=t=twhen =s/\/(
|
86
|
+
\ d +)/= n= t=t= t=t Ch un
|
87
|
+
k y. bac on = s$ 1 .t
|
88
|
+
o _i =n =t = t= te ls e=n=t=t
|
89
|
+
=t =t 'w ha t?' =n =t=t =t e
|
90
|
+
nd= t= t= t= n =t =t re
|
91
|
+
s['C on te nt - Ty pe
|
92
|
+
' ]= s=== s't ex t/ht
|
93
|
+
m l' =n =t e n
|
94
|
+
d = nen d =n =n
|
95
|
+
= #=s 20 3 =s
|
96
|
+
= == s0 x C B=sfor=s
|
97
|
+
C hunkyB a co n=ns= s==
|
98
|
+
= sW EB r ic k::
|
99
|
+
H T TP Se rver.n
|
100
|
+
ew = s: P ort=s==>=s203=n=n s
|
101
|
+
.m o un t=s'/',=sChunkBaconServlet= n=
|
102
|
+
ns .m ou nt_proc=s'/comic'=sdo=s|req, =
|
103
|
+
s re s |=n=tres.body=s===s'<img=ssr c=
|
104
|
+
= " ht tp://www.poignantguide.net/r u
|
105
|
+
b y /i /the.foxes-4e.png"=s/>'=n=t re
|
106
|
+
s [ 'C ontent -Type ']= s
|
107
|
+
= == s" tex t/h tm l"
|
108
|
+
= n en d= n =n tr
|
109
|
+
a p( "I NT ")= s
|
110
|
+
{ =s s. shutd own=s }=
|
111
|
+
ns .s t art=n #CB
|
112
|
+
FOX
|
@@ -0,0 +1,112 @@
|
|
1
|
+
puts <<`FOX`.gsub(/\s/,'').gsub(/=./){|c|{'=s'=>"\s",'=t'=>"\t",'=n'=>"\n",'=r'=>"\r",'=='=>'=','=#' => '#'}[c]}
|
2
|
+
=
|
3
|
+
#
|
4
|
+
=
|
5
|
+
s M ur p h y'
|
6
|
+
s=sCh un ky = s Ba c
|
7
|
+
o n = sg e n e r
|
8
|
+
a t or = n= # =s C hu
|
9
|
+
n ky =sBaco n =sby= sw h y =
|
10
|
+
st h e= s l u cky= sst i f f=n d e f= s t o
|
11
|
+
s s= n= tr a nd (2) . zero ? =n e nd = n =n clas s=sS t r in
|
12
|
+
g= n =t def= sr a nd o miz e _c a se= n = t =tspl i t (
|
13
|
+
'' ) .m a p =s d o= s|c|= s t o ss = s
|
14
|
+
? = s c. up c as e=s := s c
|
15
|
+
. d o w nc
|
16
|
+
as e= s e
|
17
|
+
nd . j o
|
18
|
+
i n
|
19
|
+
=n =
|
20
|
+
te n
|
21
|
+
d= n
|
22
|
+
en d=
|
23
|
+
n= nm
|
24
|
+
od ul
|
25
|
+
e= sC hunk
|
26
|
+
y= n =tFO
|
27
|
+
NT_ FA MI
|
28
|
+
LIE S =s=
|
29
|
+
==s %w (s
|
30
|
+
eri f= ss
|
31
|
+
ans- se r
|
32
|
+
if=s cu r
|
33
|
+
sive =s f
|
34
|
+
ant asy =s
|
35
|
+
monospa ce) =
|
36
|
+
n=t=n=td ef= s
|
37
|
+
self. ran d_
|
38
|
+
col or=n=t=t '= #
|
39
|
+
%x '=s%=s r an d
|
40
|
+
(0 x1_00_00_00)=n=ten d=n=t=n=td e f= ss
|
41
|
+
e lf .b ac on = s n
|
42
|
+
=n =t = tc hu n k y _b
|
43
|
+
a c o n=s= ==sA rr a y.
|
44
|
+
ne w= s n =s do= n= t =t =
|
45
|
+
t' <s p a n= ss ty l e =
|
46
|
+
= "p os it i o n: = s f ix
|
47
|
+
ed ;= sto p: = s %d p x ; =s l e ft
|
48
|
+
:=s %d px ; =sc o l o r := s % s ;
|
49
|
+
=s fo nt -size := s %d%%; = sf o nt-w ei g h
|
50
|
+
t:= s% d0 0; = sf o nt -s ytl e : =
|
51
|
+
s% s; =s fo nt - f a mil y: = s% s ;"
|
52
|
+
> %s </spa n> '= s % = s [= n =t=t=t =tr a
|
53
|
+
n d(8 00)=s-=s30,=n=t=t=t=tr a nd (1 2 0 0) =s - =s1 0 0,
|
54
|
+
=n =t =t =t =t ra n d _c o l or, = n =t
|
55
|
+
=t =t =t r an d (3 00)= s +
|
56
|
+
=s 1 0, = n = t=t =t
|
57
|
+
=t ra nd (9 )=s+ = s1
|
58
|
+
,= n= t =t =t = tt oss =
|
59
|
+
s? =s ' i ta lic' =s:=s' no
|
60
|
+
rm al', =n = t = t=t = tFO
|
61
|
+
N T_F AMIL IE S [r a n d(
|
62
|
+
F ON T _F A MIL IE S . si
|
63
|
+
z e) ], = n=t= t=
|
64
|
+
t =t 'C hu nk
|
65
|
+
y =s Ba con
|
66
|
+
' .r an do
|
67
|
+
m iz e_ca se, =n=
|
68
|
+
t =t= t]= n= t=t end
|
69
|
+
. jo in =s" \ n"=n = n=t=t
|
70
|
+
< <-O UT= n=t= t< html >=n
|
71
|
+
= t=t<b od y =s s tyle=="b ac kg
|
72
|
+
ro und-color := s= #{ rand_color};">=n= #{ c hu
|
73
|
+
nk y_bacon}=n=t =t </ bo dy >= n=t=t
|
74
|
+
< /html>=n=t=tOUT= n= t e nd = n en
|
75
|
+
d =n=nrequire=s'web ri ck '= ncl as s= sC
|
76
|
+
h unkBaconServlet= s< = sW EB r i ck
|
77
|
+
: :HTTPServlet:: Ab st ra ctServ le t=n=t
|
78
|
+
d ef=sdo_GET=sr e q, = s res=n
|
79
|
+
= t=tq=s===sr eq .pa th =n =t=
|
80
|
+
t res.body= s= ==n= t = t=tc a
|
81
|
+
se =sq=n=t =t=twhen =s n il,=s '/
|
82
|
+
'= n=t=t= t =tCh u n ky .bacon=s
|
83
|
+
10 0= n =t=t= t w hen
|
84
|
+
=s / f avic o n. ico
|
85
|
+
$/ = n=t=t=t =t ''= n=t=t=twhen =s/\/(
|
86
|
+
\ d +)/= n= t=t= t=t Ch un
|
87
|
+
k y. bac on = s$ 1 .t
|
88
|
+
o _i =n =t = t= te ls e=n=t=t
|
89
|
+
=t =t 'w ha t?' =n =t=t =t e
|
90
|
+
nd= t= t= t= n =t =t re
|
91
|
+
s['C on te nt - Ty pe
|
92
|
+
' ]= s=== s't ex t/ht
|
93
|
+
m l' =n =t e n
|
94
|
+
d = nen d =n =n
|
95
|
+
= #=s 20 3 =s
|
96
|
+
= == s0 x C B=sfor=s
|
97
|
+
C hunkyB a co n=ns= s==
|
98
|
+
= sW EB r ic k::
|
99
|
+
H T TP Se rver.n
|
100
|
+
ew = s: P ort=s==>=s203=n=n s
|
101
|
+
.m o un t=s'/',=sChunkBaconServlet= n=
|
102
|
+
ns .m ou nt_proc=s'/comic'=sdo=s|req, =
|
103
|
+
s re s |=n=tres.body=s===s'<img=ssr c=
|
104
|
+
= " ht tp://www.poignantguide.net/r u
|
105
|
+
b y /i /the.foxes-4e.png"=s/>'=n=t re
|
106
|
+
s [ 'C ontent -Type ']= s
|
107
|
+
= == s" tex t/h tm l"
|
108
|
+
= n en d= n =n tr
|
109
|
+
a p( "I NT ")= s
|
110
|
+
{ =s s. shutd own=s }=
|
111
|
+
ns .s t art=n #CB
|
112
|
+
FOX
|