Subversion Repositories wimsdev

Rev

Rev 16596 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
13310 obado 1
/*             wims_mathml 1.4.10
2
 *   wims_mathml.l last modified 6/16/2012
5520 bpr 3
 */
4
 
5
%{
6
%}
7
%option noyywrap
11589 schaersvoo 8
%x MATH FINDARG ATTRIBUTELIST BBOLD FRAKTUR CALLIGRAPHIC ROMAN PLAINTEXT INT1 INT2 INT3 MATHENV SVGENV SVGEND HTMLENV HTMLEND  OPTARG ARRAYOPTIONS COLOPTS TEXTOPTARG TEXTOPTARG1 RAISEBOX1 RAISEBOX2
5520 bpr 9
%{
10
#include <string.h>
11
 
12
#define YYSTYPE char *
13
 
14
#include "y.tab.h"
15
#include "wims_mathml.h"
16
 
17
#define YY_NEVER_INTERACTIVE 1
18
#define YY_INPUT(buffer,result,max_size) result = s_wims_mathml_read (buffer, max_size)
19
 
20
static int s_wims_mathml_read (char * buffer, int max_size);
21
 
22
#define yylval wims_mathml_yylval
23
#define wims_mathml_optarg_depth 100
24
 
25
extern char * yylval;
14226 schaersvoo 26
int wims_mathml_shortcut = 0;
5520 bpr 27
int wims_mathml_lineno = 1;
28
int wims_mathml_inoptarg[wims_mathml_optarg_depth];
29
int wims_mathml_optarg_ind = 0;
30
int wims_mathml_env_start = 0;
31
 
32
int wims_mathml_rowposn = 0;
33
int wims_mathml_displaymode = 0;
34
 
8456 bpr 35
%}
5520 bpr 36
%%
37
%{ if (wims_mathml_rowposn==1) wims_mathml_rowposn=0;
38
   if (wims_mathml_rowposn==2) wims_mathml_rowposn=1;
39
%}
40
 
41
<INITIAL>"$"{1,2}   BEGIN(MATH); wims_mathml_inoptarg[0] = 0; wims_mathml_rowposn=2; if (yyleng==2) { wims_mathml_displaymode=1; return STARTDMATH;}; wims_mathml_displaymode=0; return STARTMATH;
42
<INITIAL>"\\[" BEGIN(MATH); wims_mathml_inoptarg[0] = 0; wims_mathml_rowposn=2; wims_mathml_displaymode=1; return STARTDMATH;
43
<INITIAL>EOF    return 0;
44
<INITIAL>"\n" {wims_mathml_lineno++; yylval=wims_mathml_copy_string(yytext); return CHAR;}
45
<INITIAL>.     {yylval=wims_mathml_copy_string(yytext); return CHAR;}
46
 
47
 
