80 syntax |
78 syntax |
81 "_String" :: "xstr => string" ("_") |
79 "_String" :: "xstr => string" ("_") |
82 |
80 |
83 setup StringSyntax.setup |
81 setup StringSyntax.setup |
84 |
82 |
|
83 definition chars :: string where |
|
84 "chars = [Char Nibble0 Nibble0, Char Nibble0 Nibble1, Char Nibble0 Nibble2, |
|
85 Char Nibble0 Nibble3, Char Nibble0 Nibble4, Char Nibble0 Nibble5, |
|
86 Char Nibble0 Nibble6, Char Nibble0 Nibble7, Char Nibble0 Nibble8, |
|
87 Char Nibble0 Nibble9, Char Nibble0 NibbleA, Char Nibble0 NibbleB, |
|
88 Char Nibble0 NibbleC, Char Nibble0 NibbleD, Char Nibble0 NibbleE, |
|
89 Char Nibble0 NibbleF, Char Nibble1 Nibble0, Char Nibble1 Nibble1, |
|
90 Char Nibble1 Nibble2, Char Nibble1 Nibble3, Char Nibble1 Nibble4, |
|
91 Char Nibble1 Nibble5, Char Nibble1 Nibble6, Char Nibble1 Nibble7, |
|
92 Char Nibble1 Nibble8, Char Nibble1 Nibble9, Char Nibble1 NibbleA, |
|
93 Char Nibble1 NibbleB, Char Nibble1 NibbleC, Char Nibble1 NibbleD, |
|
94 Char Nibble1 NibbleE, Char Nibble1 NibbleF, CHR '' '', CHR ''!'', |
|
95 Char Nibble2 Nibble2, CHR ''#'', CHR ''$'', CHR ''%'', CHR ''&'', |
|
96 Char Nibble2 Nibble7, CHR ''('', CHR '')'', CHR ''*'', CHR ''+'', CHR '','', |
|
97 CHR ''-'', CHR ''.'', CHR ''/'', CHR ''0'', CHR ''1'', CHR ''2'', CHR ''3'', |
|
98 CHR ''4'', CHR ''5'', CHR ''6'', CHR ''7'', CHR ''8'', CHR ''9'', CHR '':'', |
|
99 CHR '';'', CHR ''<'', CHR ''='', CHR ''>'', CHR ''?'', CHR ''@'', CHR ''A'', |
|
100 CHR ''B'', CHR ''C'', CHR ''D'', CHR ''E'', CHR ''F'', CHR ''G'', CHR ''H'', |
|
101 CHR ''I'', CHR ''J'', CHR ''K'', CHR ''L'', CHR ''M'', CHR ''N'', CHR ''O'', |
|
102 CHR ''P'', CHR ''Q'', CHR ''R'', CHR ''S'', CHR ''T'', CHR ''U'', CHR ''V'', |
|
103 CHR ''W'', CHR ''X'', CHR ''Y'', CHR ''Z'', CHR ''['', Char Nibble5 NibbleC, |
|
104 CHR '']'', CHR ''^'', CHR ''_'', Char Nibble6 Nibble0, CHR ''a'', CHR ''b'', |
|
105 CHR ''c'', CHR ''d'', CHR ''e'', CHR ''f'', CHR ''g'', CHR ''h'', CHR ''i'', |
|
106 CHR ''j'', CHR ''k'', CHR ''l'', CHR ''m'', CHR ''n'', CHR ''o'', CHR ''p'', |
|
107 CHR ''q'', CHR ''r'', CHR ''s'', CHR ''t'', CHR ''u'', CHR ''v'', CHR ''w'', |
|
108 CHR ''x'', CHR ''y'', CHR ''z'', CHR ''{'', CHR ''|'', CHR ''}'', CHR ''~'', |
|
109 Char Nibble7 NibbleF, Char Nibble8 Nibble0, Char Nibble8 Nibble1, |
|
110 Char Nibble8 Nibble2, Char Nibble8 Nibble3, Char Nibble8 Nibble4, |
|
111 Char Nibble8 Nibble5, Char Nibble8 Nibble6, Char Nibble8 Nibble7, |
|
112 Char Nibble8 Nibble8, Char Nibble8 Nibble9, Char Nibble8 NibbleA, |
|
113 Char Nibble8 NibbleB, Char Nibble8 NibbleC, Char Nibble8 NibbleD, |
|
114 Char Nibble8 NibbleE, Char Nibble8 NibbleF, Char Nibble9 Nibble0, |
|
115 Char Nibble9 Nibble1, Char Nibble9 Nibble2, Char Nibble9 Nibble3, |
|
116 Char Nibble9 Nibble4, Char Nibble9 Nibble5, Char Nibble9 Nibble6, |
|
117 Char Nibble9 Nibble7, Char Nibble9 Nibble8, Char Nibble9 Nibble9, |
|
118 Char Nibble9 NibbleA, Char Nibble9 NibbleB, Char Nibble9 NibbleC, |
|
119 Char Nibble9 NibbleD, Char Nibble9 NibbleE, Char Nibble9 NibbleF, |
|
120 Char NibbleA Nibble0, Char NibbleA Nibble1, Char NibbleA Nibble2, |
|
121 Char NibbleA Nibble3, Char NibbleA Nibble4, Char NibbleA Nibble5, |
|
122 Char NibbleA Nibble6, Char NibbleA Nibble7, Char NibbleA Nibble8, |
|
123 Char NibbleA Nibble9, Char NibbleA NibbleA, Char NibbleA NibbleB, |
|
124 Char NibbleA NibbleC, Char NibbleA NibbleD, Char NibbleA NibbleE, |
|
125 Char NibbleA NibbleF, Char NibbleB Nibble0, Char NibbleB Nibble1, |
|
126 Char NibbleB Nibble2, Char NibbleB Nibble3, Char NibbleB Nibble4, |
|
127 Char NibbleB Nibble5, Char NibbleB Nibble6, Char NibbleB Nibble7, |
|
128 Char NibbleB Nibble8, Char NibbleB Nibble9, Char NibbleB NibbleA, |
|
129 Char NibbleB NibbleB, Char NibbleB NibbleC, Char NibbleB NibbleD, |
|
130 Char NibbleB NibbleE, Char NibbleB NibbleF, Char NibbleC Nibble0, |
|
131 Char NibbleC Nibble1, Char NibbleC Nibble2, Char NibbleC Nibble3, |
|
132 Char NibbleC Nibble4, Char NibbleC Nibble5, Char NibbleC Nibble6, |
|
133 Char NibbleC Nibble7, Char NibbleC Nibble8, Char NibbleC Nibble9, |
|
134 Char NibbleC NibbleA, Char NibbleC NibbleB, Char NibbleC NibbleC, |
|
135 Char NibbleC NibbleD, Char NibbleC NibbleE, Char NibbleC NibbleF, |
|
136 Char NibbleD Nibble0, Char NibbleD Nibble1, Char NibbleD Nibble2, |
|
137 Char NibbleD Nibble3, Char NibbleD Nibble4, Char NibbleD Nibble5, |
|
138 Char NibbleD Nibble6, Char NibbleD Nibble7, Char NibbleD Nibble8, |
|
139 Char NibbleD Nibble9, Char NibbleD NibbleA, Char NibbleD NibbleB, |
|
140 Char NibbleD NibbleC, Char NibbleD NibbleD, Char NibbleD NibbleE, |
|
141 Char NibbleD NibbleF, Char NibbleE Nibble0, Char NibbleE Nibble1, |
|
142 Char NibbleE Nibble2, Char NibbleE Nibble3, Char NibbleE Nibble4, |
|
143 Char NibbleE Nibble5, Char NibbleE Nibble6, Char NibbleE Nibble7, |
|
144 Char NibbleE Nibble8, Char NibbleE Nibble9, Char NibbleE NibbleA, |
|
145 Char NibbleE NibbleB, Char NibbleE NibbleC, Char NibbleE NibbleD, |
|
146 Char NibbleE NibbleE, Char NibbleE NibbleF, Char NibbleF Nibble0, |
|
147 Char NibbleF Nibble1, Char NibbleF Nibble2, Char NibbleF Nibble3, |
|
148 Char NibbleF Nibble4, Char NibbleF Nibble5, Char NibbleF Nibble6, |
|
149 Char NibbleF Nibble7, Char NibbleF Nibble8, Char NibbleF Nibble9, |
|
150 Char NibbleF NibbleA, Char NibbleF NibbleB, Char NibbleF NibbleC, |
|
151 Char NibbleF NibbleD, Char NibbleF NibbleE, Char NibbleF NibbleF]" |
|
152 |
85 |
153 |
86 subsection {* Strings as dedicated datatype *} |
154 subsection {* Strings as dedicated datatype *} |
87 |
155 |
88 datatype literal = STR string |
156 datatype literal = STR string |
89 |
157 |