Code
set classes { alnum alpha ascii boolean control digit double
false graph integer lower print punct space true
upper wordchar xdigit
}
proc classHeader { } {
global classes
puts ""
set i 1
foreach class $classes {
puts [format " %2s - %s" ${i} ${class}]
incr i
}
puts ""
puts -nonewline " "
set i 1
foreach class $classes {
puts -nonewline [format " %2s" ${i}]
incr i
}
puts ""
}
proc reportClass { c } {
global classes
set result ""
foreach class $classes {
if { [string is ${class} ${c}] eq 1 } {
append result " Y"
} else {
append result " N"
}
}
return ${result}
}
proc main { } {
classHeader
for {set n 0} {$n<128} {incr n} {
set c [format "%c" $n]
if { [string is print ${c}] } {
puts [format "%02X %1s %s" ${n} ${c} [reportClass ${c}]]
} else {
puts [format "%02X %s" $n [reportClass ${c}]]
}
}
}
mainEXAMPLE OUTPUT
1 - alnum
2 - alpha
3 - ascii
4 - boolean
5 - control
6 - digit
7 - double
8 - false
9 - graph
10 - integer
11 - lower
12 - print
13 - punct
14 - space
15 - true
16 - upper
17 - wordchar
18 - xdigit
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
00 N N N N Y N N N N N N N N N N N N N
01 N N Y N Y N N N N N N N N N N N N N
02 N N Y N Y N N N N N N N N N N N N N
03 N N Y N Y N N N N N N N N N N N N N
04 N N Y N Y N N N N N N N N N N N N N
05 N N Y N Y N N N N N N N N N N N N N
06 N N Y N Y N N N N N N N N N N N N N
07 N N Y N Y N N N N N N N N N N N N N
08 N N Y N Y N N N N N N N N N N N N N
09 N N Y N Y N N N N N N N N Y N N N N
0A N N Y N Y N N N N N N N N Y N N N N
0B N N Y N Y N N N N N N N N Y N N N N
0C N N Y N Y N N N N N N N N Y N N N N
0D N N Y N Y N N N N N N N N Y N N N N
0E N N Y N Y N N N N N N N N N N N N N
0F N N Y N Y N N N N N N N N N N N N N
10 N N Y N Y N N N N N N N N N N N N N
11 N N Y N Y N N N N N N N N N N N N N
12 N N Y N Y N N N N N N N N N N N N N
13 N N Y N Y N N N N N N N N N N N N N
14 N N Y N Y N N N N N N N N N N N N N
15 N N Y N Y N N N N N N N N N N N N N
16 N N Y N Y N N N N N N N N N N N N N
17 N N Y N Y N N N N N N N N N N N N N
18 N N Y N Y N N N N N N N N N N N N N
19 N N Y N Y N N N N N N N N N N N N N
1A N N Y N Y N N N N N N N N N N N N N
1B N N Y N Y N N N N N N N N N N N N N
1C N N Y N Y N N N N N N N N N N N N N
1D N N Y N Y N N N N N N N N N N N N N
1E N N Y N Y N N N N N N N N N N N N N
1F N N Y N Y N N N N N N N N N N N N N
20 N N Y N N N N N N N N Y N Y N N N N
21 ! N N Y N N N N N Y N N Y Y N N N N N
22 " N N Y N N N N N Y N N Y Y N N N N N
23 # N N Y N N N N N Y N N Y Y N N N N N
24 $ N N Y N N N N N Y N N Y N N N N N N
25 % N N Y N N N N N Y N N Y Y N N N N N
26 & N N Y N N N N N Y N N Y Y N N N N N
27 ' N N Y N N N N N Y N N Y Y N N N N N
28 ( N N Y N N N N N Y N N Y Y N N N N N
29 ) N N Y N N N N N Y N N Y Y N N N N N
2A * N N Y N N N N N Y N N Y Y N N N N N
2B + N N Y N N N N N Y N N Y N N N N N N
2C , N N Y N N N N N Y N N Y Y N N N N N
2D - N N Y N N N N N Y N N Y Y N N N N N
2E . N N Y N N N N N Y N N Y Y N N N N N
2F / N N Y N N N N N Y N N Y Y N N N N N
30 0 Y N Y Y N Y Y Y Y Y N Y N N N N Y Y
31 1 Y N Y Y N Y Y N Y Y N Y N N Y N Y Y
32 2 Y N Y N N Y Y N Y Y N Y N N N N Y Y
33 3 Y N Y N N Y Y N Y Y N Y N N N N Y Y
34 4 Y N Y N N Y Y N Y Y N Y N N N N Y Y
35 5 Y N Y N N Y Y N Y Y N Y N N N N Y Y
36 6 Y N Y N N Y Y N Y Y N Y N N N N Y Y
37 7 Y N Y N N Y Y N Y Y N Y N N N N Y Y
38 8 Y N Y N N Y Y N Y Y N Y N N N N Y Y
39 9 Y N Y N N Y Y N Y Y N Y N N N N Y Y
3A : N N Y N N N N N Y N N Y Y N N N N N
3B ; N N Y N N N N N Y N N Y Y N N N N N
3C < N N Y N N N N N Y N N Y N N N N N N
3D = N N Y N N N N N Y N N Y N N N N N N
3E > N N Y N N N N N Y N N Y N N N N N N
3F ? N N Y N N N N N Y N N Y Y N N N N N
40 @ N N Y N N N N N Y N N Y Y N N N N N
41 A Y Y Y N N N N N Y N N Y N N N Y Y Y
42 B Y Y Y N N N N N Y N N Y N N N Y Y Y
43 C Y Y Y N N N N N Y N N Y N N N Y Y Y
44 D Y Y Y N N N N N Y N N Y N N N Y Y Y
45 E Y Y Y N N N N N Y N N Y N N N Y Y Y
46 F Y Y Y Y N N N Y Y N N Y N N N Y Y Y
47 G Y Y Y N N N N N Y N N Y N N N Y Y N
48 H Y Y Y N N N N N Y N N Y N N N Y Y N
49 I Y Y Y N N N N N Y N N Y N N N Y Y N
4A J Y Y Y N N N N N Y N N Y N N N Y Y N
4B K Y Y Y N N N N N Y N N Y N N N Y Y N
4C L Y Y Y N N N N N Y N N Y N N N Y Y N
4D M Y Y Y N N N N N Y N N Y N N N Y Y N
4E N Y Y Y Y N N N Y Y N N Y N N N Y Y N
4F O Y Y Y N N N N N Y N N Y N N N Y Y N
50 P Y Y Y N N N N N Y N N Y N N N Y Y N
51 Q Y Y Y N N N N N Y N N Y N N N Y Y N
52 R Y Y Y N N N N N Y N N Y N N N Y Y N
53 S Y Y Y N N N N N Y N N Y N N N Y Y N
54 T Y Y Y Y N N N N Y N N Y N N Y Y Y N
55 U Y Y Y N N N N N Y N N Y N N N Y Y N
56 V Y Y Y N N N N N Y N N Y N N N Y Y N
57 W Y Y Y N N N N N Y N N Y N N N Y Y N
58 X Y Y Y N N N N N Y N N Y N N N Y Y N
59 Y Y Y Y Y N N N N Y N N Y N N Y Y Y N
5A Z Y Y Y N N N N N Y N N Y N N N Y Y N
5B [ N N Y N N N N N Y N N Y Y N N N N N
5C \ N N Y N N N N N Y N N Y Y N N N N N
5D ] N N Y N N N N N Y N N Y Y N N N N N
5E ^ N N Y N N N N N Y N N Y N N N N N N
5F _ N N Y N N N N N Y N N Y Y N N N Y N
60 ` N N Y N N N N N Y N N Y N N N N N N
61 a Y Y Y N N N N N Y N Y Y N N N N Y Y
62 b Y Y Y N N N N N Y N Y Y N N N N Y Y
63 c Y Y Y N N N N N Y N Y Y N N N N Y Y
64 d Y Y Y N N N N N Y N Y Y N N N N Y Y
65 e Y Y Y N N N N N Y N Y Y N N N N Y Y
66 f Y Y Y Y N N N Y Y N Y Y N N N N Y Y
67 g Y Y Y N N N N N Y N Y Y N N N N Y N
68 h Y Y Y N N N N N Y N Y Y N N N N Y N
69 i Y Y Y N N N N N Y N Y Y N N N N Y N
6A j Y Y Y N N N N N Y N Y Y N N N N Y N
6B k Y Y Y N N N N N Y N Y Y N N N N Y N
6C l Y Y Y N N N N N Y N Y Y N N N N Y N
6D m Y Y Y N N N N N Y N Y Y N N N N Y N
6E n Y Y Y Y N N N Y Y N Y Y N N N N Y N
6F o Y Y Y N N N N N Y N Y Y N N N N Y N
70 p Y Y Y N N N N N Y N Y Y N N N N Y N
71 q Y Y Y N N N N N Y N Y Y N N N N Y N
72 r Y Y Y N N N N N Y N Y Y N N N N Y N
73 s Y Y Y N N N N N Y N Y Y N N N N Y N
74 t Y Y Y Y N N N N Y N Y Y N N Y N Y N
75 u Y Y Y N N N N N Y N Y Y N N N N Y N
76 v Y Y Y N N N N N Y N Y Y N N N N Y N
77 w Y Y Y N N N N N Y N Y Y N N N N Y N
78 x Y Y Y N N N N N Y N Y Y N N N N Y N
79 y Y Y Y Y N N N N Y N Y Y N N Y N Y N
7A z Y Y Y N N N N N Y N Y Y N N N N Y N
7B { N N Y N N N N N Y N N Y Y N N N N N
7C | N N Y N N N N N Y N N Y N N N N N N
7D } N N Y N N N N N Y N N Y Y N N N N N
7E ~ N N Y N N N N N Y N N Y N N N N N N
7F N N Y N Y N N N N N N N N N N N N NCategory Example | Category Characters | Category String Processing | Characters | Character