48
<MATH>{
49
 
50
 
51
 
52
"$"{1,2} |
53
"\\]"           {BEGIN(INITIAL); return ENDMATH;}
54
 
55
 
56
"^"            return SUP;
8456 bpr 57
"_"            return SUB;
5520 bpr 58
"{"[\t\r\n ]*"}"   return EMPTYMROW;
59
"{"            {wims_mathml_rowposn = 2; if(wims_mathml_inoptarg[wims_mathml_optarg_ind] != 0) wims_mathml_inoptarg[wims_mathml_optarg_ind]++; return MROWOPEN;}
60
"}"            {if(wims_mathml_inoptarg[wims_mathml_optarg_ind] != 0) wims_mathml_inoptarg[wims_mathml_optarg_ind]--; return MROWCLOSE;}
61
 
62
"\\left"       {wims_mathml_rowposn=2; return LEFT;}
63
"\\right"      {return RIGHT;}
64
 
65
"\\big"   |
66
"\\bigr"  {return BIG;}
67
"\\Big"   |
68
"\\Bigr"  {return BBIG;}
69
"\\bigg"  |
70
"\\biggr" {return BIGG;}
71
"\\Bigg"  |
72
"\\Biggr" {return BBIGG;}
73
 
74
"\\bigl"  {return BIGL;}
75
"\\Bigl"  {return BBIGL;}
76
"\\biggl" {return BIGGL;}
77
"\\Biggl" {return BBIGGL;}
78
 
79
"\\mathrlap"  {return RLAP;}
80
"\\mathllap"  {return LLAP;}
81
"\\mathclap"  {return CLAP;}
82
"\\rlap" |
83
"\\llap" |
84
"\\ulap" |
85
"\\dlap"               {/* Ignore */ ;}
86
 
87
 
88
"&amp;" |
89
"&"         {wims_mathml_rowposn=2; return COLSEP;}
90
 
91
"\\&"           {yylval=wims_mathml_copy_string("&amp;"); return MI;}
92
 
93
"\\$"           {yylval=wims_mathml_copy_string("$"); return MI;}
94
"\\%"           {yylval=wims_mathml_copy_string("%"); return MI;}
95
 
12073 bpr 96
 
5520 bpr 97
[a-zA-Z]+       {yylval=wims_mathml_copy_string(yytext); return MI;}
98
 
99
[0-9]{1,3}(,[0-9]{3,3})*(\.[0-9]+)? |
100
[0-9]*[\.][0-9]+                   |
101
[0-9]+           {yylval=wims_mathml_copy_string(yytext); return MN;}
102
"\\infty"   |
103
"\\infinity"     {yylval=wims_mathml_copy_string("&infin;"); return MN;}
104
 
105
"("   |
106
"["             {yylval=wims_mathml_copy_string(yytext); return LEFTDELIM;}
107
 
108
")"  {yylval=wims_mathml_copy_string(yytext); return RIGHTDELIM;}
109
"]"   {if(wims_mathml_inoptarg[wims_mathml_optarg_ind]==1 && wims_mathml_optarg_ind > 0) {wims_mathml_inoptarg[wims_mathml_optarg_ind]=0; wims_mathml_optarg_ind--; return OPTARGCLOSE;} else {yylval=wims_mathml_copy_string(yytext); return RIGHTDELIM;}}
110
 
111
"\\lgroup" |
112
"\\lpar" {yylval=wims_mathml_copy_string("("); return OTHERDELIM;}
113
 
114
"\\rgroup" |
115
"\\rpar" {yylval=wims_mathml_copy_string(")"); return OTHERDELIM;}
116
 
117
"\\lbracket" {yylval=wims_mathml_copy_string("["); return OTHERDELIM;}
118
"\\rbracket" {yylval=wims_mathml_copy_string("]"); return OTHERDELIM;}
119
 
120
"\\lbrace" |
121
"\\{"		{yylval=wims_mathml_copy_string("{"); return OTHERDELIM;}
122
 
123
"\\rbrace" |
124
"\\}" 		{yylval=wims_mathml_copy_string("}"); return OTHERDELIM;}
125
 
11589 schaersvoo 126
 
5520 bpr 127
"||" |
128
"\\||" |
129
"\\Arrowvert" |
130
"\\vert\\vert" |
131
"\\Vert"   {yylval=wims_mathml_copy_string("&DoubleVerticalBar;"); return OTHERDELIM;}
132
 
133
 
134
"|" |
135
"\\|" |
136
"\\vert" |
137
"\\arrowvert" {yylval=wims_mathml_copy_string("&VerticalBar;"); return OTHERDELIM;}
138
 
139
"\\lvert" |
140
"\\bracevert"  {yylval=wims_mathml_copy_string("&VerticalBar;"); return LEFTDELIM;}
141
"\\rvert"  {yylval=wims_mathml_copy_string("&VerticalBar;"); return RIGHTDELIM;}
142
 
143
 
144
"\\setminus"   {yylval=wims_mathml_copy_string("&setminus;"); return MO;}
145
"\\backslash"   {yylval=wims_mathml_copy_string("&bsol;"); return MO;}
146
"\\smallsetminus"   {yylval=wims_mathml_copy_string("&#xFE68;"); return MOF;}
147
 
148
"\\sslash" {yylval=wims_mathml_copy_string("&parsl;"); return MO;}
149
 
150
"\\lfloor" |
151
"\\lceil"  |
152
"\\lang"   |
153
"\\langle"      {yylval=wims_mathml_copy2(yytext, ";"); if (yylval != wims_mathml_empty_string) yylval[0]='&'; return LEFTDELIM;}
154
 
155
"\\rfloor" |
156
"\\rceil"  |
157
"\\rang"   |
158
"\\rangle"      {yylval=wims_mathml_copy2(yytext, ";"); if (yylval != wims_mathml_empty_string) yylval[0]='&'; return RIGHTDELIM;}
159
 
160
"/"             {yylval=wims_mathml_copy_string(yytext); return OTHERDELIM;}
161
 
11708 schaersvoo 162
 
5520 bpr 163
"\\uparrow"   |
164
"\\downarrow" |
165
"\\updownarrow" {yylval=wims_mathml_copy2(yytext, ";"); if (yylval != wims_mathml_empty_string) yylval[0]='&'; return OTHERDELIM;}
166
 
167
"."             {yylval=wims_mathml_copy_string(yytext); return PERIODDELIM;}
168
 
169
"-"    {if (wims_mathml_rowposn==1) return UNARYMINUS; else {yylval=wims_mathml_copy_string("&minus;"); return MO;}}
170
 
171
"+"    {if (wims_mathml_rowposn==1) return UNARYPLUS; else {yylval=wims_mathml_copy_string("+"); return MO;}}
172
 
173
"\\#" {yylval=wims_mathml_copy_string("#"); return MOL;}
174
 
175
 
176
","   |
177
":"   |
178
"!"   |
179
"="   |
180
"~"   |
181
";"   |
182
"?"   |
183
"#"   |
184
"`"   |
185
"*"        {yylval=wims_mathml_copy_string(yytext); return MOL;}
186
 
187
"\\prime"  {yylval=wims_mathml_copy_string("&prime;"); return MOLL;}
188
"'"        {yylval=wims_mathml_copy_string("&prime;"); return MOL;}
189
"''"     {yylval=wims_mathml_copy_string("&Prime;"); return MOL;}
190
"'''"  {yylval=wims_mathml_copy_string("&#8244;"); return MOL;}
191
"''''"  {yylval=wims_mathml_copy_string("&#8279;"); return MOL;}
192
 
193
"\\alpha"   |
194
"\\beta" |
195
"\\gamma" |
196
"\\delta" |
197
"\\zeta" |
198
"\\eta"  |
199
"\\theta" |
200
"\\iota"  |
201
"\\kappa" |
202
"\\lambda" |
203
"\\mu"     |
204
"\\nu"    |
205
"\\xi"   |
206
"\\pi"     |
207
"\\rho"   |
208
"\\sigma"  |
209
"\\tau"   |
210
"\\upsilon" |
211
"\\chi"  |
212
"\\psi"  |
213
"\\omega" |
214
"\\backepsilon"   |
215
"\\varkappa" |
216
"\\varpi" |
217
"\\varrho" |
218
"\\varsigma" |
219
"\\vartheta"      {yylval=wims_mathml_copy2(yytext, ";"); if (yylval != wims_mathml_empty_string) yylval[0]='&'; return MI;}
220
 
221
"\\varepsilon" {yylval=wims_mathml_copy_string("&#x03B5;"); return MI;}
222
"\\phi"  {yylval=wims_mathml_copy_string("&#x03D5;"); return MI;}
223
"\\varphi"  {yylval=wims_mathml_copy_string("&#x03C6;"); return MI;}
224
 
225
"\\arccos"  |
226
"\\arcsin"  |
227
"\\arctan"  |
228
"\\arg"     |
229
"\\Arg"     |
230
"\\cos"     |
231
"\\cosh"    |
232
"\\cot"     |
233
"\\coth"    |
234
"\\csc"     |
235
"\\dim"     |
236
"\\exp"     |
237
"\\hom"     |
238
"\\ker"     |
239
"\\lg"      |
240
"\\ln"      |
241
"\\log"     |
242
"\\sec"     |
243
"\\sin"     |
244
"\\sinh"    |
245
"\\tan"     |
246
"\\tanh"      {yylval=wims_mathml_copy_string(yytext+1); return MI;}
247
 
248
"\\det"     |
249
"\\gcd"     |
250
"\\inf"     |
251
"\\lim"     |
252
"\\liminf"  |
253
"\\limsup"  |
254
"\\max"     |
255
"\\min"     |
256
"\\Pr"      |
257
"\\sup"    {yylval=wims_mathml_copy_string(yytext+1); return MIB;}
258
 
259
"\\omicron"  {yylval=wims_mathml_copy_string("&oscr;"); return MI;}
260
 
261
"\\epsilon"  {yylval=wims_mathml_copy_string("&epsi;"); return MI;}
262
 
263
"\\cdot"   {yylval=wims_mathml_copy_string("&sdot;"); return MO;}
264
 
265
"\\Alpha"   |
266
"\\Beta" |
267
"\\Delta"  |
268
"\\Gamma"  |
269
"\\digamma"  |
270
"\\Lambda" |
271
"\\Pi"     |
272
"\\Phi"    |
273
"\\Psi"    |
274
"\\Sigma"  |
275
"\\Theta"  |
276
"\\Xi"     |
277
"\\Zeta" |
278
"\\Eta"  |
279
"\\Iota"  |
280
"\\Kappa" |
281
"\\Mu"     |
282
"\\Nu"    |
283
"\\Rho"   |
8456 bpr 284
"\\Tau"  |
285
"\\mho"  |
5520 bpr 286
"\\Omega"     {yylval=wims_mathml_copy2(yytext, ";"); if (yylval != wims_mathml_empty_string) yylval[0]='&'; return MI;}
287
 
288
"\\Upsilon" |
289
"\\Upsi" {yylval=wims_mathml_copy_string("&Upsi;"); return MI;}
290
 
8457 bpr 291
"\\iff" {yylval=wims_mathml_copy_string("&iff;"); return MOL;}
13153 schaersvoo 292
"\\longleftarrow" {yylval = wims_mathml_copy_string("&#x27F5;"); return MOL;}
293
"\\Longleftarrow" {yylval = wims_mathml_copy_string("&xlArr;"); return MOL;}
8457 bpr 294
"\\Longleftrightarrow"  {yylval=wims_mathml_copy_string("&#x27FA;"); return MOL;}
5520 bpr 295
"\\Leftrightarrow"  {yylval=wims_mathml_copy_string("&Leftrightarrow;"); return MOL;}
8457 bpr 296
"\\longleftrightarrow" {yylval=wims_mathml_copy_string("&#x27F7;"); return MOL;}
5520 bpr 297
 
298
"\\impliedby" |
299
"\\Leftarrow"   {yylval=wims_mathml_copy_string("&Leftarrow;"); return MOL;}
300
 
301
"\\implies" |
302
"\\Rightarrow"   {yylval=wims_mathml_copy_string("&Rightarrow;"); return MOL;}
303
 
304
"\\hookleftarrow" {yylval=wims_mathml_copy_string("&hookleftarrow;"); return MOL;}
305
 
306
"\\embedsin" |
307
"\\hookrightarrow"  {yylval=wims_mathml_copy_string("&hookrightarrow;"); return MOL;}
308
 
309
"\\longrightarrow"  {yylval=wims_mathml_copy_string("&longrightarrow;"); return MOL;}
310
 
8456 bpr 311
"\\Longrightarrow"  {yylval=wims_mathml_copy_string("&#x27F9;"); return MOL;}
5520 bpr 312
 
313
"\\leftarrow"   {yylval=wims_mathml_copy_string("&leftarrow;"); return MOL;}
314
 
315
"\\to"    |
316
"\\rightarrow"  {yylval=wims_mathml_copy_string("&rightarrow;"); return MOL;}
317
 
318
"\\leftrightarrow"  {yylval=wims_mathml_copy_string("&leftrightarrow;"); return MOL;}
319
 
11589 schaersvoo 320
"\\longmapsto" {yylval = wims_mathml_copy_string("&#x27FC;"); return MOL;}
321
"\\Longmapsfrom" {yylval = wims_mathml_copy_string("&#x27FD;"); return MOL;}
322
"\\Longmapsto" {yylval = wims_mathml_copy_string("&#x27FE;"); return MOL;}
5520 bpr 323
"\\mapsto"  |
324
"\\map"       {yylval=wims_mathml_copy_string("&map;"); return MOL;}
325
 
326
"\\nearrow" |
327
"\\nearr"    {yylval=wims_mathml_copy_string("&nearr;"); return MOL;}
328
 
329
"\\nwarrow" |
330
"\\nwarr"     {yylval=wims_mathml_copy_string("&nwarr;"); return MOL;}
331
 
332
"\\searrow" |
333
"\\searr"     {yylval=wims_mathml_copy_string("&searr;"); return MOL;}
334
 
335
"\\swarrow" |
336
"\\swarr"     {yylval=wims_mathml_copy_string("&swarr;"); return MOL;}
337
 
338
"\\neArrow" |
339
"\\neArr"    {yylval=wims_mathml_copy_string("&neArr;"); return MOL;}
340
 
341
"\\nwArrow" |
342
"\\nwArr"     {yylval=wims_mathml_copy_string("&nwArr;"); return MOL;}
343
 
344
"\\seArrow" |
345
"\\seArr"     {yylval=wims_mathml_copy_string("&seArr;"); return MOL;}
346
 
347
"\\swArrow" |
348
"\\swArr"     {yylval=wims_mathml_copy_string("&swArr;"); return MOL;}
349
 
350
"\\darr"     {yylval=wims_mathml_copy_string("&darr;"); return MOL;}
351
 
352
"\\Downarrow" {yylval=wims_mathml_copy_string("&dArr;"); return MOL;}
353
 
354
"\\uparr"    {yylval=wims_mathml_copy_string("&uarr;"); return MOL;}
355
 
356
"\\Uparrow" {yylval=wims_mathml_copy_string("&uArr;"); return MOL;}
357
 
358
"\\downuparrow" |
359
"\\duparr" |
360
"\\updarr"  {yylval=wims_mathml_copy_string("&updownarrow;"); return MOL;}
361
 
362
"\\Updownarrow"  {yylval=wims_mathml_copy_string("&Updownarrow;"); return MOL;}
363
 
364
"\\leftsquigarrow"       {yylval=wims_mathml_copy_string("&#x21DC;"); return MOL;}
365
"\\rightsquigarrow"      {yylval=wims_mathml_copy_string("&zigrarr;"); return MOL;}
366
"\\dashleftarrow"        {yylval=wims_mathml_copy_string("&#x290E;"); return MOL;}
367
"\\dashrightarrow"       {yylval=wims_mathml_copy_string("&#x290F;"); return MOL;}
368
"\\curvearrowbotright"   {yylval=wims_mathml_copy_string("&#x293B;"); return MOL;}
369
"\\righttoleftarrow"     {yylval=wims_mathml_copy_string("&#x27F2;"); return MOL;}
370
"\\lefttorightarrow"     {yylval=wims_mathml_copy_string("&#x27F3;"); return MOL;}
371
"\\leftrightsquigarrow" |
372
"\\upuparrows"          |
373
"\\rightleftarrows"     |
374
"\\rightrightarrows"    |
375
"\\curvearrowleft"      |
376
"\\curvearrowright"     |
377
"\\downdownarrows"      |
378
"\\leftarrowtail"       |
379
"\\rightarrowtail"      |
380
"\\leftleftarrows"      |
381
"\\leftrightarrows"     |
382
"\\Lleftarrow"          |
383
"\\Rrightarrow"         |
384
"\\looparrowleft"       |
385
"\\looparrowright"      |
386
"\\Lsh"                 |
387
"\\Rsh"                 |
388
"\\circlearrowleft"     |
389
"\\circlearrowright"    |
390
"\\twoheadleftarrow"    |
391
"\\twoheadrightarrow"   |
392
"\\nLeftarrow"          |
393
"\\nleftarrow"          |
394
"\\nLeftrightarrow"     |
395
"\\nleftrightarrow"     |
396
"\\nRightarrow"         |
397
"\\nrightarrow"         |
398
"\\downharpoonleft"     |
399
"\\downharpoonright"    |
400
"\\leftrightharpoons"   |
401
"\\rightleftharpoons"   |
402
"\\upharpoonleft"       |
403
"\\upharpoonright"   {yylval=wims_mathml_copy2(yytext, ";"); if (yylval != wims_mathml_empty_string) yylval[0]='&'; return MOL;}
404
 
405
"\\xrightarrow"        |
406
"\\xleftarrow"         |
407
"\\xleftrightarrow"    |
408
"\\xLeftarrow"         |
409
"\\xRightarrow"        |
410
"\\xLeftrightarrow"    |
411
"\\xleftrightharpoons" |
412
"\\xrightleftharpoons" |
413
"\\xhookleftarrow"     |
414
"\\xhookrightarrow"    |
415
"\\xmapsto" {BEGIN(OPTARG); char * s1 = wims_mathml_copy_string(yytext+2); yylval = wims_mathml_copy3("&", s1, ";"); wims_mathml_free_string(s1); return XARROW;}
416
 
417
"\\dots" |
418
"\\ldots"  {yylval=wims_mathml_copy_string("&hellip;"); return MI;}
419
"\\cdots"   {yylval=wims_mathml_copy_string("&ctdot;"); return MI;}
420
"\\ddots"   {yylval=wims_mathml_copy_string("&dtdot;"); return MI;}
421
"\\udots"   {yylval=wims_mathml_copy_string("&utdot;"); return MI;}
422
"\\vdots"   {yylval=wims_mathml_copy_string("&vellip;"); return MI;}
423
"\\colon"   {yylval=wims_mathml_copy_string("&colon;"); return MOR;}
424
 
425
"\\cup"  |
426
"\&union;" |
427
"\\union"          {yylval=wims_mathml_copy_string("&cup;"); return MOL;}
428
 
429
"\\bigcup" |
430
"\\Union"  |
431
"\&Union;"      {yylval=wims_mathml_copy_string("&Union;"); return MOB;}
432
 
433
"\\cap"  |
434
"\\intersection"          {yylval=wims_mathml_copy_string("&cap;"); return MOL;}
435
 
436
"\\bigcap" |
437
"\\Intersection"       {yylval=wims_mathml_copy_string("&Intersection;"); return MOB;}
438
 
439
"\\in"           {yylval=wims_mathml_copy_string("&Element;"); return MOL;}
440
 
441
 /* For some reason, Firefox does not put in the right spacing around some of these operators
442
  * unless we ask for it, explicitly.
443
  */
444
"\\coloneqq"     {yylval=wims_mathml_copy_string("&colone;"); return MOL;}
445
"\\Coloneqq"     {yylval=wims_mathml_copy_string("&Colone;"); return MOS;}
446
"\\coloneq"      {yylval=wims_mathml_copy_string("&#x2236;&#x2212;"); return MOS;}
447
"\\Coloneq"      {yylval=wims_mathml_copy_string("&#x2237;&#x2212;"); return MOS;}
448
"\\eqqcolon"     {yylval=wims_mathml_copy_string("&ecolon;"); return MOS;}
449
"\\Eqqcolon"     {yylval=wims_mathml_copy_string("&#x003d;&#x2237;"); return MOS;}
450
"\\eqcolon"      {yylval=wims_mathml_copy_string("&#x2239;"); return MOS;}
451
"\\Eqcolon"      {yylval=wims_mathml_copy_string("&#x2212;&#x2237;"); return MOS;}
452
"\\colonapprox"  {yylval=wims_mathml_copy_string("&#x2236;&#x2248;"); return MOS;}
453
"\\Colonapprox"  {yylval=wims_mathml_copy_string("&#x2237;&#x2248;"); return MOS;}
454
"\\colonsim"     {yylval=wims_mathml_copy_string("&#x2236;&#x223C;"); return MOS;}
455
"\\Colonsim"     {yylval=wims_mathml_copy_string("&#x2237;&#x223C;"); return MOS;}
456
"\\dblcolon"     {yylval=wims_mathml_copy_string("&Colon;"); return MOL;}
457
 
458
"\\ast"  |
459
"\\Cap"  |
460
"\\Cup"  |
461
"\\circledast"  |
462
"\\circledcirc" |
463
"\\curlyvee"    |
464
"\\curlywedge"  |
465
"\\divideontimes" |
466
"\\dotplus" |
467
"\\leftthreetimes" |
468
"\\rightthreetimes" |
469
"\\veebar" |
470
"\\gt"   |
471
"\\lt"   |
472
"\\approxeq"   |
473
"\\backsim"   |
474
"\\backsimeq"   |
475
"\\barwedge"    |
476
"\\doublebarwedge" |
477
"\\subset"  |
478
"\\subseteq" |
479
"\\subseteqq" |
480
"\\subsetneq" |
481
"\\subsetneqq" |
482
"\\varsubsetneq" |
483
"\\varsubsetneqq" |
484
"\\prec"     |
485
"\\parallel"  |
486
"\\nparallel" |
487
"\\shortparallel" |
488
"\\nshortparallel" |
489
"\\perp"  |
490
"\\eqslantgtr" |
491
"\\eqslantless" |
492
"\\gg" |
493
"\\ggg" |
494
"\\geq" |
495
"\\geqq" |
496
"\\geqslant" |
497
"\\gneq" |
498
"\\gneqq" |
499
"\\gnapprox" |
500
"\\gnsim" |
501
"\\gtrapprox" |
502
"\\ge"  |
503
"\\le"  |
504
"\\leq" |
505
"\\leqq" |
506
"\\leqslant" |
507
"\\lessapprox" |
508
"\\lessdot" |
509
"\\lesseqgtr" |
510
"\\lesseqqgtr" |
511
"\\lessgtr" |
512
"\\lneq" |
513
"\\lneqq" |
514
"\\lnsim" |
515
"\\lvertneqq" |
516
"\\gtrsim" |
517
"\\gtrdot" |
518
"\\gtreqless" |
519
"\\gtreqqless" |
520
"\\gtrless" |
521
"\\gvertneqq" |
522
"\\lesssim" |
523
"\\lnapprox" |
524
"\\nsubset" |
525
"\\nsubseteq" |
526
"\\nsubseteqq" |
527
"\\notin" |
528
"\\ni" |
529
"\\notni" |
530
"\\nmid" |
531
"\\nshortmid" |
532
"\\preceq" |
533
"\\npreceq" |
534
"\\ll" |
535
"\\ngeq" |
536
"\\ngeqq" |
537
"\\ngeqslant" |
538
"\\nleq" |
539
"\\nleqq" |
540
"\\nleqslant" |
541
"\\nless" |
542
"\\supset" |
543
"\\supseteq" |
544
"\\supseteqq" |
545
"\\supsetneq" |
546
"\\supsetneqq" |
547
"\\varsupsetneq" |
548
"\\varsupsetneqq" |
549
"\\approx" |
550
"\\asymp" |
551
"\\bowtie" |
552
"\\dashv" |
553
"\\Vdash" |
554
"\\vDash" |
555
"\\VDash" |
556
"\\vdash" |
557
"\\Vvdash" |
558
"\\models" |
559
"\\sim" |
560
"\\simeq" |
561
"\\nsim" |
562
"\\smile" |
563
"\\triangle" |
564
"\\triangledown" |
565
"\\triangleleft" |
566
"\\cong" |
567
"\\succ" |
568
"\\nsucc" |
569
"\\ngtr" |
570
"\\nsupset" |
571
"\\nsupseteq" |
572
"\\propto" |
573
"\\equiv" |
574
"\\nequiv" |
575
"\\frown" |
576
"\\triangleright" |
577
"\\ncong" |
578
"\\succeq" |
579
"\\succapprox" |
580
"\\succnapprox" |
581
"\\succcurlyeq" |
582
"\\succsim" |
583
"\\succnsim" |
584
"\\nsucceq" |
585
"\\nvDash" |
586
"\\nvdash" |
587
"\\nVDash" |
588
"\\amalg" |
589
"\\pm" |
590
"\\mp" |
591
"\\bigcirc" |
592
"\\wr" |
593
"\\odot" |
594
"\\uplus" |
595
"\\clubsuit" |
596
"\\spadesuit" |
597
"\\Diamond" |
598
"\\diamond" |
599
"\\sqcup" |
600
"\\sqcap" |
601
"\\sqsubset" |
602
"\\sqsubseteq" |
603
"\\sqsupset" |
604
"\\sqsupseteq" |
605
"\\Subset" |
606
"\\Supset" |
607
"\\ltimes" |
608
"\\div" |
609
"\\rtimes" |
610
"\\bot" |
611
"\\therefore" |
612
"\\thickapprox" |
613
"\\thicksim" |
614
"\\varpropto" |
615
"\\varnothing" |
616
"\\flat" |
617
"\\vee" |
618
"\\because" |
619
"\\between" |
620
"\\Bumpeq" |
621
"\\bumpeq" |
622
"\\circeq" |
623
"\\curlyeqprec" |
624
"\\curlyeqsucc" |
625
"\\doteq" |
626
"\\doteqdot" |
627
"\\eqcirc" |
628
"\\fallingdotseq" |
629
"\\multimap" |
630
"\\pitchfork" |
631
"\\precapprox" |
632
"\\precnapprox" |
633
"\\preccurlyeq" |
634
"\\precsim" |
635
"\\precnsim" |
636
"\\risingdotseq" |
637
"\\sharp" |
638
"\\bullet" |
639
"\\nexists" |
640
"\\dagger" |
641
"\\ddagger" |
642
"\\not" |
643
"\\top" |
644
"\\natural" |
645
"\\angle" |
646
"\\measuredangle" |
647
"\\backprime" |
648
"\\bigstar" |
649
"\\blacklozenge" |
650
"\\lozenge" |
651
"\\blacksquare" |
652
"\\blacktriangle" |
653
"\\blacktriangleleft" |
654
"\\blacktriangleright" |
655
"\\blacktriangledown" |
656
"\\ntriangleleft" |
657
"\\ntriangleright" |
658
"\\ntrianglelefteq" |
659
"\\ntrianglerighteq" |
660
"\\trianglelefteq" |
661
"\\trianglerighteq" |
662
"\\triangleq" |
663
"\\vartriangleleft" |
664
"\\vartriangleright" |
665
"\\forall" |
666
"\\bigtriangleup" |
667
"\\bigtriangledown" |
668
"\\nprec"  {yylval=wims_mathml_copy2(yytext, ";"); if (yylval != wims_mathml_empty_string) yylval[0]='&'; return MOL;}
16597 bpr 669
"\\hrectangle" {yylval = wims_mathml_copy_string("&#x25AD;"); return MI;}
670
"\\vrectangle" {yylval = wims_mathml_copy_string("&#x25AF;"); return MI;}
5520 bpr 671
"\\aleph" |
672
"\\beth" |
673
"\\eth" |
674
"\\ell" |
675
"\\hbar" |
676
"\\Im" |
677
"\\imath" |
678
"\\jmath" |
679
"\\wp" |
680
"\\Re" {yylval=wims_mathml_copy2(yytext, ";"); if (yylval != wims_mathml_empty_string) yylval[0]='&'; return MI;}
681
 
682
"\\Perp" |
683
"\\Vbar" {yylval=wims_mathml_copy_string("&Vbar;"); return MOL;}
684
"\\boxdot" {yylval=wims_mathml_copy_string("&sdotb;"); return MOL;}
685
"\\Box" |
686
"\\square" {yylval=wims_mathml_copy_string("&square;"); return MOL;}
687
"\\emptyset" |
688
"\\empty" {yylval=wims_mathml_copy_string("&emptyv;"); return MI;}
689
"\\exists" {yylval=wims_mathml_copy_string("&Exists;"); return MOL;}
690
"\\circ" {yylval=wims_mathml_copy_string("&SmallCircle;"); return MOL;}
691
"\\rhd" {yylval=wims_mathml_copy_string("&RightTriangle;"); return MOL;}
692
"\\lhd" {yylval=wims_mathml_copy_string("&LeftTriangle;"); return MOL;}
693
"\\lll" {yylval=wims_mathml_copy_string("&Ll;"); return MOL;}
694
"\\unrhd" {yylval=wims_mathml_copy_string("&RightTriangleEqual;"); return MOL;}
695
"\\unlhd" {yylval=wims_mathml_copy_string("&LeftTriangleEqual;"); return MOL;}
696
"\\Del" |
697
"\\nabla" {yylval=wims_mathml_copy_string("&Del;"); return MOL;}
698
"\\sphericalangle" {yylval=wims_mathml_copy_string("&angsph;"); return MOL;}
699
 
700
"\\heartsuit" {yylval=wims_mathml_copy_string("&#x2661;"); return MOL;}
701
"\\diamondsuit" {yylval=wims_mathml_copy_string("&#x2662;"); return MOL;}
702
 
703
"\\partial" {yylval=wims_mathml_copy_string("&PartialD;"); return MOL;}
704
 
705
"\\qed" {yylval=wims_mathml_copy_string("&squf;"); return MO;}
706
 
707
"\\mod" {yylval=wims_mathml_copy_string("mod"); return MOS;}
708
"\\bmod" {yylval=wims_mathml_copy_string("mod"); return MOS;}
709
"\\pmod" {return PMOD;}
710
 
711
"\\bottom" {yylval=wims_mathml_copy_string("&perp;"); return MOL;}
712
 
713
"\\neg" {yylval=wims_mathml_copy_string("&not;"); return MOL;}
714
 
715
"\\neq" |
716
"\\ne"  |
717
"\\not =" |
718
"\\not=" {yylval=wims_mathml_copy_string("&ne;"); return MOL;}
719
 
14658 bpr 720
"\\not\\subset" {yylval=wims_mathml_copy_string("&#x2284;"); return MOL;}
721
 
5520 bpr 722
"\\not\\in" |
723
"\\not \\in"  {yylval=wims_mathml_copy_string("&notin;"); return MOL;}
724
 
725
"\\shortmid" |
726
"\\mid"  {yylval=wims_mathml_copy_string("&VerticalBar;"); return MOS;}
727
 
728
"\\int"    |
729
"\\integral"     {return LARGERINT;}
730
 
731
"\\iint"   |
732
"\\doubleintegral" {yylval=wims_mathml_copy_string("&Int;"); return MOL;}
733
 
734
"\\iiint"   |
735
"\\tripleintegral" {yylval=wims_mathml_copy_string("&tint;"); return MOL;}
736
 
737
"\\iiiint"   |
738
"\\quadrupleintegral" {yylval=wims_mathml_copy_string("&qint;"); return MOL;}
739
 
740
"\\oint"    |
741
"\\conint"  |
742
"\\contourintegral"   {yylval=wims_mathml_copy_string("&conint;"); return MOL;}
743
 
744
"\\times"   {yylval=wims_mathml_copy_string("&times;"); return MOL;}
745
"\\star"   {yylval=wims_mathml_copy_string("&sstarf;"); return MOL;}
746
"\\circleddash" |
747
"\\odash"   {yylval=wims_mathml_copy_string("&odash;"); return MOL;}
748
 
749
"\\intercal"   {yylval=wims_mathml_copy_string("&intcal;"); return MOL;}
750
"\\smallfrown"   {yylval=wims_mathml_copy_string("&sfrown;"); return MOL;}
751
"\\smallsmile"   {yylval=wims_mathml_copy_string("&ssmile;"); return MOL;}
752
 
753
"\\boxminus" |
754
"\\minusb"   {yylval=wims_mathml_copy_string("&boxminus;"); return MOL;}
755
"\\boxplus" |
756
"\\plusb"   {yylval=wims_mathml_copy_string("&boxplus;"); return MOL;}
757
"\\boxtimes" |
758
"\\timesb"   {yylval=wims_mathml_copy_string("&boxtimes;"); return MOL;}
759
 
760
"\\sum"          {yylval=wims_mathml_copy_string("&Sum;"); return MOB;}
761
 
762
"\\prod" |
763
"\\product"      {yylval=wims_mathml_copy_string("&prod;"); return MOB;}
764
 
765
"\\coprod"  |
766
"\\coproduct"    {yylval=wims_mathml_copy_string("&coprod;"); return MOB;}
767
 
768
"\\otimes"       {yylval=wims_mathml_copy_string("&otimes;"); return MOL;}
769
"\\Otimes"       {yylval=wims_mathml_copy_string("&Otimes;"); return MOL;}
770
"\\bigotimes"     {yylval=wims_mathml_copy_string("&bigotimes;"); return MOL;}
771
 
772
"\\ominus"       {yylval=wims_mathml_copy_string("&ominus;"); return MOL;}
773
"\\oslash"       {yylval=wims_mathml_copy_string("&osol;"); return MOL;}
774
 
775
"\\oplus"       {yylval=wims_mathml_copy_string("&oplus;"); return MOL;}
776
"\\Oplus"   |
777
"\\bigoplus"    {yylval=wims_mathml_copy_string("&bigoplus;"); return MOB;}
778
 
779
"\\bigodot"    {yylval=wims_mathml_copy_string("&bigodot;"); return MOB;}
780
"\\bigsqcup"    {yylval=wims_mathml_copy_string("&bigsqcup;"); return MOB;}
13310 obado 781
"\\bigsqcap"    {yylval=wims_mathml_copy_string("&#x2A05;"); return MOB;}
782
"\\biginterleave" {yylval=wims_mathml_copy_string("&#x2AFC;"); return MOB;}
5520 bpr 783
"\\biguplus"    {yylval=wims_mathml_copy_string("&biguplus;"); return MOB;}
784
 
785
"\\wedge"       {yylval=wims_mathml_copy_string("&wedge;"); return MOL;}
786
"\\Wedge"  |
787
"\\bigwedge"       {yylval=wims_mathml_copy_string("&xwedge;"); return MOB;}
788
 
789
"\\Vee"  |
790
"\\bigvee"       {yylval=wims_mathml_copy_string("&bigvee;"); return MOB;}
791
 
792
"\\invamp"  |
793
"\\parr"       {yylval=wims_mathml_copy_string("&#8523;"); return MOL;}
794
 
795
"\\frac"         {return FRAC;}
796
"\\tfrac"         {return TFRAC;}
797
"\\dfrac"         {return DFRAC;}
798
"\\sfrac"	{return SFRAC;}
799
"\\binom" 	{return BINOM;}
800
"\\choose"	{return BINOM2;}
801
"\\tbinom"        {return TBINOM;}
802
 
803
"\\tensor"       {return TENSOR;}
804
 
805
"\\multiscripts" {return MULTI;}
806
 
807
"\\overbrace"     {return OVERBRACE;}
808
 
809
"\\underbrace"   {return UNDERBRACE;}
810
 
811
"\\underline"   {return UNDERLINE;}
812
 
813
"\\bar"          {return BAR;}
814
"\\overline" |
815
"\\closure" |
816
"\\widebar"      {return WIDEBAR;}
817
 
7219 schaersvoo 818
"\\vec"  { return VEC;}
5520 bpr 819
"\\widevec"   {return WIDEVEC;}
7390 schaersvoo 820
"\\limits"  {/* Ignore  */ ;}
5520 bpr 821
 
8456 bpr 822
"\\overrightarrow"	  {yylval = wims_mathml_copy_string("&rightarrow;"); 	 return OVERARROW;}
823
"\\overleftarrow"         {yylval = wims_mathml_copy_string("&leftarrow;"); 	 return OVERARROW;}
7225 schaersvoo 824
"\\overleftrightarrow" 	  {yylval = wims_mathml_copy_string("&leftrightarrow;"); return OVERARROW;}
11589 schaersvoo 825
"\\overrightharpoonup"    {yylval = wims_mathml_copy_string("&#x21C0;"); 	 return OVERARROW;}
826
"\\overrightharpoondown"  {yylval = wims_mathml_copy_string("&#x21C1;"); 	 return OVERARROW;}
7219 schaersvoo 827
 
7225 schaersvoo 828
"\\underrightarrow" 	  {yylval = wims_mathml_copy_string("&rightarrow;"); 	 return UNDERARROW;}
829
"\\underleftarrow" 	  {yylval = wims_mathml_copy_string("&leftarrow;"); 	 return UNDERARROW;}
830
"\\underleftrightarrow"   {yylval = wims_mathml_copy_string("&leftrightarrow;"); return UNDERARROW;}
11589 schaersvoo 831
"\\underrightharpoonup"   {yylval = wims_mathml_copy_string("&#x21C0;"); 	 return UNDERARROW;}
832
"\\underrightharpoondown" {yylval = wims_mathml_copy_string("&#x21C1;"); 	 return UNDERARROW;}
7225 schaersvoo 833
 
5520 bpr 834
"\\dot"       {return DOT;}
835
"\\ddot"      {return DDOT;}
836
"\\dddot"      {return DDDOT;}
837
"\\ddddot"      {return DDDDOT;}
11717 schaersvoo 838
"\\P"  {yylval=wims_mathml_copy_string("&para;"); return MI;}
839
"\\copyright" {yylval=wims_mathml_copy_string("&#169;"); return MI;}/* copyright*/
840
"\\deg" {yylval=wims_mathml_copy_string("&#176;"); return MI;}/* not in wims latex: high small round o */
841
"\\Celcius" {yylval=wims_mathml_copy_string("&#8451;"); return MI;} /* not in wims latex: degree Celcius */
842
"\\Fahrenheit" {yylval=wims_mathml_copy_string("&#8457;"); return MI;} /* not in wims latex: degree Fahrenheit */
843
"\\i" {yylval=wims_mathml_copy_string("&#305;"); return MI;} /* dotless i*/
844
"\\j" {yylval=wims_mathml_copy_string("&#567;"); return MI;} /* dotless j*/
845
"\\"[~\^\"`'kl=bdruvtoOHct\.] { /* " accents , some are already in other syntax:  \\ddot{i} etc */
11708 schaersvoo 846
yylval = wims_mathml_copy_string(yytext+1);
11711 schaersvoo 847
if ((yyleng > 1) && (yylval != wims_mathml_empty_string)) yylval[yyleng+1]='\0';
11715 schaersvoo 848
return ACCENTS;
11708 schaersvoo 849
}
8456 bpr 850
"\\tilde"       {return TILDE;}
5520 bpr 851
"\\widetilde"   {return WIDETILDE;}
852
 
853
 
8456 bpr 854
"\\check"       {return CHECK;}
5520 bpr 855
"\\widecheck"   {return WIDECHECK;}
856
 
857
 
8456 bpr 858
"\\hat"       {return HAT;}
5520 bpr 859
"\\widehat"   {return WIDEHAT;}
860
 
861
"\\underset"     {return UNDER;}
862
 
863
"\\stackrel" |
864
"\\overset"      {return OVER;}
14226 schaersvoo 865
"\\brack"	{ wims_mathml_shortcut = 0; return BRACK;}
866
"\\brace"	{ wims_mathml_shortcut = 1; return BRACK;}
5520 bpr 867
"\\over"         {return TEXOVER;}
868
"\\atop"         {return TEXATOP;}
869
 
870
"\\underoverset"  {return UNDEROVER;}
871
 
872
"\\sqrt"         {BEGIN(OPTARG); return SQRT;}
873
 
874
"\\root"         {return ROOT;}
5632 schaersvoo 875
"\\of"
5520 bpr 876
"\\nonumber"		{yylval=wims_mathml_copy_string("&nbsp;"); return MI;}
877
 
878
"\\space"        {BEGIN(INT1); return SPACE;}
11335 schaersvoo 879
"\\*"      {yylval=wims_mathml_copy_string("&InvisibleTimes;"); return MI;}
5520 bpr 880
 
881
"\\text" |
882
"\\textrm" |
883
"\\mbox"         {BEGIN(PLAINTEXT); return TEXTBOX;}
884
 
885
"\\statusline"    {BEGIN(PLAINTEXT); return STATLINE;}
886
"\\tooltip"       {BEGIN(PLAINTEXT); return TOOLTIP;}
887
 
888
"\\toggle"        {return TOGGLE;}
889
 
890
"\\mathraisebox"  {BEGIN(RAISEBOX1); return RAISEBOX;}
891
 
892
"\\fghilight" |
893
"\\fghighlight"   {BEGIN(ATTRIBUTELIST); return FGHIGHLIGHT;}
894
 
895
"\\bghilight" |
896
"\\bghighlight"   {BEGIN(ATTRIBUTELIST); return BGHIGHLIGHT;}
897
 
898
"\\special"	{BEGIN(FINDARG); return SPECIAL;}
899
 
8912 bpr 900
"\\color"  |
901
"\\textcolor" {BEGIN(ATTRIBUTELIST); return COLOR;}
5520 bpr 902
"\\bgcolor"        {BEGIN(ATTRIBUTELIST); return BGCOLOR;}
903
 
904
"\\displaystyle"  {wims_mathml_displaymode=1; wims_mathml_rowposn=2; return DISPLAY;}
905
 
906
"\\textstyle"     {wims_mathml_displaymode=0; wims_mathml_rowposn=2; return TEXTSTY;}
907
 
908
"\\textsize"     {return TEXTSIZE;}
909
 
910
"\\scriptsize"     {return SCSIZE;}
911
 
912
"\\scriptscriptsize"     {return SCSCSIZE;}
913
 
914
"\\mathit" |
12108 schaersvoo 915
"\\it" |
5520 bpr 916
"\\emph"      {return ITALICS;}
917
 
918
"\\boldsymbol" |
919
"\\bf" |
920
"\\Bf" |
921
"\\mathbf"       {return BOLD;}
922
"\\mathrm"     |
923
"\\rm"  {BEGIN(ROMAN); return RM;}
5577 schaersvoo 924
"\\rm " { return WIMSROMAN;}
5520 bpr 925
 
926
"\\mathbb"       {BEGIN(BBOLD); return BB;}
927
 
928
"\\mathfrak" |
929
"\\mathfr"       {BEGIN(FRAKTUR); return FRAK;}
930
 
13858 schaersvoo 931
"\\slash" |
932
"\\cancel"       {return SLASHED;}
5520 bpr 933
 
934
"\\boxed"       {return BOXED;}
935
 
936
"\\mathcal"       {BEGIN(CALLIGRAPHIC); return CAL;}
937
 
938
"\\begin"        {wims_mathml_env_start = 1; BEGIN(MATHENV); return BEGINENV;}
939
"\\end"        {BEGIN(MATHENV); return ENDENV;}
14226 schaersvoo 940
"\\cases"	{wims_mathml_shortcut = 0;return SHORTARRAY;}
941
"\\Bmatrix"	{wims_mathml_shortcut = 1;return SHORTARRAY;}
942
"\\pmatrix"	{wims_mathml_shortcut = 2;return SHORTARRAY;}
943
"\\vmatrix"	{wims_mathml_shortcut = 3;return SHORTARRAY;}
944
"\\Vmatrix"	{wims_mathml_shortcut = 4;return SHORTARRAY;}
945
"\\aligned"	{wims_mathml_shortcut = 5;return SHORTARRAY;}
5520 bpr 946
 
14226 schaersvoo 947
 
5520 bpr 948
"\\substack"     {return SUBSTACK;}
949
 
950
"\\array"        {return ARRAY;}
951
 
952
"\\arrayopts"    {return ARRAYOPTS;}
953
 
954
"\\colalign"     {BEGIN(ATTRIBUTELIST); return COLALIGN;}
955
 
956
"\\collayout"   {BEGIN(ATTRIBUTELIST); return COLLAYOUT;}
957
 
958
"\\rowalign"     {BEGIN(ATTRIBUTELIST); return ROWALIGN;}
959
 
960
"\\align"     {BEGIN(ATTRIBUTELIST); return ALIGN;}
961
 
962
"\\equalrows"     {BEGIN(ATTRIBUTELIST); return EQROWS;}
963
 
964
"\\equalcols"     {BEGIN(ATTRIBUTELIST); return EQCOLS;}
965
 
966
"\\rowlines"     {BEGIN(ATTRIBUTELIST); return ROWLINES;}
967
 
968
"\\collines"     {BEGIN(ATTRIBUTELIST); return COLLINES;}
969
 
970
"\\frame"     {BEGIN(ATTRIBUTELIST); return FRAME;}
971
 
972
"\\padding"     {BEGIN(ATTRIBUTELIST); return PADDING;}
973
 
974
"\\rowopts"    {return ROWOPTS;}
975
 
8456 bpr 976
"\\cellopts"   {return CELLOPTS;}
5520 bpr 977
 
978
"\\rowspan"     {BEGIN(ATTRIBUTELIST); return ROWSPAN;}
979
 
980
"\\colspan"     {BEGIN(ATTRIBUTELIST); return COLSPAN;}
981
 
982
 
983
"\\," |
984
"\\thinspace"   {return THINSPACE;}
985
 
986
"\\:" |
987
"\\medspace"    {return MEDSPACE;}
988
 
989
"\\;" |
990
"\\thickspace"  {return THICKSPACE;}
991
 
992
"\\quad"        {return QUAD;}
993
"\\qquad"       {return QQUAD;}
994
 
995
"\\!" |
996
"\\negspace"    {return NEGSPACE;}
997
 
998
"\\phantom" |
999
"\\vphantom"     {return PHANTOM;}
1000
 
1001
"\\href"        {BEGIN(PLAINTEXT); return HREF;}
1002
 
1003
"\\operatorname"  {BEGIN(PLAINTEXT); return OPERATORNAME;}
1004
"\\mathop"        {BEGIN(PLAINTEXT); return MATHOP;}
1005
"\\mathbin"       {BEGIN(PLAINTEXT); return MATHBIN;}
1006
"\\mathrel"       {BEGIN(PLAINTEXT); return MATHREL;}
1007
"\\itexnum"       {BEGIN(PLAINTEXT); return ITEXNUM;}
1008
 
11589 schaersvoo 1009
"\\char32" {yylval = wims_mathml_copy_string("&#x2423;"); return MI;}
1010
"\\char44" {yylval = wims_mathml_copy_string("&#44;"); return MI;}
1011
"\\exclam" {yylval = wims_mathml_copy_string("&#x0021;"); return MI;}
1012
"\\octothorpe" {yylval = wims_mathml_copy_string("&#x0023;"); return MI;}
1013
"\\mathdollar" {yylval = wims_mathml_copy_string("&#x0024;"); return MI;}
1014
"\\percent" {yylval = wims_mathml_copy_string("&#x0025;"); return MI;}
1015
"\\ampersand" {yylval = wims_mathml_copy_string("&#x0026;"); return MI;}
1016
"\\lparen" {yylval = wims_mathml_copy_string("&#x0028;"); return LEFTDELIM;}
1017
"\\rparen" {yylval = wims_mathml_copy_string("&#x0029;"); return RIGHTDELIM;}
1018
"\\plus" {yylval = wims_mathml_copy_string("&#x002B;"); return MO;}
1019
"\\period" {yylval = wims_mathml_copy_string("&#x002E;"); return MOP;}
1020
"\\mathslash" {yylval = wims_mathml_copy_string("&#x002F;"); return MO;}
1021
"\\mathcolon" {yylval = wims_mathml_copy_string("&#x003A;"); return MOP;}
1022
"\\semicolon" {yylval = wims_mathml_copy_string("&#x003B;"); return MOP;}
1023
"\\less" {yylval = wims_mathml_copy_string("&#x003C;"); return MO;}
1024
"\\equal" {yylval = wims_mathml_copy_string("&#x003D;"); return MO;}
1025
"\\greater" {yylval = wims_mathml_copy_string("&#x003E;"); return MO;}
1026
"\\question" {yylval = wims_mathml_copy_string("&#x003F;"); return MOP;}
1027
"\\atsign" {yylval = wims_mathml_copy_string("&#x0040;"); return MI;}
1028
"\\sterling" {yylval = wims_mathml_copy_string("&#x00A3;"); return MI;}
1029
"\\yen" {yylval = wims_mathml_copy_string("&#x00A5;"); return MI;}
1030
"\\cdotp" {yylval = wims_mathml_copy_string("&#x00B7;"); return MO;}
1031
"\\matheth" {yylval = wims_mathml_copy_string("&#x00F0;"); return MI;}
1032
"\\Zbar" {yylval = wims_mathml_copy_string("&#x01B5;"); return MI;}
1033
"\\grave" {yylval = wims_mathml_copy_string("&#x0300;"); return MI;}
1034
"\\acute" {yylval = wims_mathml_copy_string("&#x0301;"); return MI;}
1035
"\\overbar" {yylval = wims_mathml_copy_string("&#x0305;"); return MI;}
1036
"\\breve" {yylval = wims_mathml_copy_string("&#x0306;"); return MI;}
1037
"\\ovhook" {yylval = wims_mathml_copy_string("&#x0309;"); return MI;}
1038
"\\ocirc" {yylval = wims_mathml_copy_string("&#x030A;"); return MI;}
1039
"\\candra" {yylval = wims_mathml_copy_string("&#x0310;"); return MI;}
1040
"\\oturnedcomma" {yylval = wims_mathml_copy_string("&#x0312;"); return MI;}
1041
"\\ocommatopright" {yylval = wims_mathml_copy_string("&#x0315;"); return MI;}
1042
"\\droang" {yylval = wims_mathml_copy_string("&#x031A;"); return MI;}
1043
"\\wideutilde" {yylval = wims_mathml_copy_string("&#x0330;"); return MI;}
1044
"\\underbar" {yylval = wims_mathml_copy_string("&#x0331;"); return MI;}
1045
"\\upAlpha" {yylval = wims_mathml_copy_string("&#x0391;"); return MI;}
1046
"\\upBeta" {yylval = wims_mathml_copy_string("&#x0392;"); return MI;}
1047
"\\upGamma" {yylval = wims_mathml_copy_string("&#x0393;"); return MI;}
1048
"\\upDelta" {yylval = wims_mathml_copy_string("&#x0394;"); return MI;}
1049
"\\upEpsilon" {yylval = wims_mathml_copy_string("&#x0395;"); return MI;}
1050
"\\upZeta" {yylval = wims_mathml_copy_string("&#x0396;"); return MI;}
1051
"\\upEta" {yylval = wims_mathml_copy_string("&#x0397;"); return MI;}
1052
"\\upTheta" {yylval = wims_mathml_copy_string("&#x0398;"); return MI;}
1053
"\\upIota" {yylval = wims_mathml_copy_string("&#x0399;"); return MI;}
1054
"\\upKappa" {yylval = wims_mathml_copy_string("&#x039A;"); return MI;}
1055
"\\upLambda" {yylval = wims_mathml_copy_string("&#x039B;"); return MI;}
1056
"\\upMu" {yylval = wims_mathml_copy_string("&#x039C;"); return MI;}
1057
"\\upNu" {yylval = wims_mathml_copy_string("&#x039D;"); return MI;}
1058
"\\upXi" {yylval = wims_mathml_copy_string("&#x039E;"); return MI;}
1059
"\\upOmicron" {yylval = wims_mathml_copy_string("&#x039F;"); return MI;}
1060
"\\upPi" {yylval = wims_mathml_copy_string("&#x03A0;"); return MI;}
1061
"\\upRho" {yylval = wims_mathml_copy_string("&#x03A1;"); return MI;}
1062
"\\upSigma" {yylval = wims_mathml_copy_string("&#x03A3;"); return MI;}
1063
"\\upTau" {yylval = wims_mathml_copy_string("&#x03A4;"); return MI;}
1064
"\\upUpsilon" {yylval = wims_mathml_copy_string("&#x03A5;"); return MI;}
1065
"\\upPhi" {yylval = wims_mathml_copy_string("&#x03A6;"); return MI;}
1066
"\\upChi" {yylval = wims_mathml_copy_string("&#x03A7;"); return MI;}
1067
"\\upPsi" {yylval = wims_mathml_copy_string("&#x03A8;"); return MI;}
1068
"\\upOmega" {yylval = wims_mathml_copy_string("&#x03A9;"); return MI;}
1069
"\\upalpha" {yylval = wims_mathml_copy_string("&#x03B1;"); return MI;}
1070
"\\upbeta" {yylval = wims_mathml_copy_string("&#x03B2;"); return MI;}
1071
"\\upgamma" {yylval = wims_mathml_copy_string("&#x03B3;"); return MI;}
1072
"\\updelta" {yylval = wims_mathml_copy_string("&#x03B4;"); return MI;}
1073
"\\upepsilon" {yylval = wims_mathml_copy_string("&#x03B5;"); return MI;}
1074
"\\upzeta" {yylval = wims_mathml_copy_string("&#x03B6;"); return MI;}
1075
"\\upeta" {yylval = wims_mathml_copy_string("&#x03B7;"); return MI;}
1076
"\\uptheta" {yylval = wims_mathml_copy_string("&#x03B8;"); return MI;}
1077
"\\upiota" {yylval = wims_mathml_copy_string("&#x03B9;"); return MI;}
1078
"\\upkappa" {yylval = wims_mathml_copy_string("&#x03BA;"); return MI;}
1079
"\\uplambda" {yylval = wims_mathml_copy_string("&#x03BB;"); return MI;}
1080
"\\upmu" {yylval = wims_mathml_copy_string("&#x03BC;"); return MI;}
1081
"\\upnu" {yylval = wims_mathml_copy_string("&#x03BD;"); return MI;}
1082
"\\upxi" {yylval = wims_mathml_copy_string("&#x03BE;"); return MI;}
1083
"\\upomicron" {yylval = wims_mathml_copy_string("&#x03BF;"); return MI;}
1084
"\\uppi" {yylval = wims_mathml_copy_string("&#x03C0;"); return MI;}
1085
"\\uprho" {yylval = wims_mathml_copy_string("&#x03C1;"); return MI;}
1086
"\\upvarsigma" {yylval = wims_mathml_copy_string("&#x03C2;"); return MI;}
1087
"\\upsigma" {yylval = wims_mathml_copy_string("&#x03C3;"); return MI;}
1088
"\\uptau" {yylval = wims_mathml_copy_string("&#x03C4;"); return MI;}
1089
"\\upupsilon" {yylval = wims_mathml_copy_string("&#x03C5;"); return MI;}
1090
"\\upvarphi" {yylval = wims_mathml_copy_string("&#x03C6;"); return MI;}
1091
"\\upchi" {yylval = wims_mathml_copy_string("&#x03C7;"); return MI;}
1092
"\\uppsi" {yylval = wims_mathml_copy_string("&#x03C8;"); return MI;}
1093
"\\upomega" {yylval = wims_mathml_copy_string("&#x03C9;"); return MI;}
1094
"\\upvarbeta" {yylval = wims_mathml_copy_string("&#x03D0;"); return MI;}
1095
"\\upvartheta" {yylval = wims_mathml_copy_string("&#x03D1;"); return MI;}
1096
"\\upphi" {yylval = wims_mathml_copy_string("&#x03D5;"); return MI;}
1097
"\\upvarpi" {yylval = wims_mathml_copy_string("&#x03D6;"); return MI;}
1098
"\\upoldKoppa" {yylval = wims_mathml_copy_string("&#x03D8;"); return MI;}
1099
"\\upoldkoppa" {yylval = wims_mathml_copy_string("&#x03D9;"); return MI;}
1100
"\\upStigma" {yylval = wims_mathml_copy_string("&#x03DA;"); return MI;}
1101
"\\upstigma" {yylval = wims_mathml_copy_string("&#x03DB;"); return MI;}
1102
"\\upDigamma" {yylval = wims_mathml_copy_string("&#x03DC;"); return MI;}
1103
"\\updigamma" {yylval = wims_mathml_copy_string("&#x03DD;"); return MI;}
1104
"\\upKoppa" {yylval = wims_mathml_copy_string("&#x03DE;"); return MI;}
1105
"\\upkoppa" {yylval = wims_mathml_copy_string("&#x03DF;"); return MI;}
1106
"\\upSampi" {yylval = wims_mathml_copy_string("&#x03E0;"); return MI;}
1107
"\\upsampi" {yylval = wims_mathml_copy_string("&#x03E1;"); return MI;}
1108
"\\upvarkappa" {yylval = wims_mathml_copy_string("&#x03F0;"); return MI;}
1109
"\\upvarrho" {yylval = wims_mathml_copy_string("&#x03F1;"); return MI;}
1110
"\\upvarTheta" {yylval = wims_mathml_copy_string("&#x03F4;"); return MI;}
1111
"\\upvarepsilon" {yylval = wims_mathml_copy_string("&#x03F5;"); return MI;}
1112
"\\upbackepsilon" {yylval = wims_mathml_copy_string("&#x03F6;"); return MI;}
1113
"\\horizbar" {yylval = wims_mathml_copy_string("&#x2015;"); return MI;}
1114
"\\twolowline" {yylval = wims_mathml_copy_string("&#x2017;"); return MI;}
1115
"\\enleadertwodots" {yylval = wims_mathml_copy_string("&#x2025;"); return MI;}
1116
"\\unicodeellipsis" {yylval = wims_mathml_copy_string("&#x2026;"); return MI;}
1117
"\\dprime" {yylval = wims_mathml_copy_string("&#x2033;"); return MI;}
1118
"\\trprime" {yylval = wims_mathml_copy_string("&#x2034;"); return MI;}
1119
"\\backdprime" {yylval = wims_mathml_copy_string("&#x2036;"); return MI;}
1120
"\\backtrprime" {yylval = wims_mathml_copy_string("&#x2037;"); return MI;}
1121
"\\caretinsert" {yylval = wims_mathml_copy_string("&#x2038;"); return MI;}
1122
"\\Exclam" {yylval = wims_mathml_copy_string("&#x203C;"); return MI;}
1123
"\\tieconcat" {yylval = wims_mathml_copy_string("&#x2040;"); return MO;}
1124
"\\hyphenbullet" {yylval = wims_mathml_copy_string("&#x2043;"); return MI;}
1125
"\\fracslash" {yylval = wims_mathml_copy_string("&#x2044;"); return MO;}
1126
"\\Question" {yylval = wims_mathml_copy_string("&#x2047;"); return MI;}
1127
"\\qprime" {yylval = wims_mathml_copy_string("&#x2057;"); return MI;}
5520 bpr 1128
"\\euro" |
1129
"\\Euro" |
11589 schaersvoo 1130
"\\EUR" {yylval = wims_mathml_copy_string("&#x20AC;"); return MI;}
1131
"\\leftharpoonaccent" {yylval = wims_mathml_copy_string("&#x20D0;"); return MI;}
1132
"\\rightharpoonaccent" {yylval = wims_mathml_copy_string("&#x20D1;"); return MI;}
1133
"\\vertoverlay" {yylval = wims_mathml_copy_string("&#x20D2;"); return MI;}
1134
"\\enclosecircle" {yylval = wims_mathml_copy_string("&#x20DD;"); return MI;}
1135
"\\enclosesquare" {yylval = wims_mathml_copy_string("&#x20DE;"); return MI;}
1136
"\\enclosediamond" {yylval = wims_mathml_copy_string("&#x20DF;"); return MI;}
1137
"\\enclosetriangle" {yylval = wims_mathml_copy_string("&#x20E4;"); return MI;}
1138
"\\annuity" {yylval = wims_mathml_copy_string("&#x20E7;"); return MI;}
1139
"\\threeunderdot" {yylval = wims_mathml_copy_string("&#x20E8;"); return MI;}
1140
"\\widebridgeabove" {yylval = wims_mathml_copy_string("&#x20E9;"); return MI;}
1141
"\\asteraccent" {yylval = wims_mathml_copy_string("&#x20F0;"); return MI;}
1142
"\\BbbC" {yylval = wims_mathml_copy_string("&#x2102;"); return MI;}
1143
"\\Eulerconst" {yylval = wims_mathml_copy_string("&#x2107;"); return MI;}
1144
"\\mscrg" {yylval = wims_mathml_copy_string("&#x210A;"); return MI;}
1145
"\\mscrH" {yylval = wims_mathml_copy_string("&#x210B;"); return MI;}
1146
"\\mfrakH" {yylval = wims_mathml_copy_string("&#x210C;"); return MI;}
1147
"\\BbbH" {yylval = wims_mathml_copy_string("&#x210D;"); return MI;}
1148
"\\Planckconst" {yylval = wims_mathml_copy_string("&#x210E;"); return MI;}
1149
"\\hslash" {yylval = wims_mathml_copy_string("&#x210F;"); return MI;}
1150
"\\mscrI" {yylval = wims_mathml_copy_string("&#x2110;"); return MI;}
1151
"\\mscrL" {yylval = wims_mathml_copy_string("&#x2112;"); return MI;}
1152
"\\BbbN" {yylval = wims_mathml_copy_string("&#x2115;"); return MI;}
1153
"\\BbbP" {yylval = wims_mathml_copy_string("&#x2119;"); return MI;}
1154
"\\BbbQ" {yylval = wims_mathml_copy_string("&#x211A;"); return MI;}
1155
"\\mscrR" {yylval = wims_mathml_copy_string("&#x211B;"); return MI;}
1156
"\\BbbR" {yylval = wims_mathml_copy_string("&#x211D;"); return MI;}
1157
"\\BbbZ" {yylval = wims_mathml_copy_string("&#x2124;"); return MI;}
1158
"\\mfrakZ" {yylval = wims_mathml_copy_string("&#x2128;"); return MI;}
1159
"\\turnediota" {yylval = wims_mathml_copy_string("&#x2129;"); return MI;}
1160
"\\Angstrom" {yylval = wims_mathml_copy_string("&#x212B;"); return MI;}
1161
"\\mscrB" {yylval = wims_mathml_copy_string("&#x212C;"); return MI;}
1162
"\\mfrakC" {yylval = wims_mathml_copy_string("&#x212D;"); return MI;}
1163
"\\mscre" {yylval = wims_mathml_copy_string("&#x212F;"); return MI;}
1164
"\\mscrE" {yylval = wims_mathml_copy_string("&#x2130;"); return MI;}
1165
"\\mscrF" {yylval = wims_mathml_copy_string("&#x2131;"); return MI;}
1166
"\\Finv" {yylval = wims_mathml_copy_string("&#x2132;"); return MI;}
1167
"\\mscrM" {yylval = wims_mathml_copy_string("&#x2133;"); return MI;}
1168
"\\mscro" {yylval = wims_mathml_copy_string("&#x2134;"); return MI;}
1169
"\\gimel" {yylval = wims_mathml_copy_string("&#x2137;"); return MI;}
1170
"\\daleth" {yylval = wims_mathml_copy_string("&#x2138;"); return MI;}
1171
"\\Bbbpi" {yylval = wims_mathml_copy_string("&#x213C;"); return MI;}
1172
"\\Bbbgamma" {yylval = wims_mathml_copy_string("&#x213D;"); return MI;}
1173
"\\BbbGamma" {yylval = wims_mathml_copy_string("&#x213E;"); return MI;}
1174
"\\BbbPi" {yylval = wims_mathml_copy_string("&#x213F;"); return MI;}
1175
"\\Bbbsum" {yylval = wims_mathml_copy_string("&#x2140;"); return MI;}
1176
"\\Game" {yylval = wims_mathml_copy_string("&#x2141;"); return MI;}
1177
"\\sansLturned" {yylval = wims_mathml_copy_string("&#x2142;"); return MI;}
1178
"\\sansLmirrored" {yylval = wims_mathml_copy_string("&#x2143;"); return MI;}
1179
"\\Yup" {yylval = wims_mathml_copy_string("&#x2144;"); return MI;}
1180
"\\mitBbbD" {yylval = wims_mathml_copy_string("&#x2145;"); return MI;}
1181
"\\mitBbbd" {yylval = wims_mathml_copy_string("&#x2146;"); return MI;}
1182
"\\mitBbbe" {yylval = wims_mathml_copy_string("&#x2147;"); return MI;}
1183
"\\mitBbbi" {yylval = wims_mathml_copy_string("&#x2148;"); return MI;}
1184
"\\mitBbbj" {yylval = wims_mathml_copy_string("&#x2149;"); return MI;}
1185
"\\PropertyLine" {yylval = wims_mathml_copy_string("&#x214A;"); return MI;}
1186
"\\upand" {yylval = wims_mathml_copy_string("&#x214B;"); return MI;}
1187
"\\leftwavearrow" {yylval = wims_mathml_copy_string("&#x219C;"); return MO;}
1188
"\\rightwavearrow" {yylval = wims_mathml_copy_string("&#x219D;"); return MO;}
1189
"\\twoheaduparrow" {yylval = wims_mathml_copy_string("&#x219F;"); return MO;}
1190
"\\twoheaddownarrow" {yylval = wims_mathml_copy_string("&#x21A1;"); return MO;}
1191
"\\mapsfrom" {yylval = wims_mathml_copy_string("&#x21A4;"); return MO;}
1192
"\\mapsup" {yylval = wims_mathml_copy_string("&#x21A5;"); return MO;}
1193
"\\mapsdown" {yylval = wims_mathml_copy_string("&#x21A7;"); return MO;}
1194
"\\updownarrowbar" {yylval = wims_mathml_copy_string("&#x21A8;"); return MO;}
1195
"\\Ldsh" {yylval = wims_mathml_copy_string("&#x21B2;"); return MO;}
1196
"\\Rdsh" {yylval = wims_mathml_copy_string("&#x21B3;"); return MO;}
1197
"\\linefeed" {yylval = wims_mathml_copy_string("&#x21B4;"); return MI;}
1198
"\\carriagereturn" {yylval = wims_mathml_copy_string("&#x21B5;"); return MI;}
1199
"\\barovernorthwestarrow" {yylval = wims_mathml_copy_string("&#x21B8;"); return MI;}
1200
"\\barleftarrowrightarrow" {yylval = wims_mathml_copy_string("&#x21B9;"); return MI;}
1201
"\\acwopencirclearrow" {yylval = wims_mathml_copy_string("&#x21BA;"); return MO;}
1202
"\\cwopencirclearrow" {yylval = wims_mathml_copy_string("&#x21BB;"); return MO;}
1203
"\\leftharpoondown" {yylval = wims_mathml_copy_string("&#x21BD;"); return MO;}
1204
"\\rightharpoonup" {yylval = wims_mathml_copy_string("&#x21C0;"); return MO;}
1205
"\\rightharpoondown" {yylval = wims_mathml_copy_string("&#x21C1;"); return MO;}
1206
"\\updownarrows" {yylval = wims_mathml_copy_string("&#x21C5;"); return MO;}
1207
"\\Nwarrow" {yylval = wims_mathml_copy_string("&#x21D6;"); return MO;}
1208
"\\Nearrow" {yylval = wims_mathml_copy_string("&#x21D7;"); return MO;}
1209
"\\Searrow" {yylval = wims_mathml_copy_string("&#x21D8;"); return MO;}
1210
"\\Swarrow" {yylval = wims_mathml_copy_string("&#x21D9;"); return MO;}
1211
"\\nHuparrow" {yylval = wims_mathml_copy_string("&#x21DE;"); return MO;}
1212
"\\nHdownarrow" {yylval = wims_mathml_copy_string("&#x21DF;"); return MO;}
1213
"\\leftdasharrow" {yylval = wims_mathml_copy_string("&#x21E0;"); return MO;}
1214
"\\updasharrow" {yylval = wims_mathml_copy_string("&#x21E1;"); return MO;}
1215
"\\rightdasharrow" {yylval = wims_mathml_copy_string("&#x21E2;"); return MO;}
1216
"\\downdasharrow" {yylval = wims_mathml_copy_string("&#x21E3;"); return MO;}
1217
"\\barleftarrow" {yylval = wims_mathml_copy_string("&#x21E4;"); return MO;}
1218
"\\rightarrowbar" {yylval = wims_mathml_copy_string("&#x21E5;"); return MO;}
1219
"\\leftwhitearrow" {yylval = wims_mathml_copy_string("&#x21E6;"); return MO;}
1220
"\\upwhitearrow" {yylval = wims_mathml_copy_string("&#x21E7;"); return MO;}
1221
"\\rightwhitearrow" {yylval = wims_mathml_copy_string("&#x21E8;"); return MO;}
1222
"\\downwhitearrow" {yylval = wims_mathml_copy_string("&#x21E9;"); return MO;}
1223
"\\whitearrowupfrombar" {yylval = wims_mathml_copy_string("&#x21EA;"); return MI;}
1224
"\\circleonrightarrow" {yylval = wims_mathml_copy_string("&#x21F4;"); return MO;}
1225
"\\downuparrows" {yylval = wims_mathml_copy_string("&#x21F5;"); return MO;}
1226
"\\rightthreearrows" {yylval = wims_mathml_copy_string("&#x21F6;"); return MO;}
1227
"\\nvleftarrow" {yylval = wims_mathml_copy_string("&#x21F7;"); return MO;}
1228
"\\nvrightarrow" {yylval = wims_mathml_copy_string("&#x21F8;"); return MO;}
1229
"\\nvleftrightarrow" {yylval = wims_mathml_copy_string("&#x21F9;"); return MO;}
1230
"\\nVleftarrow" {yylval = wims_mathml_copy_string("&#x21FA;"); return MO;}
1231
"\\nVrightarrow" {yylval = wims_mathml_copy_string("&#x21FB;"); return MO;}
1232
"\\nVleftrightarrow" {yylval = wims_mathml_copy_string("&#x21FC;"); return MO;}
1233
"\\leftarrowtriangle" {yylval = wims_mathml_copy_string("&#x21FD;"); return MO;}
1234
"\\rightarrowtriangle" {yylval = wims_mathml_copy_string("&#x21FE;"); return MO;}
1235
"\\leftrightarrowtriangle" {yylval = wims_mathml_copy_string("&#x21FF;"); return MO;}
1236
"\\complement" {yylval = wims_mathml_copy_string("&#x2201;"); return MO;}
1237
"\\increment" {yylval = wims_mathml_copy_string("&#x2206;"); return MO;}
1238
"\\smallin" {yylval = wims_mathml_copy_string("&#x220A;"); return MO;}
1239
"\\nni" {yylval = wims_mathml_copy_string("&#x220C;"); return MO;}
1240
"\\smallni" {yylval = wims_mathml_copy_string("&#x220D;"); return MO;}
1241
"\\QED" {yylval = wims_mathml_copy_string("&#x220E;"); return MI;}
1242
"\\minus" {yylval = wims_mathml_copy_string("&#x2212;"); return MO;}
1243
"\\divslash" {yylval = wims_mathml_copy_string("&#x2215;"); return MO;}
1244
"\\vysmwhtcircle" {yylval = wims_mathml_copy_string("&#x2218;"); return MO;}
1245
"\\vysmblkcircle" {yylval = wims_mathml_copy_string("&#x2219;"); return MO;}
1246
"\\cuberoot" {yylval = wims_mathml_copy_string("&#x221B;"); return MI;}
1247
"\\rightangle" {yylval = wims_mathml_copy_string("&#x221F;"); return MI;}
1248
"\\intclockwise" {yylval = wims_mathml_copy_string("&#x2231;"); return MI;}
1249
"\\mathratio" {yylval = wims_mathml_copy_string("&#x2236;"); return MO;}
1250
"\\Colon" {yylval = wims_mathml_copy_string("&#x2237;"); return MO;}
1251
"\\dotminus" {yylval = wims_mathml_copy_string("&#x2238;"); return MO;}
1252
"\\dashcolon" {yylval = wims_mathml_copy_string("&#x2239;"); return MO;}
1253
"\\dotsminusdots" {yylval = wims_mathml_copy_string("&#x223A;"); return MO;}
1254
"\\kernelcontraction" {yylval = wims_mathml_copy_string("&#x223B;"); return MO;}
1255
"\\invlazys" {yylval = wims_mathml_copy_string("&#x223E;"); return MO;}
1256
"\\sinewave" {yylval = wims_mathml_copy_string("&#x223F;"); return MI;}
1257
"\\eqsim" {yylval = wims_mathml_copy_string("&#x2242;"); return MO;}
1258
"\\nsime" {yylval = wims_mathml_copy_string("&#x2244;"); return MO;}
1259
"\\simneqq" {yylval = wims_mathml_copy_string("&#x2246;"); return MO;}
1260
"\\napprox" {yylval = wims_mathml_copy_string("&#x2249;"); return MO;}
1261
"\\approxident" {yylval = wims_mathml_copy_string("&#x224B;"); return MO;}
1262
"\\backcong" {yylval = wims_mathml_copy_string("&#x224C;"); return MO;}
1263
"\\Doteq" {yylval = wims_mathml_copy_string("&#x2251;"); return MO;}
1264
"\\arceq" {yylval = wims_mathml_copy_string("&#x2258;"); return MO;}
1265
"\\wedgeq" {yylval = wims_mathml_copy_string("&#x2259;"); return MO;}
1266
"\\veeeq" {yylval = wims_mathml_copy_string("&#x225A;"); return MO;}
1267
"\\stareq" {yylval = wims_mathml_copy_string("&#x225B;"); return MO;}
1268
"\\eqdef" {yylval = wims_mathml_copy_string("&#x225D;"); return MO;}
1269
"\\measeq" {yylval = wims_mathml_copy_string("&#x225E;"); return MO;}
1270
"\\questeq" {yylval = wims_mathml_copy_string("&#x225F;"); return MO;}
1271
"\\Equiv" {yylval = wims_mathml_copy_string("&#x2263;"); return MO;}
1272
"\\nlessgtr" {yylval = wims_mathml_copy_string("&#x2278;"); return MO;}
1273
"\\ngtrless" {yylval = wims_mathml_copy_string("&#x2279;"); return MO;}
1274
"\\cupleftarrow" {yylval = wims_mathml_copy_string("&#x228C;"); return MO;}
1275
"\\cupdot" {yylval = wims_mathml_copy_string("&#x228D;"); return MO;}
1276
"\\circledequal" {yylval = wims_mathml_copy_string("&#x229C;"); return MO;}
1277
"\\assert" {yylval = wims_mathml_copy_string("&#x22A6;"); return MO;}
1278
"\\nVdash" {yylval = wims_mathml_copy_string("&#x22AE;"); return MO;}
1279
"\\prurel" {yylval = wims_mathml_copy_string("&#x22B0;"); return MO;}
1280
"\\scurel" {yylval = wims_mathml_copy_string("&#x22B1;"); return MO;}
1281
"\\origof" {yylval = wims_mathml_copy_string("&#x22B6;"); return MO;}
1282
"\\imageof" {yylval = wims_mathml_copy_string("&#x22B7;"); return MO;}
1283
"\\hermitmatrix" {yylval = wims_mathml_copy_string("&#x22B9;"); return MO;}
1284
"\\barvee" {yylval = wims_mathml_copy_string("&#x22BD;"); return MO;}
1285
"\\measuredrightangle" {yylval = wims_mathml_copy_string("&#x22BE;"); return MI;}
1286
"\\varlrtriangle" {yylval = wims_mathml_copy_string("&#x22BF;"); return MI;}
1287
"\\smwhtdiamond" {yylval = wims_mathml_copy_string("&#x22C4;"); return MO;}
1288
"\\eqless" {yylval = wims_mathml_copy_string("&#x22DC;"); return MO;}
1289
"\\eqgtr" {yylval = wims_mathml_copy_string("&#x22DD;"); return MO;}
1290
"\\npreccurlyeq" {yylval = wims_mathml_copy_string("&#x22E0;"); return MO;}
1291
"\\nsucccurlyeq" {yylval = wims_mathml_copy_string("&#x22E1;"); return MO;}
1292
"\\nsqsubseteq" {yylval = wims_mathml_copy_string("&#x22E2;"); return MO;}
1293
"\\nsqsupseteq" {yylval = wims_mathml_copy_string("&#x22E3;"); return MO;}
1294
"\\sqsubsetneq" {yylval = wims_mathml_copy_string("&#x22E4;"); return MO;}
1295
"\\sqsupsetneq" {yylval = wims_mathml_copy_string("&#x22E5;"); return MO;}
1296
"\\unicodecdots" {yylval = wims_mathml_copy_string("&#x22EF;"); return MO;}
1297
"\\adots" {yylval = wims_mathml_copy_string("&#x22F0;"); return MO;}
1298
"\\disin" {yylval = wims_mathml_copy_string("&#x22F2;"); return MO;}
1299
"\\longdivision" {yylval = wims_mathml_copy_string("&#x27CC;"); return MI;}
1300
"\\leftouterjoin" {yylval = wims_mathml_copy_string("&#x27D5;"); return MI;}
1301
"\\rightouterjoin" {yylval = wims_mathml_copy_string("&#x27D6;"); return MI;}
1302
"\\fullouterjoin" {yylval = wims_mathml_copy_string("&#x27D7;"); return MI;}
1303
"\\lBrack" {yylval = wims_mathml_copy_string("&#x27E6;"); return LEFTDELIM;}
1304
"\\rBrack" {yylval = wims_mathml_copy_string("&#x27E7;"); return RIGHTDELIM;}
1305
"\\lAngle" {yylval = wims_mathml_copy_string("&#x27EA;"); return LEFTDELIM;}
1306
"\\rAngle" {yylval = wims_mathml_copy_string("&#x27EB;"); return RIGHTDELIM;}
1307
"\\longrightsquigarrow" {yylval = wims_mathml_copy_string("&#x27FF;");return MOL;}
1308
"\\nvtwoheadrightarrow" {yylval = wims_mathml_copy_string("&#x2900;");return MOL;}
1309
"\\nVtwoheadrightarrow" {yylval = wims_mathml_copy_string("&#x2901;");return MOL;}
1310
"\\nvLeftarrow" {yylval = wims_mathml_copy_string("&#x2902;");return MOL;}
1311
"\\nvRightarrow" {yylval = wims_mathml_copy_string("&#x2903;");return MOL;}
1312
"\\nvLeftrightarrow" {yylval = wims_mathml_copy_string("&#x2904;");return MOL;}
1313
"\\twoheadmapsto" {yylval = wims_mathml_copy_string("&#x2905;");return MOL;}
1314
"\\Mapsfrom" {yylval = wims_mathml_copy_string("&#x2906;");return MOL;}
1315
"\\rightdotarrow" {yylval = wims_mathml_copy_string("&#x2911;");return MOL;}
1316
"\\baruparrow" {yylval = wims_mathml_copy_string("&#x2912;");return MOL;}
1317
"\\downarrowbar" {yylval = wims_mathml_copy_string("&#x2913;");return MOL;}
1318
"\\nvrightarrowtail" {yylval = wims_mathml_copy_string("&#x2914;");return MOL;}
1319
"\\nVrightarrowtail" {yylval = wims_mathml_copy_string("&#x2915;");return MOL;}
1320
"\\twoheadrightarrowtail" {yylval = wims_mathml_copy_string("&#x2916;");return MOL;}
1321
"\\nvtwoheadrightarrowtail" {yylval = wims_mathml_copy_string("&#x2917;");return MOL;}
1322
"\\nVtwoheadrightarrowtail" {yylval = wims_mathml_copy_string("&#x2918;");return MOL;}
1323
"\\lefttail" {yylval = wims_mathml_copy_string("&#x2919;");return MOL;}
1324
"\\righttail" {yylval = wims_mathml_copy_string("&#x291A;");return MOL;}
1325
"\\leftdbltail" {yylval = wims_mathml_copy_string("&#x291B;");return MOL;}
1326
"\\rightdbltail" {yylval = wims_mathml_copy_string("&#x291C;");return MOL;}
1327
"\\diamondleftarrow" {yylval = wims_mathml_copy_string("&#x291D;");return MOL;}
1328
"\\rightarrowdiamond" {yylval = wims_mathml_copy_string("&#x291E;");return MOL;}
1329
"\\diamondleftarrowbar" {yylval = wims_mathml_copy_string("&#x291F;");return MOL;}
1330
"\\barrightarrowdiamond" {yylval = wims_mathml_copy_string("&#x2920;");return MOL;}
1331
"\\nwsearrow" {yylval = wims_mathml_copy_string("&#x2921;");return MOL;}
1332
"\\neswarrow" {yylval = wims_mathml_copy_string("&#x2922;");return MOL;}
1333
"\\hknwarrow" {yylval = wims_mathml_copy_string("&#x2923;");return MOL;}
1334
"\\hknearrow" {yylval = wims_mathml_copy_string("&#x2924;");return MOL;}
1335
"\\hksearow" {yylval = wims_mathml_copy_string("&#x2925;");return MOL;}
1336
"\\hkswarow" {yylval = wims_mathml_copy_string("&#x2926;");return MOL;}
1337
"\\tona" {yylval = wims_mathml_copy_string("&#x2927;");return MOL;}
1338
"\\toea" {yylval = wims_mathml_copy_string("&#x2928;");return MOL;}
1339
"\\tosa" {yylval = wims_mathml_copy_string("&#x2929;");return MOL;}
1340
"\\towa" {yylval = wims_mathml_copy_string("&#x292A;");return MOL;}
1341
"\\rdiagovfdiag" {yylval = wims_mathml_copy_string("&#x292B;");return MOL;}
1342
"\\fdiagovrdiag" {yylval = wims_mathml_copy_string("&#x292C;");return MOL;}
1343
"\\seovnearrow" {yylval = wims_mathml_copy_string("&#x292D;");return MOL;}
1344
"\\neovsearrow" {yylval = wims_mathml_copy_string("&#x292E;");return MOL;}
1345
"\\fdiagovnearrow" {yylval = wims_mathml_copy_string("&#x292F;");return MOL;}
1346
"\\rdiagovsearrow" {yylval = wims_mathml_copy_string("&#x2930;");return MOL;}
1347
"\\neovnwarrow" {yylval = wims_mathml_copy_string("&#x2931;");return MOL;}
1348
"\\nwovnearrow" {yylval = wims_mathml_copy_string("&#x2932;");return MOL;}
1349
"\\rightcurvedarrow" {yylval = wims_mathml_copy_string("&#x2933;");return MOL;}
1350
"\\uprightcurvearrow" {yylval = wims_mathml_copy_string("&#x2934;");return MOL;}
1351
"\\downrightcurvedarrow" {yylval = wims_mathml_copy_string("&#x2935;");return MOL;}
1352
"\\leftdowncurvedarrow" {yylval = wims_mathml_copy_string("&#x2936;");return MOL;}
1353
"\\rightdowncurvedarrow" {yylval = wims_mathml_copy_string("&#x2937;");return MOL;}
1354
"\\cwrightarcarrow" {yylval = wims_mathml_copy_string("&#x2938;");return MOL;}
1355
"\\acwleftarcarrow" {yylval = wims_mathml_copy_string("&#x2939;");return MOL;}
1356
"\\acwoverarcarrow" {yylval = wims_mathml_copy_string("&#x293A;");return MOL;}
1357
"\\acwunderarcarrow" {yylval = wims_mathml_copy_string("&#x293B;");return MOL;}
1358
"\\curvearrowrightminus" {yylval = wims_mathml_copy_string("&#x293C;");return MOL;}
1359
"\\curvearrowleftplus" {yylval = wims_mathml_copy_string("&#x293D;");return MOL;}
1360
"\\cwundercurvearrow" {yylval = wims_mathml_copy_string("&#x293E;");return MOL;}
1361
"\\ccwundercurvearrow" {yylval = wims_mathml_copy_string("&#x293F;");return MOL;}
1362
"\\acwcirclearrow" {yylval = wims_mathml_copy_string("&#x2940;");return MOL;}
1363
"\\cwcirclearrow" {yylval = wims_mathml_copy_string("&#x2941;");return MOL;}
1364
"\\rightarrowshortleftarrow" {yylval = wims_mathml_copy_string("&#x2942;");return MOL;}
1365
"\\leftarrowshortrightarrow" {yylval = wims_mathml_copy_string("&#x2943;");return MOL;}
1366
"\\shortrightarrowleftarrow" {yylval = wims_mathml_copy_string("&#x2944;");return MOL;}
1367
"\\rightarrowplus" {yylval = wims_mathml_copy_string("&#x2945;");return MOL;}
1368
"\\leftarrowplus" {yylval = wims_mathml_copy_string("&#x2946;");return MOL;}
1369
"\\rightarrowx" {yylval = wims_mathml_copy_string("&#x2947;");return MOL;}
1370
"\\leftrightarrowcircle" {yylval = wims_mathml_copy_string("&#x2948;");return MOL;}
1371
"\\twoheaduparrowcircle" {yylval = wims_mathml_copy_string("&#x2949;");return MOL;}
1372
"\\leftrightharpoonupdown" {yylval = wims_mathml_copy_string("&#x294A;");return MOL;}
1373
"\\leftrightharpoondownup" {yylval = wims_mathml_copy_string("&#x294B;");return MOL;}
1374
"\\updownharpoonrightleft" {yylval = wims_mathml_copy_string("&#x294C;");return MOL;}
1375
"\\updownharpoonleftright" {yylval = wims_mathml_copy_string("&#x294D;");return MOL;}
1376
"\\leftrightharpoonupup" {yylval = wims_mathml_copy_string("&#x294E;");return MOL;}
1377
"\\updownharpoonrightright" {yylval = wims_mathml_copy_string("&#x294F;");return MOL;}
1378
"\\leftrightharpoondowndown" {yylval = wims_mathml_copy_string("&#x2950;");return MOL;}
1379
"\\updownharpoonleftleft" {yylval = wims_mathml_copy_string("&#x2951;");return MOL;}
1380
"\\barleftharpoonup" {yylval = wims_mathml_copy_string("&#x2952;");return MOL;}
1381
"\\rightharpoonupbar" {yylval = wims_mathml_copy_string("&#x2953;");return MOL;}
1382
"\\barupharpoonright" {yylval = wims_mathml_copy_string("&#x2954;");return MOL;}
1383
"\\lParen" {yylval = wims_mathml_copy_string("&#x2985;"); return LEFTDELIM;}
1384
"\\rParen" {yylval = wims_mathml_copy_string("&#x2986;"); return RIGHTDELIM;}
1385
"\\llparenthesis" {yylval = wims_mathml_copy_string("&#x2987;"); return LEFTDELIM;}
1386
"\\rrparenthesis" {yylval = wims_mathml_copy_string("&#x2988;"); return RIGHTDELIM;}
1387
"\\llangle" {yylval = wims_mathml_copy_string("&#x2989;"); return LEFTDELIM;}
1388
"\\rrangle" {yylval = wims_mathml_copy_string("&#x298A;"); return RIGHTDELIM;}
1389
"\\lbrackubar" {yylval = wims_mathml_copy_string("&#x298B;"); return LEFTDELIM;}
1390
"\\rbrackubar" {yylval = wims_mathml_copy_string("&#x298C;"); return RIGHTDELIM;}
1391
"\\lbrackultick" {yylval = wims_mathml_copy_string("&#x298D;"); return LEFTDELIM;}
1392
"\\rbracklrtick" {yylval = wims_mathml_copy_string("&#x298E;"); return RIGHTDELIM;}
1393
"\\lbracklltick" {yylval = wims_mathml_copy_string("&#x298F;"); return LEFTDELIM;}
1394
"\\rbrackurtick" {yylval = wims_mathml_copy_string("&#x2990;"); return RIGHTDELIM;}
1395
"\\langledot" {yylval = wims_mathml_copy_string("&#x2991;"); return LEFTDELIM;}
1396
"\\rangledot" {yylval = wims_mathml_copy_string("&#x2992;"); return RIGHTDELIM;}
1397
"\\lparenless" {yylval = wims_mathml_copy_string("&#x2993;"); return LEFTDELIM;}
1398
"\\rparengtr" {yylval = wims_mathml_copy_string("&#x2994;"); return RIGHTDELIM;}
1399
"\\Lparengtr" {yylval = wims_mathml_copy_string("&#x2995;"); return LEFTDELIM;}
1400
"\\Rparenless" {yylval = wims_mathml_copy_string("&#x2996;"); return RIGHTDELIM;}
1401
"\\lblkbrbrak" {yylval = wims_mathml_copy_string("&#x2997;"); return LEFTDELIM;}
1402
"\\rblkbrbrak" {yylval = wims_mathml_copy_string("&#x2998;"); return RIGHTDELIM;}
1403
"\\fourvdots" {yylval = wims_mathml_copy_string("&#x2999;"); return OTHERDELIM;}
1404
"\\vzigzag" {yylval = wims_mathml_copy_string("&#x299A;"); return OTHERDELIM;}
1405
"\\measuredangleleft" {yylval = wims_mathml_copy_string("&#x299B;"); return MI;}
1406
"\\rightanglesqr" {yylval = wims_mathml_copy_string("&#x299C;"); return MI;}
1407
"\\rightanglemdot" {yylval = wims_mathml_copy_string("&#x299D;"); return MI;}
1408
"\\angles" {yylval = wims_mathml_copy_string("&#x299E;"); return MI;}
1409
"\\angdnr" {yylval = wims_mathml_copy_string("&#x299F;"); return MI;}
1410
"\\gtlpar" {yylval = wims_mathml_copy_string("&#x29A0;"); return MI;}
1411
"\\sphericalangleup" {yylval = wims_mathml_copy_string("&#x29A1;"); return MI;}
1412
"\\turnangle" {yylval = wims_mathml_copy_string("&#x29A2;"); return MI;}
1413
"\\revangle" {yylval = wims_mathml_copy_string("&#x29A3;"); return MI;}
1414
"\\angleubar" {yylval = wims_mathml_copy_string("&#x29A4;"); return MI;}
1415
"\\revangleubar" {yylval = wims_mathml_copy_string("&#x29A5;"); return MI;}
1416
"\\wideangledown" {yylval = wims_mathml_copy_string("&#x29A6;"); return MI;}
1417
"\\wideangleup" {yylval = wims_mathml_copy_string("&#x29A7;"); return MI;}
1418
"\\measanglerutone" {yylval = wims_mathml_copy_string("&#x29A8;"); return MI;}
1419
"\\measanglelutonw" {yylval = wims_mathml_copy_string("&#x29A9;"); return MI;}
1420
"\\measanglerdtose" {yylval = wims_mathml_copy_string("&#x29AA;"); return MI;}
1421
"\\measangleldtosw" {yylval = wims_mathml_copy_string("&#x29AB;"); return MI;}
1422
"\\measangleurtone" {yylval = wims_mathml_copy_string("&#x29AC;"); return MI;}
1423
"\\measangleultonw" {yylval = wims_mathml_copy_string("&#x29AD;"); return MI;}
1424
"\\measangledrtose" {yylval = wims_mathml_copy_string("&#x29AE;"); return MI;}
1425
"\\measangledltosw" {yylval = wims_mathml_copy_string("&#x29AF;"); return MI;}
1426
"\\revemptyset" {yylval = wims_mathml_copy_string("&#x29B0;"); return MI;}
1427
"\\emptysetobar" {yylval = wims_mathml_copy_string("&#x29B1;"); return MI;}
1428
"\\emptysetocirc" {yylval = wims_mathml_copy_string("&#x29B2;"); return MI;}
1429
"\\emptysetoarr" {yylval = wims_mathml_copy_string("&#x29B3;"); return MI;}
1430
"\\emptysetoarrl" {yylval = wims_mathml_copy_string("&#x29B4;"); return MI;}
1431
"\\circlehbar" {yylval = wims_mathml_copy_string("&#x29B5;"); return MI;}
1432
"\\circledvert" {yylval = wims_mathml_copy_string("&#x29B6;"); return MO;}
1433
"\\circledparallel" {yylval = wims_mathml_copy_string("&#x29B7;"); return MO;}
1434
"\\obslash" {yylval = wims_mathml_copy_string("&#x29B8;"); return MO;}
1435
"\\operp" {yylval = wims_mathml_copy_string("&#x29B9;"); return MO;}
1436
"\\obot" {yylval = wims_mathml_copy_string("&#x29BA;"); return MI;}
1437
"\\olcross" {yylval = wims_mathml_copy_string("&#x29BB;"); return MI;}
1438
"\\odotslashdot" {yylval = wims_mathml_copy_string("&#x29BC;"); return MI;}
1439
"\\uparrowoncircle" {yylval = wims_mathml_copy_string("&#x29BD;"); return MI;}
1440
"\\circledwhitebullet" {yylval = wims_mathml_copy_string("&#x29BE;"); return MI;}
1441
"\\circledbullet" {yylval = wims_mathml_copy_string("&#x29BF;"); return MI;}
1442
"\\olessthan" {yylval = wims_mathml_copy_string("&#x29C0;"); return MO;}
1443
"\\ogreaterthan" {yylval = wims_mathml_copy_string("&#x29C1;"); return MO;}
1444
"\\cirscir" {yylval = wims_mathml_copy_string("&#x29C2;"); return MI;}
1445
"\\cirE" {yylval = wims_mathml_copy_string("&#x29C3;"); return MI;}
1446
"\\boxdiag" {yylval = wims_mathml_copy_string("&#x29C4;"); return MO;}
1447
"\\boxbslash" {yylval = wims_mathml_copy_string("&#x29C5;"); return MO;}
1448
"\\boxast" {yylval = wims_mathml_copy_string("&#x29C6;"); return MO;}
1449
"\\boxcircle" {yylval = wims_mathml_copy_string("&#x29C7;"); return MO;}
1450
"\\boxbox" {yylval = wims_mathml_copy_string("&#x29C8;"); return MO;}
1451
"\\boxonbox" {yylval = wims_mathml_copy_string("&#x29C9;"); return MI;}
1452
"\\triangleodot" {yylval = wims_mathml_copy_string("&#x29CA;"); return MI;}
1453
"\\triangleubar" {yylval = wims_mathml_copy_string("&#x29CB;"); return MI;}
1454
"\\triangles" {yylval = wims_mathml_copy_string("&#x29CC;"); return MI;}
1455
"\\triangleserifs" {yylval = wims_mathml_copy_string("&#x29CD;"); return MI;}
1456
"\\rtriltri" {yylval = wims_mathml_copy_string("&#x29CE;"); return MOL;}
1457
"\\ltrivb" {yylval = wims_mathml_copy_string("&#x29CF;"); return MOL;}
1458
"\\vbrtri" {yylval = wims_mathml_copy_string("&#x29D0;"); return MOL;}
1459
"\\lfbowtie" {yylval = wims_mathml_copy_string("&#x29D1;"); return MOL;}
1460
"\\rfbowtie" {yylval = wims_mathml_copy_string("&#x29D2;"); return MOL;}
1461
"\\fbowtie" {yylval = wims_mathml_copy_string("&#x29D3;"); return MOL;}
1462
"\\lftimes" {yylval = wims_mathml_copy_string("&#x29D4;"); return MOL;}
1463
"\\rftimes" {yylval = wims_mathml_copy_string("&#x29D5;"); return MOL;}
1464
"\\hourglass" {yylval = wims_mathml_copy_string("&#x29D6;"); return MO;}
1465
"\\blackhourglass" {yylval = wims_mathml_copy_string("&#x29D7;"); return MO;}
1466
"\\lvzigzag" {yylval = wims_mathml_copy_string("&#x29D8;"); return LEFTDELIM;}
1467
"\\rvzigzag" {yylval = wims_mathml_copy_string("&#x29D9;"); return RIGHTDELIM;}
1468
"\\Lvzigzag" {yylval = wims_mathml_copy_string("&#x29DA;"); return LEFTDELIM;}
1469
"\\Rvzigzag" {yylval = wims_mathml_copy_string("&#x29DB;"); return RIGHTDELIM;}
1470
"\\iinfin" {yylval = wims_mathml_copy_string("&#x29DC;"); return MI;}
1471
"\\tieinfty" {yylval = wims_mathml_copy_string("&#x29DD;"); return MI;}
1472
"\\nvinfty" {yylval = wims_mathml_copy_string("&#x29DE;"); return MI;}
1473
"\\dualmap" {yylval = wims_mathml_copy_string("&#x29DF;"); return MOL;}
1474
"\\laplac" {yylval = wims_mathml_copy_string("&#x29E0;"); return MI;}
1475
"\\lrtriangleeq" {yylval = wims_mathml_copy_string("&#x29E1;"); return MOL;}
1476
"\\shuffle" {yylval = wims_mathml_copy_string("&#x29E2;"); return MO;}
1477
"\\eparsl" {yylval = wims_mathml_copy_string("&#x29E3;"); return MOL;}
1478
"\\smeparsl" {yylval = wims_mathml_copy_string("&#x29E4;"); return MOL;}
1479
"\\eqvparsl" {yylval = wims_mathml_copy_string("&#x29E5;"); return MOL;}
1480
"\\gleichstark" {yylval = wims_mathml_copy_string("&#x29E6;"); return MOL;}
1481
"\\thermod" {yylval = wims_mathml_copy_string("&#x29E7;"); return MI;}
1482
"\\downtriangleleftblack" {yylval = wims_mathml_copy_string("&#x29E8;"); return MI;}
1483
"\\downtrianglerightblack" {yylval = wims_mathml_copy_string("&#x29E9;"); return MI;}
1484
"\\blackdiamonddownarrow" {yylval = wims_mathml_copy_string("&#x29EA;"); return MI;}
1485
"\\mdlgblklozenge" {yylval = wims_mathml_copy_string("&#x29EB;"); return MO;}
1486
"\\circledownarrow" {yylval = wims_mathml_copy_string("&#x29EC;"); return MI;}
1487
"\\blackcircledownarrow" {yylval = wims_mathml_copy_string("&#x29ED;"); return MI;}
1488
"\\errbarsquare" {yylval = wims_mathml_copy_string("&#x29EE;"); return MI;}
1489
"\\errbarblacksquare" {yylval = wims_mathml_copy_string("&#x29EF;"); return MI;}
1490
"\\errbardiamond" {yylval = wims_mathml_copy_string("&#x29F0;"); return MI;}
1491
"\\errbarblackdiamond" {yylval = wims_mathml_copy_string("&#x29F1;"); return MI;}
1492
"\\errbarcircle" {yylval = wims_mathml_copy_string("&#x29F2;"); return MI;}
1493
"\\errbarblackcircle" {yylval = wims_mathml_copy_string("&#x29F3;"); return MI;}
1494
"\\ruledelayed" {yylval = wims_mathml_copy_string("&#x29F4;"); return MOL;}
1495
"\\dsol" {yylval = wims_mathml_copy_string("&#x29F6;"); return MO;}
1496
"\\rsolbar" {yylval = wims_mathml_copy_string("&#x29F7;"); return MO;}
1497
"\\xsol" {yylval = wims_mathml_copy_string("&#x29F8;"); return MI;}
1498
"\\xbsol" {yylval = wims_mathml_copy_string("&#x29F9;"); return MI;}
1499
"\\handleft" {yylval=wims_mathml_copy_string("&#x261C;"); return MI;}
1500
"\\handright" {yylval=wims_mathml_copy_string("&#x261E;"); return MI;}
1501
"\\handup" {yylval=wims_mathml_copy_string("&#x261D;"); return MI;}
1502
"\\handdown" {yylval=wims_mathml_copy_string("&#x261F;"); return MI;}
1503
"\\OK" {yylval=wims_mathml_copy_string("&#x2611;"); return MI;}
1504
"\\NOK" {yylval=wims_mathml_copy_string("&#x2612;"); return MI;}
1505
"\\poison" {yylval=wims_mathml_copy_string("&#x2620;"); return MI;}
1506
"\\blitz" {yylval=wims_mathml_copy_string("&#x26A1;"); return MI;}
1507
"\\attention" {yylval=wims_mathml_copy_string("&#x26A0;"); return MI;}
1508
"\\nsmile" {yylval=wims_mathml_copy_string("&#x2639;"); return MI;}
1509
"\\vvvert" {yylval=wims_mathml_copy_string("&#x2AFC;"); return OTHERDELIM;}
5520 bpr 1510
"\\ointclockwise" |
11589 schaersvoo 1511
"\\varointclockwise" {yylval=wims_mathml_copy_string("&#x2A10;"); return MO;}
5520 bpr 1512
"\\ointctrclockwise" |
11589 schaersvoo 1513
"\\varointctrclockwise" {yylval=wims_mathml_copy_string("&#x2A11;"); return MO;}
1514
"\\sqint" {yylval=wims_mathml_copy_string("&#x2A16;"); return MO;}
1515
"\\fint" {yylval=wims_mathml_copy_string("&#x2AOF;"); return MO;}
5520 bpr 1516
"\\diagup"	{yylval=wims_mathml_copy_string("&#x2571;"); return OTHERDELIM;}
1517
"\\diagdown"	{yylval=wims_mathml_copy_string("&#x2572;"); return OTHERDELIM;}
11589 schaersvoo 1518
"\\lmoustache" {yylval = wims_mathml_copy_string("&#x23B0;"); return OTHERDELIM;}
1519
"\\rmoustache" {yylval = wims_mathml_copy_string("&#x23B1;"); return OTHERDELIM;}
5520 bpr 1520
"\\bigint"    |
1521
"\\bigintegral"     {return BIGINT;}
1522
"\\biggint"    |
1523
"\\biggintegral"     {return BIGGINT;}
1524
"\\bigggint"   |
1525
"\\bigggintegral"    {return BIGGGINT;}
8657 schaersvoo 1526
"\\input{"\ {0,5}[0-9]{1,3}\ {0,5}"}{"[0-9]{1,3}\ {0,5}"}{"\ {0,5}[a-z0-9#\ :\-;.*?]{0,250}\ {0,5}"}{"\ {0,5}[a-zA-Z0-9#\ :\-\_\+\=\(\)\[\]\@\~\!\#\$\%\^\&\|\/\,;.*\^\?]{0,250}\ {0,5}"}{"\ {0,3}[0-1]\ {0,3}"}" {yylval=wims_mathml_copy_string(yytext); return INPUT;}
16596 bpr 1527
"\\lewis" {yylval=wims_mathml_copy_string(yytext); return LEWIS;}
5520 bpr 1528
"\\\\ \\\\"          {wims_mathml_rowposn=2; yylval="\\\\ \\: \\\\";return ROWSEP;}
1529
"\\\\"          {wims_mathml_rowposn=2;return ROWSEP;}
1530
"\\tabularnewline"       {wims_mathml_rowposn=2; return ROWSEP;}
11589 schaersvoo 1531
"\\hline"          {yylval=wims_mathml_copy_string(" ");; return MOP; }
5520 bpr 1532
"\\cr"          {wims_mathml_rowposn=2; return ROWSEP;}
1533
"\\ "         {return THICKSPACE;}
1534
"\\lbrack"             {yylval=wims_mathml_copy_string("["); return OTHERDELIM;}
1535
"\\rbrack"             {yylval=wims_mathml_copy_string("]"); return OTHERDELIM;}
1536
"\\RR" {yylval=wims_mathml_copy_string("&Ropf;"); return MI;}
1537
"\\QQ" {yylval=wims_mathml_copy_string("&Qopf;"); return MI;}
1538
"\\CC" {yylval=wims_mathml_copy_string("&Copf;"); return MI;}
1539
"\\ZZ" {yylval=wims_mathml_copy_string("&Zopf;"); return MI;}
1540
"\\NN" {yylval=wims_mathml_copy_string("&Nopf;"); return MI;}
1541
"\\size["[0-9]{1,4}"]" {yylval=wims_mathml_copy_string(yytext+6);int len=strlen(yylval);if (yylval != wims_mathml_empty_string) { yylval[len-1]='%'; wims_mathml_env_start = 1; return TMP_FONTSIZE;}}
5676 bpr 1542
"\\large" { yylval=wims_mathml_copy_string("120%");wims_mathml_env_start = 1; return TMP_FONTSIZE;}
1543
"\\Large" { yylval=wims_mathml_copy_string("140%");wims_mathml_env_start = 1; return TMP_FONTSIZE;}
1544
"\\huge"  { yylval=wims_mathml_copy_string("200%");wims_mathml_env_start = 1; return TMP_FONTSIZE;}
1545
"\\Huge"  { yylval=wims_mathml_copy_string("250%");wims_mathml_env_start = 1; return TMP_FONTSIZE;}
5916 schaersvoo 1546
"\\cline{"\ {0,5}[0-9]{1,3}\ {0,5}-\ {0,5}[0-9]{1,3}\ {0,5}"}"
11708 schaersvoo 1547
"\\'(" {yylval=wims_mathml_copy_string("&grave;("); return MI;}
5676 bpr 1548
"\\includegraphics"(\[[^\]]*\])?\{[^}]*\};
5520 bpr 1549
 
1550
"\\"[a-zA-Z]+    {yylval=wims_mathml_copy_string(yytext+1); return MOP;}
1551
 
1552
"\&"[a-zA-Z_][a-zA-Z0-9_]*";" |
1553
"\&#"[0-9]+";" |
1554
"\&#x"[a-fA-F0-9]+";"  {yylval=wims_mathml_copy_string(yytext); return MI;}
1555
 
1556
"\n"             wims_mathml_lineno++;
1557
[\r\t ]+           ;
1558
 
1559
 
1560
.              {return UNKNOWNCHAR;}
1561
}
1562
 
1563
<ATTRIBUTELIST>"{"[ \t\n\r #a-zA-Z0-9.\-]*"}"  {BEGIN(MATH); yylval=wims_mathml_copy_string(yytext); if (yylval != wims_mathml_empty_string) { yylval[0]='"'; yylval[yyleng-1]='"'; } return ATTRLIST;}
1564
 
1565
 
1566
<FINDARG>"{color="*[a-zA-Z]*"}"  {BEGIN(MATH); yylval=wims_mathml_copy_string(yytext+6);int len=strlen(yylval);if (yylval != wims_mathml_empty_string) { yylval[0]='"'; yylval[len-1]='"'; } return ATTRLIST;}
1567
 
1568
 
1569
<OPTARG>{
1570
"[" {if(wims_mathml_optarg_ind < wims_mathml_optarg_depth - 1 && wims_mathml_inoptarg[wims_mathml_optarg_ind] !=1 ){wims_mathml_optarg_ind++; wims_mathml_inoptarg[wims_mathml_optarg_ind]=1;}; BEGIN(MATH); return OPTARGOPEN;}
1571
[\n\r\t ]+    ;
1572
.   {BEGIN(MATH); unput(yytext[0]);}
1573
}
1574
 
1575
<RAISEBOX1>{
1576
\{[\n\r\t ]*- {BEGIN(RAISEBOX2); return NEG;}
1577
\{[\n\r\t ]* {BEGIN(RAISEBOX2);}
1578
}
1579
 
1580
<RAISEBOX2>{
1581
[^\}]*?\}  {yylval=wims_mathml_copy_string(yytext); if ((yyleng > 1) && (yylval != wims_mathml_empty_string)) yylval[yyleng-1]='\0'; BEGIN(TEXTOPTARG1); return TEXTSTRING;}
1582
}
1583
 
1584
 
1585
<TEXTOPTARG1>{
1586
\[[^\]]*?\] {yylval=wims_mathml_copy_string(yytext+1); if ((yyleng > 1) && (yylval != wims_mathml_empty_string)) yylval[yyleng-2]='\0'; BEGIN(TEXTOPTARG); return TEXTSTRING;}
1587
. {BEGIN(MATH); unput(yytext[0]);}
1588
}
1589
 
1590
<TEXTOPTARG>{
1591
\[[^\]]*?\] {yylval=wims_mathml_copy_string(yytext+1); if ((yyleng > 1) && (yylval != wims_mathml_empty_string)) yylval[yyleng-2]='\0'; BEGIN(MATH); return TEXTSTRING;}
1592
. {BEGIN(MATH); unput(yytext[0]);}
1593
}
1594
 
1595
<MATHENV>{
1596
"\{matrix\}" {wims_mathml_env_start = 0; BEGIN(MATH); return MATRIX;}
1597
"\{pmatrix\}" {wims_mathml_env_start = 0; BEGIN(MATH); return PMATRIX;}
1598
"\{bmatrix\}" {wims_mathml_env_start = 0; BEGIN(MATH); return BMATRIX;}
1599
"\{Bmatrix\}" {wims_mathml_env_start = 0; BEGIN(MATH); return BBMATRIX;}
1600
"\{vmatrix\}" {wims_mathml_env_start = 0; BEGIN(MATH); return VMATRIX;}
1601
"\{Vmatrix\}" {wims_mathml_env_start = 0; BEGIN(MATH); return VVMATRIX;}
1602
"\{smallmatrix\}" {wims_mathml_env_start = 0; BEGIN(MATH); return SMALLMATRIX;}
1603
"\{cases\}" |
1604
"\{dcases\}" {wims_mathml_env_start = 0; BEGIN(MATH); return CASES;}
1605
"\{align*\}" |
1606
"\{align\}" |
1607
"\{aligned\}" {wims_mathml_env_start = 0; BEGIN(MATH); return ALIGNED;}
1608
"\{gathered\}" {wims_mathml_env_start = 0; BEGIN(MATH); return GATHERED;}
1609
"\{split\}" {wims_mathml_env_start = 0; BEGIN(MATH); return ALIGNED;}
1610
"\{array\}" |
1611
"\{alignat\}" {if (wims_mathml_env_start == 1) BEGIN(ARRAYOPTIONS); else BEGIN(MATH); return ARRAY;}
1612
"\{svg\}" {wims_mathml_env_start = 0; BEGIN(SVGENV); return SVG;}
7332 schaersvoo 1613
"\{html\}" {wims_mathml_env_start = 0; BEGIN(HTMLENV); return HTML;}
5520 bpr 1614
"\{equation\}"  {wims_mathml_env_start = 0; BEGIN(MATH); return EQUATION;}
1615
"\{eqnarray\}" {wims_mathml_env_start = 0; BEGIN(MATH); return MATRIX;}
1616
 
1617
}
1618
 
1619
<ARRAYOPTIONS>{
1620
"[t]" {yylval=wims_mathml_copy_string("axis 1"); return ARRAYALIGN;}
1621
"[c]" {yylval=wims_mathml_copy_string("center"); return ARRAYALIGN;}
1622
"[b]" {yylval=wims_mathml_copy_string("axis -1"); return ARRAYALIGN;}
1623
"\{"  {BEGIN(COLOPTS); return ST;}
1624
[\t\n\r ]+       ;
1625
}
1626
 
1627
<COLOPTS>{
1628
"\}"  {wims_mathml_env_start = 0; BEGIN(MATH); return END;}
11589 schaersvoo 1629
[0-99rlc|.:_\-\ ]{0,99} {
5520 bpr 1630
    wims_mathml_env_start=0;
1631
    int p;
1632
    // yyleng is length of last matched token eg "{ c |ccc|c }
1633
    // 8 is max length of tag " center " ; 14 is length " columnalign=\"" 14+1 '\0'
1634
    // {----c|c|c}
1635
    int len = yyleng*8+15;
1636
    char C[len];
1637
    char M[len];
1638
    char H[len];
1639
    memset(C,'\0',len);// fill memory with null
1640
    memset(M,'\0',len);
1641
    memset(H,'\0',len);
1642
    strncat(C," columnalign=\"",14);
1643
    strncat(M," columnlines=\"",14);
1644
    strncat(H," rowlines=\"",11);
11589 schaersvoo 1645
    /* {c|c|c|c---}*/
5520 bpr 1646
    for( p = 0; p < yyleng ; p++){
8456 bpr 1647
	if( strlen(C) < (len - 8) && strlen(M) < (len - 8)){
5520 bpr 1648
	/* in case of trouble...array M[len] or C[len] will be too small */
1649
	    switch( yytext[p] ){
1650
	        case 'c' : strncat(C," center ",8);break;
1651
		case 'r' : strncat(C," right ",7);break;
1652
	        case 'l' : strncat(C," left ",6); break;
11589 schaersvoo 1653
		case '|' : strncat(M," solid ",7);break;
1654
	        case ':' : strncat(M," dashed ",8);break;
1655
	        case '-' : strncat(H," solid ",7);break;
1656
	        case '_' : strncat(H," dashed ",8);break;
1657
	        case '.' : strncat(H," none ",6);break;
1658
	        case ' ' : break;
1659
		default  : strncat(M," none ",6);strncat(H," none ",6);break;
5520 bpr 1660
	    }
1661
	}
1662
    }
11590 schaersvoo 1663
     /* 31/5/2017 bug in MathJax :  rowlines="" will show rowlines */
1664
    if( strlen(M) < 16 ){  strncat(M," none ",6); }
1665
    if( strlen(H) < 16 ){  strncat(H," none ",6); }
5520 bpr 1666
    strncat(C,"\" ",2);
1667
    strncat(M,"\" ",2);
1668
    strncat(H,"\" ",2);
8456 bpr 1669
 
5520 bpr 1670
    yylval=wims_mathml_copy3(C,M,H);
1671
    return TEX_OPTIONS;
1672
  }
1673
}
1674
 
1675
<SVGENV>{
7332 schaersvoo 1676
"\\end\{svg" {
1677
    yylval = wims_mathml_copy_string(yytext);
1678
    replace_str(yylval,"\\lt ","<");
1679
    replace_str(yylval,"\\gt ",">");
1680
    yyleng = strlen(yylval);
1681
    yylval[yyleng-8]=0; BEGIN(SVGEND); return XMLSTRING;}
5520 bpr 1682
(.|\n) {yymore();}
1683
}
1684
 
1685
<SVGEND>{
1686
"\}" {BEGIN(MATH); return ENDSVG;}
1687
}
1688
 
7332 schaersvoo 1689
<HTMLENV>{
1690
"\\end\{html" {
1691
    yylval = wims_mathml_copy_string(yytext);
1692
    replace_str(yylval,"\\lt ","<");
1693
    replace_str(yylval,"\\gt ",">");
1694
    yyleng = strlen(yylval);
1695
    yylval[yyleng-9]=0; BEGIN(HTMLEND); return XMLSTRING;}
1696
(.|\n) {yymore();}
1697
}
1698
 
1699
<HTMLEND>{
1700
"\}" {BEGIN(MATH); return ENDHTML;}
1701
}
1702
 
5520 bpr 1703
<ROMAN>{
1704
"\{"  {return ST;}
1705
"\}"  {BEGIN(MATH); return END;}
1706
[a-zA-Z]   {yylval=wims_mathml_copy_string(yytext); return RMCHAR;}
1707
[\t\n\r ]+       ;
1708
.           {return yytext[0];}
1709
}
1710
 
1711
<BBOLD>{
1712
"\{"  {return ST;}
1713
"\}"  {BEGIN(MATH); return END;}
1714
[a-z] {yylval=wims_mathml_copy_string(yytext); return BBLOWERCHAR;}
1715
[A-Z]   {yylval=wims_mathml_copy_string(yytext); return BBUPPERCHAR;}
1716
[0-9]   {yylval=wims_mathml_copy_string(yytext); return BBDIGIT;}
1717
[\t\n\r ]+       ;
1718
.           {return yytext[0];}
1719
}
1720
 
1721
<CALLIGRAPHIC>{
1722
"\{"  {return ST;}
1723
"\}"  {BEGIN(MATH); return END;}
1724
[a-zA-Z]   {yylval=wims_mathml_copy_string(yytext); return CALCHAR;}
1725
[\t\n\r ]+       ;
1726
.           {return yytext[0];}
1727
}
1728
 
1729
<FRAKTUR>{
1730
"\{"  {return ST;}
1731
"\}"  {BEGIN(MATH); return END;}
1732
[a-zA-Z]   {yylval=wims_mathml_copy_string(yytext); return FRAKCHAR;}
1733
[\t\n\r ]+       ;
1734
.           {return yytext[0];}
1735
}
1736
 
1737
<PLAINTEXT>{
1738
\{[^\}]*?\}  {yylval=wims_mathml_copy_string(yytext+1); if ((yyleng > 1) && (yylval != wims_mathml_empty_string)) yylval[yyleng-2]='\0'; BEGIN(MATH); return TEXTSTRING;}
1739
}
1740
 
8456 bpr 1741
<INT1>{
5520 bpr 1742
"\{"      {return ST;}
1743
"\}"      {BEGIN(INT2); return END;}
1744
[0-9]+    {yylval=wims_mathml_copy_string_extra(yytext, 1); if (yyleng && (yylval != wims_mathml_empty_string)) { yylval[yyleng]=yylval[yyleng-1]; yylval[yyleng-1]='.'; yylval[yyleng+1]='\0'; } return INTONE;}
1745
[\t\n\r ]+   ;
1746
.         {return yytext[0];}
1747
}
1748
 
1749
<INT2>{
1750
"\{"      {return ST;}
1751
"\}"      {BEGIN(INT3); return END;}
1752
[0-9]+    {yylval=wims_mathml_copy_string_extra(yytext, 1); if (yyleng && (yylval != wims_mathml_empty_string)) { yylval[yyleng]=yylval[yyleng-1]; yylval[yyleng-1]='.'; yylval[yyleng+1]='\0'; } return INTTWO;}
1753
[\t\n\r ]+   ;
1754
.         {return yytext[0];}
1755
}
1756
 
1757
<INT3>{
1758
"\{"      {return ST;}
1759
"\}"      {BEGIN(MATH); return END;}
1760
[0-9]+    {yylval=wims_mathml_copy_string_extra(yytext, 1); if (yyleng && (yylval != wims_mathml_empty_string)) { yylval[yyleng]=yylval[yyleng-1]; yylval[yyleng-1]='.'; yylval[yyleng+1]='\0'; } return INTTHREE;}
1761
[\t\n\r ]+   ;
1762
.         {return yytext[0];}
1763
}
1764
 
1765
 
1766
 
1767
%%
1768
 
1769
void wims_mathml_restart ()
1770
{
1771
	BEGIN(INITIAL);
1772
}
1773
 
1774
static const char *  s_wims_mathml_buffer = 0;
1775
static unsigned long s_wims_mathml_length = 0;
1776
 
1777
void wims_mathml_setup (const char * buffer, unsigned long length)
1778
{
1779
	yy_flush_buffer( YY_CURRENT_BUFFER );
1780
 
1781
	s_wims_mathml_buffer = buffer;
1782
	s_wims_mathml_length = length;
1783
}
1784
 
1785
static int s_wims_mathml_read (char * buffer, int max_size)
1786
{
1787
	int result = 0;
1788
 
1789
	if (max_size < s_wims_mathml_length)
1790
	{
1791
		result = max_size;
1792
 
1793
		memcpy (buffer, s_wims_mathml_buffer, max_size);
1794
 
1795
		s_wims_mathml_buffer += max_size;
1796
		s_wims_mathml_length -= max_size;
1797
	}
1798
	else
1799
	{
1800
		result = s_wims_mathml_length;
1801
 
1802
		memcpy (buffer, s_wims_mathml_buffer, s_wims_mathml_length);
1803
 
1804
		s_wims_mathml_buffer = 0;
1805
		s_wims_mathml_length = 0;
1806
	}
1807
	return result;
1808
}
1809