Subversion Repositories wimsdev

Rev

Rev 16300 | Rev 16596 | Go to most recent revision | 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;}
669
 
670
"\\aleph" |
671
"\\beth" |
672
"\\eth" |
673
"\\ell" |
674
"\\hbar" |
675
"\\Im" |
676
"\\imath" |
677
"\\jmath" |
678
"\\wp" |
679
"\\Re" {yylval=wims_mathml_copy2(yytext, ";"); if (yylval != wims_mathml_empty_string) yylval[0]='&'; return MI;}
680
 
681
"\\Perp" |
682
"\\Vbar" {yylval=wims_mathml_copy_string("&Vbar;"); return MOL;}
683
"\\boxdot" {yylval=wims_mathml_copy_string("&sdotb;"); return MOL;}
684
"\\Box" |
685
"\\square" {yylval=wims_mathml_copy_string("&square;"); return MOL;}
686
"\\emptyset" |
687
"\\empty" {yylval=wims_mathml_copy_string("&emptyv;"); return MI;}
688
"\\exists" {yylval=wims_mathml_copy_string("&Exists;"); return MOL;}
689
"\\circ" {yylval=wims_mathml_copy_string("&SmallCircle;"); return MOL;}
690
"\\rhd" {yylval=wims_mathml_copy_string("&RightTriangle;"); return MOL;}
691
"\\lhd" {yylval=wims_mathml_copy_string("&LeftTriangle;"); return MOL;}
692
"\\lll" {yylval=wims_mathml_copy_string("&Ll;"); return MOL;}
693
"\\unrhd" {yylval=wims_mathml_copy_string("&RightTriangleEqual;"); return MOL;}
694
"\\unlhd" {yylval=wims_mathml_copy_string("&LeftTriangleEqual;"); return MOL;}
695
"\\Del" |
696
"\\nabla" {yylval=wims_mathml_copy_string("&Del;"); return MOL;}
697
"\\sphericalangle" {yylval=wims_mathml_copy_string("&angsph;"); return MOL;}
698
 
699
"\\heartsuit" {yylval=wims_mathml_copy_string("&#x2661;"); return MOL;}
700
"\\diamondsuit" {yylval=wims_mathml_copy_string("&#x2662;"); return MOL;}
701
 
702
"\\partial" {yylval=wims_mathml_copy_string("&PartialD;"); return MOL;}
703
 
704
"\\qed" {yylval=wims_mathml_copy_string("&squf;"); return MO;}
705
 
706
"\\mod" {yylval=wims_mathml_copy_string("mod"); return MOS;}
707
"\\bmod" {yylval=wims_mathml_copy_string("mod"); return MOS;}
708
"\\pmod" {return PMOD;}
709
 
710
"\\bottom" {yylval=wims_mathml_copy_string("&perp;"); return MOL;}
711
 
712
"\\neg" {yylval=wims_mathml_copy_string("&not;"); return MOL;}
713
 
714
"\\neq" |
715
"\\ne"  |
716
"\\not =" |
717
"\\not=" {yylval=wims_mathml_copy_string("&ne;"); return MOL;}
718
 
14658 bpr 719
"\\not\\subset" {yylval=wims_mathml_copy_string("&#x2284;"); return MOL;}
720
 
5520 bpr 721
"\\not\\in" |
722
"\\not \\in"  {yylval=wims_mathml_copy_string("&notin;"); return MOL;}
723
 
724
"\\shortmid" |
725
"\\mid"  {yylval=wims_mathml_copy_string("&VerticalBar;"); return MOS;}
726
 
727
"\\int"    |
728
"\\integral"     {return LARGERINT;}
729
 
730
"\\iint"   |
731
"\\doubleintegral" {yylval=wims_mathml_copy_string("&Int;"); return MOL;}
732
 
733
"\\iiint"   |
734
"\\tripleintegral" {yylval=wims_mathml_copy_string("&tint;"); return MOL;}
735
 
736
"\\iiiint"   |
737
"\\quadrupleintegral" {yylval=wims_mathml_copy_string("&qint;"); return MOL;}
738
 
739
"\\oint"    |
740
"\\conint"  |
741
"\\contourintegral"   {yylval=wims_mathml_copy_string("&conint;"); return MOL;}
742
 
743
"\\times"   {yylval=wims_mathml_copy_string("&times;"); return MOL;}
744
"\\star"   {yylval=wims_mathml_copy_string("&sstarf;"); return MOL;}
745
"\\circleddash" |
746
"\\odash"   {yylval=wims_mathml_copy_string("&odash;"); return MOL;}
747
 
748
"\\intercal"   {yylval=wims_mathml_copy_string("&intcal;"); return MOL;}
749
"\\smallfrown"   {yylval=wims_mathml_copy_string("&sfrown;"); return MOL;}
750
"\\smallsmile"   {yylval=wims_mathml_copy_string("&ssmile;"); return MOL;}
751
 
752
"\\boxminus" |
753
"\\minusb"   {yylval=wims_mathml_copy_string("&boxminus;"); return MOL;}
754
"\\boxplus" |
755
"\\plusb"   {yylval=wims_mathml_copy_string("&boxplus;"); return MOL;}
756
"\\boxtimes" |
757
"\\timesb"   {yylval=wims_mathml_copy_string("&boxtimes;"); return MOL;}
758
 
759
"\\sum"          {yylval=wims_mathml_copy_string("&Sum;"); return MOB;}
760
 
761
"\\prod" |
762
"\\product"      {yylval=wims_mathml_copy_string("&prod;"); return MOB;}
763
 
764
"\\coprod"  |
765
"\\coproduct"    {yylval=wims_mathml_copy_string("&coprod;"); return MOB;}
766
 
767
"\\otimes"       {yylval=wims_mathml_copy_string("&otimes;"); return MOL;}
768
"\\Otimes"       {yylval=wims_mathml_copy_string("&Otimes;"); return MOL;}
769
"\\bigotimes"     {yylval=wims_mathml_copy_string("&bigotimes;"); return MOL;}
770
 
771
"\\ominus"       {yylval=wims_mathml_copy_string("&ominus;"); return MOL;}
772
"\\oslash"       {yylval=wims_mathml_copy_string("&osol;"); return MOL;}
773
 
774
"\\oplus"       {yylval=wims_mathml_copy_string("&oplus;"); return MOL;}
775
"\\Oplus"   |
776
"\\bigoplus"    {yylval=wims_mathml_copy_string("&bigoplus;"); return MOB;}
777
 
778
"\\bigodot"    {yylval=wims_mathml_copy_string("&bigodot;"); return MOB;}
779
"\\bigsqcup"    {yylval=wims_mathml_copy_string("&bigsqcup;"); return MOB;}
13310 obado 780
"\\bigsqcap"    {yylval=wims_mathml_copy_string("&#x2A05;"); return MOB;}
781
"\\biginterleave" {yylval=wims_mathml_copy_string("&#x2AFC;"); return MOB;}
5520 bpr 782
"\\biguplus"    {yylval=wims_mathml_copy_string("&biguplus;"); return MOB;}
783
 
784
"\\wedge"       {yylval=wims_mathml_copy_string("&wedge;"); return MOL;}
785
"\\Wedge"  |
786
"\\bigwedge"       {yylval=wims_mathml_copy_string("&xwedge;"); return MOB;}
787
 
788
"\\Vee"  |
789
"\\bigvee"       {yylval=wims_mathml_copy_string("&bigvee;"); return MOB;}
790
 
791
"\\invamp"  |
792
"\\parr"       {yylval=wims_mathml_copy_string("&#8523;"); return MOL;}
793
 
794
"\\frac"         {return FRAC;}
795
"\\tfrac"         {return TFRAC;}
796
"\\dfrac"         {return DFRAC;}
797
"\\sfrac"	{return SFRAC;}
798
"\\binom" 	{return BINOM;}
799
"\\choose"	{return BINOM2;}
800
"\\tbinom"        {return TBINOM;}
801
 
802
"\\tensor"       {return TENSOR;}
803
 
804
"\\multiscripts" {return MULTI;}
805
 
806
"\\overbrace"     {return OVERBRACE;}
807
 
808
"\\underbrace"   {return UNDERBRACE;}
809
 
810
"\\underline"   {return UNDERLINE;}
811
 
812
"\\bar"          {return BAR;}
813
"\\overline" |
814
"\\closure" |
815
"\\widebar"      {return WIDEBAR;}
816
 
7219 schaersvoo 817
"\\vec"  { return VEC;}
5520 bpr 818
"\\widevec"   {return WIDEVEC;}
7390 schaersvoo 819
"\\limits"  {/* Ignore  */ ;}
5520 bpr 820
 
8456 bpr 821
"\\overrightarrow"	  {yylval = wims_mathml_copy_string("&rightarrow;"); 	 return OVERARROW;}
822
"\\overleftarrow"         {yylval = wims_mathml_copy_string("&leftarrow;"); 	 return OVERARROW;}
7225 schaersvoo 823
"\\overleftrightarrow" 	  {yylval = wims_mathml_copy_string("&leftrightarrow;"); return OVERARROW;}
11589 schaersvoo 824
"\\overrightharpoonup"    {yylval = wims_mathml_copy_string("&#x21C0;"); 	 return OVERARROW;}
825
"\\overrightharpoondown"  {yylval = wims_mathml_copy_string("&#x21C1;"); 	 return OVERARROW;}
7219 schaersvoo 826
 
7225 schaersvoo 827
"\\underrightarrow" 	  {yylval = wims_mathml_copy_string("&rightarrow;"); 	 return UNDERARROW;}
828
"\\underleftarrow" 	  {yylval = wims_mathml_copy_string("&leftarrow;"); 	 return UNDERARROW;}
829
"\\underleftrightarrow"   {yylval = wims_mathml_copy_string("&leftrightarrow;"); return UNDERARROW;}
11589 schaersvoo 830
"\\underrightharpoonup"   {yylval = wims_mathml_copy_string("&#x21C0;"); 	 return UNDERARROW;}
831
"\\underrightharpoondown" {yylval = wims_mathml_copy_string("&#x21C1;"); 	 return UNDERARROW;}
7225 schaersvoo 832
 
5520 bpr 833
"\\dot"       {return DOT;}
834
"\\ddot"      {return DDOT;}
835
"\\dddot"      {return DDDOT;}
836
"\\ddddot"      {return DDDDOT;}
11717 schaersvoo 837
"\\P"  {yylval=wims_mathml_copy_string("&para;"); return MI;}
838
"\\copyright" {yylval=wims_mathml_copy_string("&#169;"); return MI;}/* copyright*/
839
"\\deg" {yylval=wims_mathml_copy_string("&#176;"); return MI;}/* not in wims latex: high small round o */
840
"\\Celcius" {yylval=wims_mathml_copy_string("&#8451;"); return MI;} /* not in wims latex: degree Celcius */
841
"\\Fahrenheit" {yylval=wims_mathml_copy_string("&#8457;"); return MI;} /* not in wims latex: degree Fahrenheit */
842
"\\i" {yylval=wims_mathml_copy_string("&#305;"); return MI;} /* dotless i*/
843
"\\j" {yylval=wims_mathml_copy_string("&#567;"); return MI;} /* dotless j*/
844
"\\"[~\^\"`'kl=bdruvtoOHct\.] { /* " accents , some are already in other syntax:  \\ddot{i} etc */
11708 schaersvoo 845
yylval = wims_mathml_copy_string(yytext+1);
11711 schaersvoo 846
if ((yyleng > 1) && (yylval != wims_mathml_empty_string)) yylval[yyleng+1]='\0';
11715 schaersvoo 847
return ACCENTS;
11708 schaersvoo 848
}
8456 bpr 849
"\\tilde"       {return TILDE;}
5520 bpr 850
"\\widetilde"   {return WIDETILDE;}
851
 
852
 
8456 bpr 853
"\\check"       {return CHECK;}
5520 bpr 854
"\\widecheck"   {return WIDECHECK;}
855
 
856
 
8456 bpr 857
"\\hat"       {return HAT;}
5520 bpr 858
"\\widehat"   {return WIDEHAT;}
859
 
860
"\\underset"     {return UNDER;}
861
 
862
"\\stackrel" |
863
"\\overset"      {return OVER;}
14226 schaersvoo 864
"\\brack"	{ wims_mathml_shortcut = 0; return BRACK;}
865
"\\brace"	{ wims_mathml_shortcut = 1; return BRACK;}
5520 bpr 866
"\\over"         {return TEXOVER;}
867
"\\atop"         {return TEXATOP;}
868
 
869
"\\underoverset"  {return UNDEROVER;}
870
 
871
"\\sqrt"         {BEGIN(OPTARG); return SQRT;}
872
 
873
"\\root"         {return ROOT;}
5632 schaersvoo 874
"\\of"
5520 bpr 875
"\\nonumber"		{yylval=wims_mathml_copy_string("&nbsp;"); return MI;}
876
 
877
"\\space"        {BEGIN(INT1); return SPACE;}
11335 schaersvoo 878
"\\*"      {yylval=wims_mathml_copy_string("&InvisibleTimes;"); return MI;}
5520 bpr 879
 
880
"\\text" |
881
"\\textrm" |
882
"\\mbox"         {BEGIN(PLAINTEXT); return TEXTBOX;}
883
 
884
"\\statusline"    {BEGIN(PLAINTEXT); return STATLINE;}
885
"\\tooltip"       {BEGIN(PLAINTEXT); return TOOLTIP;}
886
 
887
"\\toggle"        {return TOGGLE;}
888
 
889
"\\mathraisebox"  {BEGIN(RAISEBOX1); return RAISEBOX;}
890
 
891
"\\fghilight" |
892
"\\fghighlight"   {BEGIN(ATTRIBUTELIST); return FGHIGHLIGHT;}
893
 
894
"\\bghilight" |
895
"\\bghighlight"   {BEGIN(ATTRIBUTELIST); return BGHIGHLIGHT;}
896
 
897
"\\special"	{BEGIN(FINDARG); return SPECIAL;}
898
 
8912 bpr 899
"\\color"  |
900
"\\textcolor" {BEGIN(ATTRIBUTELIST); return COLOR;}
5520 bpr 901
"\\bgcolor"        {BEGIN(ATTRIBUTELIST); return BGCOLOR;}
902
 
903
"\\displaystyle"  {wims_mathml_displaymode=1; wims_mathml_rowposn=2; return DISPLAY;}
904
 
905
"\\textstyle"     {wims_mathml_displaymode=0; wims_mathml_rowposn=2; return TEXTSTY;}
906
 
907
"\\textsize"     {return TEXTSIZE;}
908
 
909
"\\scriptsize"     {return SCSIZE;}
910
 
911
"\\scriptscriptsize"     {return SCSCSIZE;}
912
 
913
"\\mathit" |
12108 schaersvoo 914
"\\it" |
5520 bpr 915
"\\emph"      {return ITALICS;}
916
 
917
"\\boldsymbol" |
918
"\\bf" |
919
"\\Bf" |
920
"\\mathbf"       {return BOLD;}
921
"\\mathrm"     |
922
"\\rm"  {BEGIN(ROMAN); return RM;}
5577 schaersvoo 923
"\\rm " { return WIMSROMAN;}
5520 bpr 924
 
925
"\\mathbb"       {BEGIN(BBOLD); return BB;}
926
 
927
"\\mathfrak" |
928
"\\mathfr"       {BEGIN(FRAKTUR); return FRAK;}
929
 
13858 schaersvoo 930
"\\slash" |
931
"\\cancel"       {return SLASHED;}
5520 bpr 932
 
933
"\\boxed"       {return BOXED;}
934
 
935
"\\mathcal"       {BEGIN(CALLIGRAPHIC); return CAL;}
936
 
937
"\\begin"        {wims_mathml_env_start = 1; BEGIN(MATHENV); return BEGINENV;}
938
"\\end"        {BEGIN(MATHENV); return ENDENV;}
14226 schaersvoo 939
"\\cases"	{wims_mathml_shortcut = 0;return SHORTARRAY;}
940
"\\Bmatrix"	{wims_mathml_shortcut = 1;return SHORTARRAY;}
941
"\\pmatrix"	{wims_mathml_shortcut = 2;return SHORTARRAY;}
942
"\\vmatrix"	{wims_mathml_shortcut = 3;return SHORTARRAY;}
943
"\\Vmatrix"	{wims_mathml_shortcut = 4;return SHORTARRAY;}
944
"\\aligned"	{wims_mathml_shortcut = 5;return SHORTARRAY;}
5520 bpr 945
 
14226 schaersvoo 946
 
5520 bpr 947
"\\substack"     {return SUBSTACK;}
948
 
949
"\\array"        {return ARRAY;}
950
 
951
"\\arrayopts"    {return ARRAYOPTS;}
952
 
953
"\\colalign"     {BEGIN(ATTRIBUTELIST); return COLALIGN;}
954
 
955
"\\collayout"   {BEGIN(ATTRIBUTELIST); return COLLAYOUT;}
956
 
957
"\\rowalign"     {BEGIN(ATTRIBUTELIST); return ROWALIGN;}
958
 
959
"\\align"     {BEGIN(ATTRIBUTELIST); return ALIGN;}
960
 
961
"\\equalrows"     {BEGIN(ATTRIBUTELIST); return EQROWS;}
962
 
963
"\\equalcols"     {BEGIN(ATTRIBUTELIST); return EQCOLS;}
964
 
965
"\\rowlines"     {BEGIN(ATTRIBUTELIST); return ROWLINES;}
966
 
967
"\\collines"     {BEGIN(ATTRIBUTELIST); return COLLINES;}
968
 
969
"\\frame"     {BEGIN(ATTRIBUTELIST); return FRAME;}
970
 
971
"\\padding"     {BEGIN(ATTRIBUTELIST); return PADDING;}
972
 
973
"\\rowopts"    {return ROWOPTS;}
974
 
8456 bpr 975
"\\cellopts"   {return CELLOPTS;}
5520 bpr 976
 
977
"\\rowspan"     {BEGIN(ATTRIBUTELIST); return ROWSPAN;}
978
 
979
"\\colspan"     {BEGIN(ATTRIBUTELIST); return COLSPAN;}
980
 
981
 
982
"\\," |
983
"\\thinspace"   {return THINSPACE;}
984
 
985
"\\:" |
986
"\\medspace"    {return MEDSPACE;}
987
 
988
"\\;" |
989
"\\thickspace"  {return THICKSPACE;}
990
 
991
"\\quad"        {return QUAD;}
992
"\\qquad"       {return QQUAD;}
993
 
994
"\\!" |
995
"\\negspace"    {return NEGSPACE;}
996
 
997
"\\phantom" |
998
"\\vphantom"     {return PHANTOM;}
999
 
1000
"\\href"        {BEGIN(PLAINTEXT); return HREF;}
1001
 
1002
"\\operatorname"  {BEGIN(PLAINTEXT); return OPERATORNAME;}
1003
"\\mathop"        {BEGIN(PLAINTEXT); return MATHOP;}
1004
"\\mathbin"       {BEGIN(PLAINTEXT); return MATHBIN;}
1005
"\\mathrel"       {BEGIN(PLAINTEXT); return MATHREL;}
1006
"\\itexnum"       {BEGIN(PLAINTEXT); return ITEXNUM;}
1007
 
11589 schaersvoo 1008
"\\char32" {yylval = wims_mathml_copy_string("&#x2423;"); return MI;}
1009
"\\char44" {yylval = wims_mathml_copy_string("&#44;"); return MI;}
1010
"\\exclam" {yylval = wims_mathml_copy_string("&#x0021;"); return MI;}
1011
"\\octothorpe" {yylval = wims_mathml_copy_string("&#x0023;"); return MI;}
1012
"\\mathdollar" {yylval = wims_mathml_copy_string("&#x0024;"); return MI;}
1013
"\\percent" {yylval = wims_mathml_copy_string("&#x0025;"); return MI;}
1014
"\\ampersand" {yylval = wims_mathml_copy_string("&#x0026;"); return MI;}
1015
"\\lparen" {yylval = wims_mathml_copy_string("&#x0028;"); return LEFTDELIM;}
1016
"\\rparen" {yylval = wims_mathml_copy_string("&#x0029;"); return RIGHTDELIM;}
1017
"\\plus" {yylval = wims_mathml_copy_string("&#x002B;"); return MO;}
1018
"\\period" {yylval = wims_mathml_copy_string("&#x002E;"); return MOP;}
1019
"\\mathslash" {yylval = wims_mathml_copy_string("&#x002F;"); return MO;}
1020
"\\mathcolon" {yylval = wims_mathml_copy_string("&#x003A;"); return MOP;}
1021
"\\semicolon" {yylval = wims_mathml_copy_string("&#x003B;"); return MOP;}
1022
"\\less" {yylval = wims_mathml_copy_string("&#x003C;"); return MO;}
1023
"\\equal" {yylval = wims_mathml_copy_string("&#x003D;"); return MO;}
1024
"\\greater" {yylval = wims_mathml_copy_string("&#x003E;"); return MO;}
1025
"\\question" {yylval = wims_mathml_copy_string("&#x003F;"); return MOP;}
1026
"\\atsign" {yylval = wims_mathml_copy_string("&#x0040;"); return MI;}
1027
"\\sterling" {yylval = wims_mathml_copy_string("&#x00A3;"); return MI;}
1028
"\\yen" {yylval = wims_mathml_copy_string("&#x00A5;"); return MI;}
1029
"\\cdotp" {yylval = wims_mathml_copy_string("&#x00B7;"); return MO;}
1030
"\\matheth" {yylval = wims_mathml_copy_string("&#x00F0;"); return MI;}
1031
"\\Zbar" {yylval = wims_mathml_copy_string("&#x01B5;"); return MI;}
1032
"\\grave" {yylval = wims_mathml_copy_string("&#x0300;"); return MI;}
1033
"\\acute" {yylval = wims_mathml_copy_string("&#x0301;"); return MI;}
1034
"\\overbar" {yylval = wims_mathml_copy_string("&#x0305;"); return MI;}
1035
"\\breve" {yylval = wims_mathml_copy_string("&#x0306;"); return MI;}
1036
"\\ovhook" {yylval = wims_mathml_copy_string("&#x0309;"); return MI;}
1037
"\\ocirc" {yylval = wims_mathml_copy_string("&#x030A;"); return MI;}
1038
"\\candra" {yylval = wims_mathml_copy_string("&#x0310;"); return MI;}
1039
"\\oturnedcomma" {yylval = wims_mathml_copy_string("&#x0312;"); return MI;}
1040
"\\ocommatopright" {yylval = wims_mathml_copy_string("&#x0315;"); return MI;}
1041
"\\droang" {yylval = wims_mathml_copy_string("&#x031A;"); return MI;}
1042
"\\wideutilde" {yylval = wims_mathml_copy_string("&#x0330;"); return MI;}
1043
"\\underbar" {yylval = wims_mathml_copy_string("&#x0331;"); return MI;}
1044
"\\upAlpha" {yylval = wims_mathml_copy_string("&#x0391;"); return MI;}
1045
"\\upBeta" {yylval = wims_mathml_copy_string("&#x0392;"); return MI;}
1046
"\\upGamma" {yylval = wims_mathml_copy_string("&#x0393;"); return MI;}
1047
"\\upDelta" {yylval = wims_mathml_copy_string("&#x0394;"); return MI;}
1048
"\\upEpsilon" {yylval = wims_mathml_copy_string("&#x0395;"); return MI;}
1049
"\\upZeta" {yylval = wims_mathml_copy_string("&#x0396;"); return MI;}
1050
"\\upEta" {yylval = wims_mathml_copy_string("&#x0397;"); return MI;}
1051
"\\upTheta" {yylval = wims_mathml_copy_string("&#x0398;"); return MI;}
1052
"\\upIota" {yylval = wims_mathml_copy_string("&#x0399;"); return MI;}
1053
"\\upKappa" {yylval = wims_mathml_copy_string("&#x039A;"); return MI;}
1054
"\\upLambda" {yylval = wims_mathml_copy_string("&#x039B;"); return MI;}
1055
"\\upMu" {yylval = wims_mathml_copy_string("&#x039C;"); return MI;}
1056
"\\upNu" {yylval = wims_mathml_copy_string("&#x039D;"); return MI;}
1057
"\\upXi" {yylval = wims_mathml_copy_string("&#x039E;"); return MI;}
1058
"\\upOmicron" {yylval = wims_mathml_copy_string("&#x039F;"); return MI;}
1059
"\\upPi" {yylval = wims_mathml_copy_string("&#x03A0;"); return MI;}
1060
"\\upRho" {yylval = wims_mathml_copy_string("&#x03A1;"); return MI;}
1061
"\\upSigma" {yylval = wims_mathml_copy_string("&#x03A3;"); return MI;}
1062
"\\upTau" {yylval = wims_mathml_copy_string("&#x03A4;"); return MI;}
1063
"\\upUpsilon" {yylval = wims_mathml_copy_string("&#x03A5;"); return MI;}
1064
"\\upPhi" {yylval = wims_mathml_copy_string("&#x03A6;"); return MI;}
1065
"\\upChi" {yylval = wims_mathml_copy_string("&#x03A7;"); return MI;}
1066
"\\upPsi" {yylval = wims_mathml_copy_string("&#x03A8;"); return MI;}
1067
"\\upOmega" {yylval = wims_mathml_copy_string("&#x03A9;"); return MI;}
1068
"\\upalpha" {yylval = wims_mathml_copy_string("&#x03B1;"); return MI;}
1069
"\\upbeta" {yylval = wims_mathml_copy_string("&#x03B2;"); return MI;}
1070
"\\upgamma" {yylval = wims_mathml_copy_string("&#x03B3;"); return MI;}
1071
"\\updelta" {yylval = wims_mathml_copy_string("&#x03B4;"); return MI;}
1072
"\\upepsilon" {yylval = wims_mathml_copy_string("&#x03B5;"); return MI;}
1073
"\\upzeta" {yylval = wims_mathml_copy_string("&#x03B6;"); return MI;}
1074
"\\upeta" {yylval = wims_mathml_copy_string("&#x03B7;"); return MI;}
1075
"\\uptheta" {yylval = wims_mathml_copy_string("&#x03B8;"); return MI;}
1076
"\\upiota" {yylval = wims_mathml_copy_string("&#x03B9;"); return MI;}
1077
"\\upkappa" {yylval = wims_mathml_copy_string("&#x03BA;"); return MI;}
1078
"\\uplambda" {yylval = wims_mathml_copy_string("&#x03BB;"); return MI;}
1079
"\\upmu" {yylval = wims_mathml_copy_string("&#x03BC;"); return MI;}
1080
"\\upnu" {yylval = wims_mathml_copy_string("&#x03BD;"); return MI;}
1081
"\\upxi" {yylval = wims_mathml_copy_string("&#x03BE;"); return MI;}
1082
"\\upomicron" {yylval = wims_mathml_copy_string("&#x03BF;"); return MI;}
1083
"\\uppi" {yylval = wims_mathml_copy_string("&#x03C0;"); return MI;}
1084
"\\uprho" {yylval = wims_mathml_copy_string("&#x03C1;"); return MI;}
1085
"\\upvarsigma" {yylval = wims_mathml_copy_string("&#x03C2;"); return MI;}
1086
"\\upsigma" {yylval = wims_mathml_copy_string("&#x03C3;"); return MI;}
1087
"\\uptau" {yylval = wims_mathml_copy_string("&#x03C4;"); return MI;}
1088
"\\upupsilon" {yylval = wims_mathml_copy_string("&#x03C5;"); return MI;}
1089
"\\upvarphi" {yylval = wims_mathml_copy_string("&#x03C6;"); return MI;}
1090
"\\upchi" {yylval = wims_mathml_copy_string("&#x03C7;"); return MI;}
1091
"\\uppsi" {yylval = wims_mathml_copy_string("&#x03C8;"); return MI;}
1092
"\\upomega" {yylval = wims_mathml_copy_string("&#x03C9;"); return MI;}
1093
"\\upvarbeta" {yylval = wims_mathml_copy_string("&#x03D0;"); return MI;}
1094
"\\upvartheta" {yylval = wims_mathml_copy_string("&#x03D1;"); return MI;}
1095
"\\upphi" {yylval = wims_mathml_copy_string("&#x03D5;"); return MI;}
1096
"\\upvarpi" {yylval = wims_mathml_copy_string("&#x03D6;"); return MI;}
1097
"\\upoldKoppa" {yylval = wims_mathml_copy_string("&#x03D8;"); return MI;}
1098
"\\upoldkoppa" {yylval = wims_mathml_copy_string("&#x03D9;"); return MI;}
1099
"\\upStigma" {yylval = wims_mathml_copy_string("&#x03DA;"); return MI;}
1100
"\\upstigma" {yylval = wims_mathml_copy_string("&#x03DB;"); return MI;}
1101
"\\upDigamma" {yylval = wims_mathml_copy_string("&#x03DC;"); return MI;}
1102
"\\updigamma" {yylval = wims_mathml_copy_string("&#x03DD;"); return MI;}
1103
"\\upKoppa" {yylval = wims_mathml_copy_string("&#x03DE;"); return MI;}
1104
"\\upkoppa" {yylval = wims_mathml_copy_string("&#x03DF;"); return MI;}
1105
"\\upSampi" {yylval = wims_mathml_copy_string("&#x03E0;"); return MI;}
1106
"\\upsampi" {yylval = wims_mathml_copy_string("&#x03E1;"); return MI;}
1107
"\\upvarkappa" {yylval = wims_mathml_copy_string("&#x03F0;"); return MI;}
1108
"\\upvarrho" {yylval = wims_mathml_copy_string("&#x03F1;"); return MI;}
1109
"\\upvarTheta" {yylval = wims_mathml_copy_string("&#x03F4;"); return MI;}
1110
"\\upvarepsilon" {yylval = wims_mathml_copy_string("&#x03F5;"); return MI;}
1111
"\\upbackepsilon" {yylval = wims_mathml_copy_string("&#x03F6;"); return MI;}
1112
"\\horizbar" {yylval = wims_mathml_copy_string("&#x2015;"); return MI;}
1113
"\\twolowline" {yylval = wims_mathml_copy_string("&#x2017;"); return MI;}
1114
"\\enleadertwodots" {yylval = wims_mathml_copy_string("&#x2025;"); return MI;}
1115
"\\unicodeellipsis" {yylval = wims_mathml_copy_string("&#x2026;"); return MI;}
1116
"\\dprime" {yylval = wims_mathml_copy_string("&#x2033;"); return MI;}
1117
"\\trprime" {yylval = wims_mathml_copy_string("&#x2034;"); return MI;}
1118
"\\backdprime" {yylval = wims_mathml_copy_string("&#x2036;"); return MI;}
1119
"\\backtrprime" {yylval = wims_mathml_copy_string("&#x2037;"); return MI;}
1120
"\\caretinsert" {yylval = wims_mathml_copy_string("&#x2038;"); return MI;}
1121
"\\Exclam" {yylval = wims_mathml_copy_string("&#x203C;"); return MI;}
1122
"\\tieconcat" {yylval = wims_mathml_copy_string("&#x2040;"); return MO;}
1123
"\\hyphenbullet" {yylval = wims_mathml_copy_string("&#x2043;"); return MI;}
1124
"\\fracslash" {yylval = wims_mathml_copy_string("&#x2044;"); return MO;}
1125
"\\Question" {yylval = wims_mathml_copy_string("&#x2047;"); return MI;}
1126
"\\qprime" {yylval = wims_mathml_copy_string("&#x2057;"); return MI;}
5520 bpr 1127
"\\euro" |
1128
"\\Euro" |
11589 schaersvoo 1129
"\\EUR" {yylval = wims_mathml_copy_string("&#x20AC;"); return MI;}
1130
"\\leftharpoonaccent" {yylval = wims_mathml_copy_string("&#x20D0;"); return MI;}
1131
"\\rightharpoonaccent" {yylval = wims_mathml_copy_string("&#x20D1;"); return MI;}
1132
"\\vertoverlay" {yylval = wims_mathml_copy_string("&#x20D2;"); return MI;}
1133
"\\enclosecircle" {yylval = wims_mathml_copy_string("&#x20DD;"); return MI;}
1134
"\\enclosesquare" {yylval = wims_mathml_copy_string("&#x20DE;"); return MI;}
1135
"\\enclosediamond" {yylval = wims_mathml_copy_string("&#x20DF;"); return MI;}
1136
"\\enclosetriangle" {yylval = wims_mathml_copy_string("&#x20E4;"); return MI;}
1137
"\\annuity" {yylval = wims_mathml_copy_string("&#x20E7;"); return MI;}
1138
"\\threeunderdot" {yylval = wims_mathml_copy_string("&#x20E8;"); return MI;}
1139
"\\widebridgeabove" {yylval = wims_mathml_copy_string("&#x20E9;"); return MI;}
1140
"\\asteraccent" {yylval = wims_mathml_copy_string("&#x20F0;"); return MI;}
1141
"\\BbbC" {yylval = wims_mathml_copy_string("&#x2102;"); return MI;}
1142
"\\Eulerconst" {yylval = wims_mathml_copy_string("&#x2107;"); return MI;}
1143
"\\mscrg" {yylval = wims_mathml_copy_string("&#x210A;"); return MI;}
1144
"\\mscrH" {yylval = wims_mathml_copy_string("&#x210B;"); return MI;}
1145
"\\mfrakH" {yylval = wims_mathml_copy_string("&#x210C;"); return MI;}
1146
"\\BbbH" {yylval = wims_mathml_copy_string("&#x210D;"); return MI;}
1147
"\\Planckconst" {yylval = wims_mathml_copy_string("&#x210E;"); return MI;}
1148
"\\hslash" {yylval = wims_mathml_copy_string("&#x210F;"); return MI;}
1149
"\\mscrI" {yylval = wims_mathml_copy_string("&#x2110;"); return MI;}
1150
"\\mscrL" {yylval = wims_mathml_copy_string("&#x2112;"); return MI;}
1151
"\\BbbN" {yylval = wims_mathml_copy_string("&#x2115;"); return MI;}
1152
"\\BbbP" {yylval = wims_mathml_copy_string("&#x2119;"); return MI;}
1153
"\\BbbQ" {yylval = wims_mathml_copy_string("&#x211A;"); return MI;}
1154
"\\mscrR" {yylval = wims_mathml_copy_string("&#x211B;"); return MI;}
1155
"\\BbbR" {yylval = wims_mathml_copy_string("&#x211D;"); return MI;}
1156
"\\BbbZ" {yylval = wims_mathml_copy_string("&#x2124;"); return MI;}
1157
"\\mfrakZ" {yylval = wims_mathml_copy_string("&#x2128;"); return MI;}
1158
"\\turnediota" {yylval = wims_mathml_copy_string("&#x2129;"); return MI;}
1159
"\\Angstrom" {yylval = wims_mathml_copy_string("&#x212B;"); return MI;}
1160
"\\mscrB" {yylval = wims_mathml_copy_string("&#x212C;"); return MI;}
1161
"\\mfrakC" {yylval = wims_mathml_copy_string("&#x212D;"); return MI;}
1162
"\\mscre" {yylval = wims_mathml_copy_string("&#x212F;"); return MI;}
1163
"\\mscrE" {yylval = wims_mathml_copy_string("&#x2130;"); return MI;}
1164
"\\mscrF" {yylval = wims_mathml_copy_string("&#x2131;"); return MI;}
1165
"\\Finv" {yylval = wims_mathml_copy_string("&#x2132;"); return MI;}
1166
"\\mscrM" {yylval = wims_mathml_copy_string("&#x2133;"); return MI;}
1167
"\\mscro" {yylval = wims_mathml_copy_string("&#x2134;"); return MI;}
1168
"\\gimel" {yylval = wims_mathml_copy_string("&#x2137;"); return MI;}
1169
"\\daleth" {yylval = wims_mathml_copy_string("&#x2138;"); return MI;}
1170
"\\Bbbpi" {yylval = wims_mathml_copy_string("&#x213C;"); return MI;}
1171
"\\Bbbgamma" {yylval = wims_mathml_copy_string("&#x213D;"); return MI;}
1172
"\\BbbGamma" {yylval = wims_mathml_copy_string("&#x213E;"); return MI;}
1173
"\\BbbPi" {yylval = wims_mathml_copy_string("&#x213F;"); return MI;}
1174
"\\Bbbsum" {yylval = wims_mathml_copy_string("&#x2140;"); return MI;}
1175
"\\Game" {yylval = wims_mathml_copy_string("&#x2141;"); return MI;}
1176
"\\sansLturned" {yylval = wims_mathml_copy_string("&#x2142;"); return MI;}
1177
"\\sansLmirrored" {yylval = wims_mathml_copy_string("&#x2143;"); return MI;}
1178
"\\Yup" {yylval = wims_mathml_copy_string("&#x2144;"); return MI;}
1179
"\\mitBbbD" {yylval = wims_mathml_copy_string("&#x2145;"); return MI;}
1180
"\\mitBbbd" {yylval = wims_mathml_copy_string("&#x2146;"); return MI;}
1181
"\\mitBbbe" {yylval = wims_mathml_copy_string("&#x2147;"); return MI;}
1182
"\\mitBbbi" {yylval = wims_mathml_copy_string("&#x2148;"); return MI;}
1183
"\\mitBbbj" {yylval = wims_mathml_copy_string("&#x2149;"); return MI;}
1184
"\\PropertyLine" {yylval = wims_mathml_copy_string("&#x214A;"); return MI;}
1185
"\\upand" {yylval = wims_mathml_copy_string("&#x214B;"); return MI;}
1186
"\\leftwavearrow" {yylval = wims_mathml_copy_string("&#x219C;"); return MO;}
1187
"\\rightwavearrow" {yylval = wims_mathml_copy_string("&#x219D;"); return MO;}
1188
"\\twoheaduparrow" {yylval = wims_mathml_copy_string("&#x219F;"); return MO;}
1189
"\\twoheaddownarrow" {yylval = wims_mathml_copy_string("&#x21A1;"); return MO;}
1190
"\\mapsfrom" {yylval = wims_mathml_copy_string("&#x21A4;"); return MO;}
1191
"\\mapsup" {yylval = wims_mathml_copy_string("&#x21A5;"); return MO;}
1192
"\\mapsdown" {yylval = wims_mathml_copy_string("&#x21A7;"); return MO;}
1193
"\\updownarrowbar" {yylval = wims_mathml_copy_string("&#x21A8;"); return MO;}
1194
"\\Ldsh" {yylval = wims_mathml_copy_string("&#x21B2;"); return MO;}
1195
"\\Rdsh" {yylval = wims_mathml_copy_string("&#x21B3;"); return MO;}
1196
"\\linefeed" {yylval = wims_mathml_copy_string("&#x21B4;"); return MI;}
1197
"\\carriagereturn" {yylval = wims_mathml_copy_string("&#x21B5;"); return MI;}
1198
"\\barovernorthwestarrow" {yylval = wims_mathml_copy_string("&#x21B8;"); return MI;}
1199
"\\barleftarrowrightarrow" {yylval = wims_mathml_copy_string("&#x21B9;"); return MI;}
1200
"\\acwopencirclearrow" {yylval = wims_mathml_copy_string("&#x21BA;"); return MO;}
1201
"\\cwopencirclearrow" {yylval = wims_mathml_copy_string("&#x21BB;"); return MO;}
1202
"\\leftharpoondown" {yylval = wims_mathml_copy_string("&#x21BD;"); return MO;}
1203
"\\rightharpoonup" {yylval = wims_mathml_copy_string("&#x21C0;"); return MO;}
1204
"\\rightharpoondown" {yylval = wims_mathml_copy_string("&#x21C1;"); return MO;}
1205
"\\updownarrows" {yylval = wims_mathml_copy_string("&#x21C5;"); return MO;}
1206
"\\Nwarrow" {yylval = wims_mathml_copy_string("&#x21D6;"); return MO;}
1207
"\\Nearrow" {yylval = wims_mathml_copy_string("&#x21D7;"); return MO;}
1208
"\\Searrow" {yylval = wims_mathml_copy_string("&#x21D8;"); return MO;}
1209
"\\Swarrow" {yylval = wims_mathml_copy_string("&#x21D9;"); return MO;}
1210
"\\nHuparrow" {yylval = wims_mathml_copy_string("&#x21DE;"); return MO;}
1211
"\\nHdownarrow" {yylval = wims_mathml_copy_string("&#x21DF;"); return MO;}
1212
"\\leftdasharrow" {yylval = wims_mathml_copy_string("&#x21E0;"); return MO;}
1213
"\\updasharrow" {yylval = wims_mathml_copy_string("&#x21E1;"); return MO;}
1214
"\\rightdasharrow" {yylval = wims_mathml_copy_string("&#x21E2;"); return MO;}
1215
"\\downdasharrow" {yylval = wims_mathml_copy_string("&#x21E3;"); return MO;}
1216
"\\barleftarrow" {yylval = wims_mathml_copy_string("&#x21E4;"); return MO;}
1217
"\\rightarrowbar" {yylval = wims_mathml_copy_string("&#x21E5;"); return MO;}
1218
"\\leftwhitearrow" {yylval = wims_mathml_copy_string("&#x21E6;"); return MO;}
1219
"\\upwhitearrow" {yylval = wims_mathml_copy_string("&#x21E7;"); return MO;}
1220
"\\rightwhitearrow" {yylval = wims_mathml_copy_string("&#x21E8;"); return MO;}
1221
"\\downwhitearrow" {yylval = wims_mathml_copy_string("&#x21E9;"); return MO;}
1222
"\\whitearrowupfrombar" {yylval = wims_mathml_copy_string("&#x21EA;"); return MI;}
1223
"\\circleonrightarrow" {yylval = wims_mathml_copy_string("&#x21F4;"); return MO;}
1224
"\\downuparrows" {yylval = wims_mathml_copy_string("&#x21F5;"); return MO;}
1225
"\\rightthreearrows" {yylval = wims_mathml_copy_string("&#x21F6;"); return MO;}
1226
"\\nvleftarrow" {yylval = wims_mathml_copy_string("&#x21F7;"); return MO;}
1227
"\\nvrightarrow" {yylval = wims_mathml_copy_string("&#x21F8;"); return MO;}
1228
"\\nvleftrightarrow" {yylval = wims_mathml_copy_string("&#x21F9;"); return MO;}
1229
"\\nVleftarrow" {yylval = wims_mathml_copy_string("&#x21FA;"); return MO;}
1230
"\\nVrightarrow" {yylval = wims_mathml_copy_string("&#x21FB;"); return MO;}
1231
"\\nVleftrightarrow" {yylval = wims_mathml_copy_string("&#x21FC;"); return MO;}
1232
"\\leftarrowtriangle" {yylval = wims_mathml_copy_string("&#x21FD;"); return MO;}
1233
"\\rightarrowtriangle" {yylval = wims_mathml_copy_string("&#x21FE;"); return MO;}
1234
"\\leftrightarrowtriangle" {yylval = wims_mathml_copy_string("&#x21FF;"); return MO;}
1235
"\\complement" {yylval = wims_mathml_copy_string("&#x2201;"); return MO;}
1236
"\\increment" {yylval = wims_mathml_copy_string("&#x2206;"); return MO;}
1237
"\\smallin" {yylval = wims_mathml_copy_string("&#x220A;"); return MO;}
1238
"\\nni" {yylval = wims_mathml_copy_string("&#x220C;"); return MO;}
1239
"\\smallni" {yylval = wims_mathml_copy_string("&#x220D;"); return MO;}
1240
"\\QED" {yylval = wims_mathml_copy_string("&#x220E;"); return MI;}
1241
"\\minus" {yylval = wims_mathml_copy_string("&#x2212;"); return MO;}
1242
"\\divslash" {yylval = wims_mathml_copy_string("&#x2215;"); return MO;}
1243
"\\vysmwhtcircle" {yylval = wims_mathml_copy_string("&#x2218;"); return MO;}
1244
"\\vysmblkcircle" {yylval = wims_mathml_copy_string("&#x2219;"); return MO;}
1245
"\\cuberoot" {yylval = wims_mathml_copy_string("&#x221B;"); return MI;}
1246
"\\rightangle" {yylval = wims_mathml_copy_string("&#x221F;"); return MI;}
1247
"\\intclockwise" {yylval = wims_mathml_copy_string("&#x2231;"); return MI;}
1248
"\\mathratio" {yylval = wims_mathml_copy_string("&#x2236;"); return MO;}
1249
"\\Colon" {yylval = wims_mathml_copy_string("&#x2237;"); return MO;}
1250
"\\dotminus" {yylval = wims_mathml_copy_string("&#x2238;"); return MO;}
1251
"\\dashcolon" {yylval = wims_mathml_copy_string("&#x2239;"); return MO;}
1252
"\\dotsminusdots" {yylval = wims_mathml_copy_string("&#x223A;"); return MO;}
1253
"\\kernelcontraction" {yylval = wims_mathml_copy_string("&#x223B;"); return MO;}
1254
"\\invlazys" {yylval = wims_mathml_copy_string("&#x223E;"); return MO;}
1255
"\\sinewave" {yylval = wims_mathml_copy_string("&#x223F;"); return MI;}
1256
"\\eqsim" {yylval = wims_mathml_copy_string("&#x2242;"); return MO;}
1257
"\\nsime" {yylval = wims_mathml_copy_string("&#x2244;"); return MO;}
1258
"\\simneqq" {yylval = wims_mathml_copy_string("&#x2246;"); return MO;}
1259
"\\napprox" {yylval = wims_mathml_copy_string("&#x2249;"); return MO;}
1260
"\\approxident" {yylval = wims_mathml_copy_string("&#x224B;"); return MO;}
1261
"\\backcong" {yylval = wims_mathml_copy_string("&#x224C;"); return MO;}
1262
"\\Doteq" {yylval = wims_mathml_copy_string("&#x2251;"); return MO;}
1263
"\\arceq" {yylval = wims_mathml_copy_string("&#x2258;"); return MO;}
1264
"\\wedgeq" {yylval = wims_mathml_copy_string("&#x2259;"); return MO;}
1265
"\\veeeq" {yylval = wims_mathml_copy_string("&#x225A;"); return MO;}
1266
"\\stareq" {yylval = wims_mathml_copy_string("&#x225B;"); return MO;}
1267
"\\eqdef" {yylval = wims_mathml_copy_string("&#x225D;"); return MO;}
1268
"\\measeq" {yylval = wims_mathml_copy_string("&#x225E;"); return MO;}
1269
"\\questeq" {yylval = wims_mathml_copy_string("&#x225F;"); return MO;}
1270
"\\Equiv" {yylval = wims_mathml_copy_string("&#x2263;"); return MO;}
1271
"\\nlessgtr" {yylval = wims_mathml_copy_string("&#x2278;"); return MO;}
1272
"\\ngtrless" {yylval = wims_mathml_copy_string("&#x2279;"); return MO;}
1273
"\\cupleftarrow" {yylval = wims_mathml_copy_string("&#x228C;"); return MO;}
1274
"\\cupdot" {yylval = wims_mathml_copy_string("&#x228D;"); return MO;}
1275
"\\circledequal" {yylval = wims_mathml_copy_string("&#x229C;"); return MO;}
1276
"\\assert" {yylval = wims_mathml_copy_string("&#x22A6;"); return MO;}
1277
"\\nVdash" {yylval = wims_mathml_copy_string("&#x22AE;"); return MO;}
1278
"\\prurel" {yylval = wims_mathml_copy_string("&#x22B0;"); return MO;}
1279
"\\scurel" {yylval = wims_mathml_copy_string("&#x22B1;"); return MO;}
1280
"\\origof" {yylval = wims_mathml_copy_string("&#x22B6;"); return MO;}
1281
"\\imageof" {yylval = wims_mathml_copy_string("&#x22B7;"); return MO;}
1282
"\\hermitmatrix" {yylval = wims_mathml_copy_string("&#x22B9;"); return MO;}
1283
"\\barvee" {yylval = wims_mathml_copy_string("&#x22BD;"); return MO;}
1284
"\\measuredrightangle" {yylval = wims_mathml_copy_string("&#x22BE;"); return MI;}
1285
"\\varlrtriangle" {yylval = wims_mathml_copy_string("&#x22BF;"); return MI;}
1286
"\\smwhtdiamond" {yylval = wims_mathml_copy_string("&#x22C4;"); return MO;}
1287
"\\eqless" {yylval = wims_mathml_copy_string("&#x22DC;"); return MO;}
1288
"\\eqgtr" {yylval = wims_mathml_copy_string("&#x22DD;"); return MO;}
1289
"\\npreccurlyeq" {yylval = wims_mathml_copy_string("&#x22E0;"); return MO;}
1290
"\\nsucccurlyeq" {yylval = wims_mathml_copy_string("&#x22E1;"); return MO;}
1291
"\\nsqsubseteq" {yylval = wims_mathml_copy_string("&#x22E2;"); return MO;}
1292
"\\nsqsupseteq" {yylval = wims_mathml_copy_string("&#x22E3;"); return MO;}
1293
"\\sqsubsetneq" {yylval = wims_mathml_copy_string("&#x22E4;"); return MO;}
1294
"\\sqsupsetneq" {yylval = wims_mathml_copy_string("&#x22E5;"); return MO;}
1295
"\\unicodecdots" {yylval = wims_mathml_copy_string("&#x22EF;"); return MO;}
1296
"\\adots" {yylval = wims_mathml_copy_string("&#x22F0;"); return MO;}
1297
"\\disin" {yylval = wims_mathml_copy_string("&#x22F2;"); return MO;}
1298
"\\longdivision" {yylval = wims_mathml_copy_string("&#x27CC;"); return MI;}
1299
"\\leftouterjoin" {yylval = wims_mathml_copy_string("&#x27D5;"); return MI;}
1300
"\\rightouterjoin" {yylval = wims_mathml_copy_string("&#x27D6;"); return MI;}
1301
"\\fullouterjoin" {yylval = wims_mathml_copy_string("&#x27D7;"); return MI;}
1302
"\\lBrack" {yylval = wims_mathml_copy_string("&#x27E6;"); return LEFTDELIM;}
1303
"\\rBrack" {yylval = wims_mathml_copy_string("&#x27E7;"); return RIGHTDELIM;}
1304
"\\lAngle" {yylval = wims_mathml_copy_string("&#x27EA;"); return LEFTDELIM;}
1305
"\\rAngle" {yylval = wims_mathml_copy_string("&#x27EB;"); return RIGHTDELIM;}
1306
"\\longrightsquigarrow" {yylval = wims_mathml_copy_string("&#x27FF;");return MOL;}
1307
"\\nvtwoheadrightarrow" {yylval = wims_mathml_copy_string("&#x2900;");return MOL;}
1308
"\\nVtwoheadrightarrow" {yylval = wims_mathml_copy_string("&#x2901;");return MOL;}
1309
"\\nvLeftarrow" {yylval = wims_mathml_copy_string("&#x2902;");return MOL;}
1310
"\\nvRightarrow" {yylval = wims_mathml_copy_string("&#x2903;");return MOL;}
1311
"\\nvLeftrightarrow" {yylval = wims_mathml_copy_string("&#x2904;");return MOL;}
1312
"\\twoheadmapsto" {yylval = wims_mathml_copy_string("&#x2905;");return MOL;}
1313
"\\Mapsfrom" {yylval = wims_mathml_copy_string("&#x2906;");return MOL;}
1314
"\\rightdotarrow" {yylval = wims_mathml_copy_string("&#x2911;");return MOL;}
1315
"\\baruparrow" {yylval = wims_mathml_copy_string("&#x2912;");return MOL;}
1316
"\\downarrowbar" {yylval = wims_mathml_copy_string("&#x2913;");return MOL;}
1317
"\\nvrightarrowtail" {yylval = wims_mathml_copy_string("&#x2914;");return MOL;}
1318
"\\nVrightarrowtail" {yylval = wims_mathml_copy_string("&#x2915;");return MOL;}
1319
"\\twoheadrightarrowtail" {yylval = wims_mathml_copy_string("&#x2916;");return MOL;}
1320
"\\nvtwoheadrightarrowtail" {yylval = wims_mathml_copy_string("&#x2917;");return MOL;}
1321
"\\nVtwoheadrightarrowtail" {yylval = wims_mathml_copy_string("&#x2918;");return MOL;}
1322
"\\lefttail" {yylval = wims_mathml_copy_string("&#x2919;");return MOL;}
1323
"\\righttail" {yylval = wims_mathml_copy_string("&#x291A;");return MOL;}
1324
"\\leftdbltail" {yylval = wims_mathml_copy_string("&#x291B;");return MOL;}
1325
"\\rightdbltail" {yylval = wims_mathml_copy_string("&#x291C;");return MOL;}
1326
"\\diamondleftarrow" {yylval = wims_mathml_copy_string("&#x291D;");return MOL;}
1327
"\\rightarrowdiamond" {yylval = wims_mathml_copy_string("&#x291E;");return MOL;}
1328
"\\diamondleftarrowbar" {yylval = wims_mathml_copy_string("&#x291F;");return MOL;}
1329
"\\barrightarrowdiamond" {yylval = wims_mathml_copy_string("&#x2920;");return MOL;}
1330
"\\nwsearrow" {yylval = wims_mathml_copy_string("&#x2921;");return MOL;}
1331
"\\neswarrow" {yylval = wims_mathml_copy_string("&#x2922;");return MOL;}
1332
"\\hknwarrow" {yylval = wims_mathml_copy_string("&#x2923;");return MOL;}
1333
"\\hknearrow" {yylval = wims_mathml_copy_string("&#x2924;");return MOL;}
1334
"\\hksearow" {yylval = wims_mathml_copy_string("&#x2925;");return MOL;}
1335
"\\hkswarow" {yylval = wims_mathml_copy_string("&#x2926;");return MOL;}
1336
"\\tona" {yylval = wims_mathml_copy_string("&#x2927;");return MOL;}
1337
"\\toea" {yylval = wims_mathml_copy_string("&#x2928;");return MOL;}
1338
"\\tosa" {yylval = wims_mathml_copy_string("&#x2929;");return MOL;}
1339
"\\towa" {yylval = wims_mathml_copy_string("&#x292A;");return MOL;}
1340
"\\rdiagovfdiag" {yylval = wims_mathml_copy_string("&#x292B;");return MOL;}
1341
"\\fdiagovrdiag" {yylval = wims_mathml_copy_string("&#x292C;");return MOL;}
1342
"\\seovnearrow" {yylval = wims_mathml_copy_string("&#x292D;");return MOL;}
1343
"\\neovsearrow" {yylval = wims_mathml_copy_string("&#x292E;");return MOL;}
1344
"\\fdiagovnearrow" {yylval = wims_mathml_copy_string("&#x292F;");return MOL;}
1345
"\\rdiagovsearrow" {yylval = wims_mathml_copy_string("&#x2930;");return MOL;}
1346
"\\neovnwarrow" {yylval = wims_mathml_copy_string("&#x2931;");return MOL;}
1347
"\\nwovnearrow" {yylval = wims_mathml_copy_string("&#x2932;");return MOL;}
1348
"\\rightcurvedarrow" {yylval = wims_mathml_copy_string("&#x2933;");return MOL;}
1349
"\\uprightcurvearrow" {yylval = wims_mathml_copy_string("&#x2934;");return MOL;}
1350
"\\downrightcurvedarrow" {yylval = wims_mathml_copy_string("&#x2935;");return MOL;}
1351
"\\leftdowncurvedarrow" {yylval = wims_mathml_copy_string("&#x2936;");return MOL;}
1352
"\\rightdowncurvedarrow" {yylval = wims_mathml_copy_string("&#x2937;");return MOL;}
1353
"\\cwrightarcarrow" {yylval = wims_mathml_copy_string("&#x2938;");return MOL;}
1354
"\\acwleftarcarrow" {yylval = wims_mathml_copy_string("&#x2939;");return MOL;}
1355
"\\acwoverarcarrow" {yylval = wims_mathml_copy_string("&#x293A;");return MOL;}
1356
"\\acwunderarcarrow" {yylval = wims_mathml_copy_string("&#x293B;");return MOL;}
1357
"\\curvearrowrightminus" {yylval = wims_mathml_copy_string("&#x293C;");return MOL;}
1358
"\\curvearrowleftplus" {yylval = wims_mathml_copy_string("&#x293D;");return MOL;}
1359
"\\cwundercurvearrow" {yylval = wims_mathml_copy_string("&#x293E;");return MOL;}
1360
"\\ccwundercurvearrow" {yylval = wims_mathml_copy_string("&#x293F;");return MOL;}
1361
"\\acwcirclearrow" {yylval = wims_mathml_copy_string("&#x2940;");return MOL;}
1362
"\\cwcirclearrow" {yylval = wims_mathml_copy_string("&#x2941;");return MOL;}
1363
"\\rightarrowshortleftarrow" {yylval = wims_mathml_copy_string("&#x2942;");return MOL;}
1364
"\\leftarrowshortrightarrow" {yylval = wims_mathml_copy_string("&#x2943;");return MOL;}
1365
"\\shortrightarrowleftarrow" {yylval = wims_mathml_copy_string("&#x2944;");return MOL;}
1366
"\\rightarrowplus" {yylval = wims_mathml_copy_string("&#x2945;");return MOL;}
1367
"\\leftarrowplus" {yylval = wims_mathml_copy_string("&#x2946;");return MOL;}
1368
"\\rightarrowx" {yylval = wims_mathml_copy_string("&#x2947;");return MOL;}
1369
"\\leftrightarrowcircle" {yylval = wims_mathml_copy_string("&#x2948;");return MOL;}
1370
"\\twoheaduparrowcircle" {yylval = wims_mathml_copy_string("&#x2949;");return MOL;}
1371
"\\leftrightharpoonupdown" {yylval = wims_mathml_copy_string("&#x294A;");return MOL;}
1372
"\\leftrightharpoondownup" {yylval = wims_mathml_copy_string("&#x294B;");return MOL;}
1373
"\\updownharpoonrightleft" {yylval = wims_mathml_copy_string("&#x294C;");return MOL;}
1374
"\\updownharpoonleftright" {yylval = wims_mathml_copy_string("&#x294D;");return MOL;}
1375
"\\leftrightharpoonupup" {yylval = wims_mathml_copy_string("&#x294E;");return MOL;}
1376
"\\updownharpoonrightright" {yylval = wims_mathml_copy_string("&#x294F;");return MOL;}
1377
"\\leftrightharpoondowndown" {yylval = wims_mathml_copy_string("&#x2950;");return MOL;}
1378
"\\updownharpoonleftleft" {yylval = wims_mathml_copy_string("&#x2951;");return MOL;}
1379
"\\barleftharpoonup" {yylval = wims_mathml_copy_string("&#x2952;");return MOL;}
1380
"\\rightharpoonupbar" {yylval = wims_mathml_copy_string("&#x2953;");return MOL;}
1381
"\\barupharpoonright" {yylval = wims_mathml_copy_string("&#x2954;");return MOL;}
1382
"\\lParen" {yylval = wims_mathml_copy_string("&#x2985;"); return LEFTDELIM;}
1383
"\\rParen" {yylval = wims_mathml_copy_string("&#x2986;"); return RIGHTDELIM;}
1384
"\\llparenthesis" {yylval = wims_mathml_copy_string("&#x2987;"); return LEFTDELIM;}
1385
"\\rrparenthesis" {yylval = wims_mathml_copy_string("&#x2988;"); return RIGHTDELIM;}
1386
"\\llangle" {yylval = wims_mathml_copy_string("&#x2989;"); return LEFTDELIM;}
1387
"\\rrangle" {yylval = wims_mathml_copy_string("&#x298A;"); return RIGHTDELIM;}
1388
"\\lbrackubar" {yylval = wims_mathml_copy_string("&#x298B;"); return LEFTDELIM;}
1389
"\\rbrackubar" {yylval = wims_mathml_copy_string("&#x298C;"); return RIGHTDELIM;}
1390
"\\lbrackultick" {yylval = wims_mathml_copy_string("&#x298D;"); return LEFTDELIM;}
1391
"\\rbracklrtick" {yylval = wims_mathml_copy_string("&#x298E;"); return RIGHTDELIM;}
1392
"\\lbracklltick" {yylval = wims_mathml_copy_string("&#x298F;"); return LEFTDELIM;}
1393
"\\rbrackurtick" {yylval = wims_mathml_copy_string("&#x2990;"); return RIGHTDELIM;}
1394
"\\langledot" {yylval = wims_mathml_copy_string("&#x2991;"); return LEFTDELIM;}
1395
"\\rangledot" {yylval = wims_mathml_copy_string("&#x2992;"); return RIGHTDELIM;}
1396
"\\lparenless" {yylval = wims_mathml_copy_string("&#x2993;"); return LEFTDELIM;}
1397
"\\rparengtr" {yylval = wims_mathml_copy_string("&#x2994;"); return RIGHTDELIM;}
1398
"\\Lparengtr" {yylval = wims_mathml_copy_string("&#x2995;"); return LEFTDELIM;}
1399
"\\Rparenless" {yylval = wims_mathml_copy_string("&#x2996;"); return RIGHTDELIM;}
1400
"\\lblkbrbrak" {yylval = wims_mathml_copy_string("&#x2997;"); return LEFTDELIM;}
1401
"\\rblkbrbrak" {yylval = wims_mathml_copy_string("&#x2998;"); return RIGHTDELIM;}
1402
"\\fourvdots" {yylval = wims_mathml_copy_string("&#x2999;"); return OTHERDELIM;}
1403
"\\vzigzag" {yylval = wims_mathml_copy_string("&#x299A;"); return OTHERDELIM;}
1404
"\\measuredangleleft" {yylval = wims_mathml_copy_string("&#x299B;"); return MI;}
1405
"\\rightanglesqr" {yylval = wims_mathml_copy_string("&#x299C;"); return MI;}
1406
"\\rightanglemdot" {yylval = wims_mathml_copy_string("&#x299D;"); return MI;}
1407
"\\angles" {yylval = wims_mathml_copy_string("&#x299E;"); return MI;}
1408
"\\angdnr" {yylval = wims_mathml_copy_string("&#x299F;"); return MI;}
1409
"\\gtlpar" {yylval = wims_mathml_copy_string("&#x29A0;"); return MI;}
1410
"\\sphericalangleup" {yylval = wims_mathml_copy_string("&#x29A1;"); return MI;}
1411
"\\turnangle" {yylval = wims_mathml_copy_string("&#x29A2;"); return MI;}
1412
"\\revangle" {yylval = wims_mathml_copy_string("&#x29A3;"); return MI;}
1413
"\\angleubar" {yylval = wims_mathml_copy_string("&#x29A4;"); return MI;}
1414
"\\revangleubar" {yylval = wims_mathml_copy_string("&#x29A5;"); return MI;}
1415
"\\wideangledown" {yylval = wims_mathml_copy_string("&#x29A6;"); return MI;}
1416
"\\wideangleup" {yylval = wims_mathml_copy_string("&#x29A7;"); return MI;}
1417
"\\measanglerutone" {yylval = wims_mathml_copy_string("&#x29A8;"); return MI;}
1418
"\\measanglelutonw" {yylval = wims_mathml_copy_string("&#x29A9;"); return MI;}
1419
"\\measanglerdtose" {yylval = wims_mathml_copy_string("&#x29AA;"); return MI;}
1420
"\\measangleldtosw" {yylval = wims_mathml_copy_string("&#x29AB;"); return MI;}
1421
"\\measangleurtone" {yylval = wims_mathml_copy_string("&#x29AC;"); return MI;}
1422
"\\measangleultonw" {yylval = wims_mathml_copy_string("&#x29AD;"); return MI;}
1423
"\\measangledrtose" {yylval = wims_mathml_copy_string("&#x29AE;"); return MI;}
1424
"\\measangledltosw" {yylval = wims_mathml_copy_string("&#x29AF;"); return MI;}
1425
"\\revemptyset" {yylval = wims_mathml_copy_string("&#x29B0;"); return MI;}
1426
"\\emptysetobar" {yylval = wims_mathml_copy_string("&#x29B1;"); return MI;}
1427
"\\emptysetocirc" {yylval = wims_mathml_copy_string("&#x29B2;"); return MI;}
1428
"\\emptysetoarr" {yylval = wims_mathml_copy_string("&#x29B3;"); return MI;}
1429
"\\emptysetoarrl" {yylval = wims_mathml_copy_string("&#x29B4;"); return MI;}
1430
"\\circlehbar" {yylval = wims_mathml_copy_string("&#x29B5;"); return MI;}
1431
"\\circledvert" {yylval = wims_mathml_copy_string("&#x29B6;"); return MO;}
1432
"\\circledparallel" {yylval = wims_mathml_copy_string("&#x29B7;"); return MO;}
1433
"\\obslash" {yylval = wims_mathml_copy_string("&#x29B8;"); return MO;}
1434
"\\operp" {yylval = wims_mathml_copy_string("&#x29B9;"); return MO;}
1435
"\\obot" {yylval = wims_mathml_copy_string("&#x29BA;"); return MI;}
1436
"\\olcross" {yylval = wims_mathml_copy_string("&#x29BB;"); return MI;}
1437
"\\odotslashdot" {yylval = wims_mathml_copy_string("&#x29BC;"); return MI;}
1438
"\\uparrowoncircle" {yylval = wims_mathml_copy_string("&#x29BD;"); return MI;}
1439
"\\circledwhitebullet" {yylval = wims_mathml_copy_string("&#x29BE;"); return MI;}
1440
"\\circledbullet" {yylval = wims_mathml_copy_string("&#x29BF;"); return MI;}
1441
"\\olessthan" {yylval = wims_mathml_copy_string("&#x29C0;"); return MO;}
1442
"\\ogreaterthan" {yylval = wims_mathml_copy_string("&#x29C1;"); return MO;}
1443
"\\cirscir" {yylval = wims_mathml_copy_string("&#x29C2;"); return MI;}
1444
"\\cirE" {yylval = wims_mathml_copy_string("&#x29C3;"); return MI;}
1445
"\\boxdiag" {yylval = wims_mathml_copy_string("&#x29C4;"); return MO;}
1446
"\\boxbslash" {yylval = wims_mathml_copy_string("&#x29C5;"); return MO;}
1447
"\\boxast" {yylval = wims_mathml_copy_string("&#x29C6;"); return MO;}
1448
"\\boxcircle" {yylval = wims_mathml_copy_string("&#x29C7;"); return MO;}
1449
"\\boxbox" {yylval = wims_mathml_copy_string("&#x29C8;"); return MO;}
1450
"\\boxonbox" {yylval = wims_mathml_copy_string("&#x29C9;"); return MI;}
1451
"\\triangleodot" {yylval = wims_mathml_copy_string("&#x29CA;"); return MI;}
1452
"\\triangleubar" {yylval = wims_mathml_copy_string("&#x29CB;"); return MI;}
1453
"\\triangles" {yylval = wims_mathml_copy_string("&#x29CC;"); return MI;}
1454
"\\triangleserifs" {yylval = wims_mathml_copy_string("&#x29CD;"); return MI;}
1455
"\\rtriltri" {yylval = wims_mathml_copy_string("&#x29CE;"); return MOL;}
1456
"\\ltrivb" {yylval = wims_mathml_copy_string("&#x29CF;"); return MOL;}
1457
"\\vbrtri" {yylval = wims_mathml_copy_string("&#x29D0;"); return MOL;}
1458
"\\lfbowtie" {yylval = wims_mathml_copy_string("&#x29D1;"); return MOL;}
1459
"\\rfbowtie" {yylval = wims_mathml_copy_string("&#x29D2;"); return MOL;}
1460
"\\fbowtie" {yylval = wims_mathml_copy_string("&#x29D3;"); return MOL;}
1461
"\\lftimes" {yylval = wims_mathml_copy_string("&#x29D4;"); return MOL;}
1462
"\\rftimes" {yylval = wims_mathml_copy_string("&#x29D5;"); return MOL;}
1463
"\\hourglass" {yylval = wims_mathml_copy_string("&#x29D6;"); return MO;}
1464
"\\blackhourglass" {yylval = wims_mathml_copy_string("&#x29D7;"); return MO;}
1465
"\\lvzigzag" {yylval = wims_mathml_copy_string("&#x29D8;"); return LEFTDELIM;}
1466
"\\rvzigzag" {yylval = wims_mathml_copy_string("&#x29D9;"); return RIGHTDELIM;}
1467
"\\Lvzigzag" {yylval = wims_mathml_copy_string("&#x29DA;"); return LEFTDELIM;}
1468
"\\Rvzigzag" {yylval = wims_mathml_copy_string("&#x29DB;"); return RIGHTDELIM;}
1469
"\\iinfin" {yylval = wims_mathml_copy_string("&#x29DC;"); return MI;}
1470
"\\tieinfty" {yylval = wims_mathml_copy_string("&#x29DD;"); return MI;}
1471
"\\nvinfty" {yylval = wims_mathml_copy_string("&#x29DE;"); return MI;}
1472
"\\dualmap" {yylval = wims_mathml_copy_string("&#x29DF;"); return MOL;}
1473
"\\laplac" {yylval = wims_mathml_copy_string("&#x29E0;"); return MI;}
1474
"\\lrtriangleeq" {yylval = wims_mathml_copy_string("&#x29E1;"); return MOL;}
1475
"\\shuffle" {yylval = wims_mathml_copy_string("&#x29E2;"); return MO;}
1476
"\\eparsl" {yylval = wims_mathml_copy_string("&#x29E3;"); return MOL;}
1477
"\\smeparsl" {yylval = wims_mathml_copy_string("&#x29E4;"); return MOL;}
1478
"\\eqvparsl" {yylval = wims_mathml_copy_string("&#x29E5;"); return MOL;}
1479
"\\gleichstark" {yylval = wims_mathml_copy_string("&#x29E6;"); return MOL;}
1480
"\\thermod" {yylval = wims_mathml_copy_string("&#x29E7;"); return MI;}
1481
"\\downtriangleleftblack" {yylval = wims_mathml_copy_string("&#x29E8;"); return MI;}
1482
"\\downtrianglerightblack" {yylval = wims_mathml_copy_string("&#x29E9;"); return MI;}
1483
"\\blackdiamonddownarrow" {yylval = wims_mathml_copy_string("&#x29EA;"); return MI;}
1484
"\\mdlgblklozenge" {yylval = wims_mathml_copy_string("&#x29EB;"); return MO;}
1485
"\\circledownarrow" {yylval = wims_mathml_copy_string("&#x29EC;"); return MI;}
1486
"\\blackcircledownarrow" {yylval = wims_mathml_copy_string("&#x29ED;"); return MI;}
1487
"\\errbarsquare" {yylval = wims_mathml_copy_string("&#x29EE;"); return MI;}
1488
"\\errbarblacksquare" {yylval = wims_mathml_copy_string("&#x29EF;"); return MI;}
1489
"\\errbardiamond" {yylval = wims_mathml_copy_string("&#x29F0;"); return MI;}
1490
"\\errbarblackdiamond" {yylval = wims_mathml_copy_string("&#x29F1;"); return MI;}
1491
"\\errbarcircle" {yylval = wims_mathml_copy_string("&#x29F2;"); return MI;}
1492
"\\errbarblackcircle" {yylval = wims_mathml_copy_string("&#x29F3;"); return MI;}
1493
"\\ruledelayed" {yylval = wims_mathml_copy_string("&#x29F4;"); return MOL;}
1494
"\\dsol" {yylval = wims_mathml_copy_string("&#x29F6;"); return MO;}
1495
"\\rsolbar" {yylval = wims_mathml_copy_string("&#x29F7;"); return MO;}
1496
"\\xsol" {yylval = wims_mathml_copy_string("&#x29F8;"); return MI;}
1497
"\\xbsol" {yylval = wims_mathml_copy_string("&#x29F9;"); return MI;}
1498
"\\handleft" {yylval=wims_mathml_copy_string("&#x261C;"); return MI;}
1499
"\\handright" {yylval=wims_mathml_copy_string("&#x261E;"); return MI;}
1500
"\\handup" {yylval=wims_mathml_copy_string("&#x261D;"); return MI;}
1501
"\\handdown" {yylval=wims_mathml_copy_string("&#x261F;"); return MI;}
1502
"\\OK" {yylval=wims_mathml_copy_string("&#x2611;"); return MI;}
1503
"\\NOK" {yylval=wims_mathml_copy_string("&#x2612;"); return MI;}
1504
"\\poison" {yylval=wims_mathml_copy_string("&#x2620;"); return MI;}
1505
"\\blitz" {yylval=wims_mathml_copy_string("&#x26A1;"); return MI;}
1506
"\\attention" {yylval=wims_mathml_copy_string("&#x26A0;"); return MI;}
1507
"\\nsmile" {yylval=wims_mathml_copy_string("&#x2639;"); return MI;}
1508
"\\vvvert" {yylval=wims_mathml_copy_string("&#x2AFC;"); return OTHERDELIM;}
5520 bpr 1509
"\\ointclockwise" |
11589 schaersvoo 1510
"\\varointclockwise" {yylval=wims_mathml_copy_string("&#x2A10;"); return MO;}
5520 bpr 1511
"\\ointctrclockwise" |
11589 schaersvoo 1512
"\\varointctrclockwise" {yylval=wims_mathml_copy_string("&#x2A11;"); return MO;}
1513
"\\sqint" {yylval=wims_mathml_copy_string("&#x2A16;"); return MO;}
1514
"\\fint" {yylval=wims_mathml_copy_string("&#x2AOF;"); return MO;}
5520 bpr 1515
"\\diagup"	{yylval=wims_mathml_copy_string("&#x2571;"); return OTHERDELIM;}
1516
"\\diagdown"	{yylval=wims_mathml_copy_string("&#x2572;"); return OTHERDELIM;}
11589 schaersvoo 1517
"\\lmoustache" {yylval = wims_mathml_copy_string("&#x23B0;"); return OTHERDELIM;}
1518
"\\rmoustache" {yylval = wims_mathml_copy_string("&#x23B1;"); return OTHERDELIM;}
5520 bpr 1519
"\\bigint"    |
1520
"\\bigintegral"     {return BIGINT;}
1521
"\\biggint"    |
1522
"\\biggintegral"     {return BIGGINT;}
1523
"\\bigggint"   |
1524
"\\bigggintegral"    {return BIGGGINT;}
8657 schaersvoo 1525
"\\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;}
5520 bpr 1526
"\\\\ \\\\"          {wims_mathml_rowposn=2; yylval="\\\\ \\: \\\\";return ROWSEP;}
1527
"\\\\"          {wims_mathml_rowposn=2;return ROWSEP;}
1528
"\\tabularnewline"       {wims_mathml_rowposn=2; return ROWSEP;}
11589 schaersvoo 1529
"\\hline"          {yylval=wims_mathml_copy_string(" ");; return MOP; }
5520 bpr 1530
"\\cr"          {wims_mathml_rowposn=2; return ROWSEP;}
1531
"\\ "         {return THICKSPACE;}
1532
"\\lbrack"             {yylval=wims_mathml_copy_string("["); return OTHERDELIM;}
1533
"\\rbrack"             {yylval=wims_mathml_copy_string("]"); return OTHERDELIM;}
1534
"\\RR" {yylval=wims_mathml_copy_string("&Ropf;"); return MI;}
1535
"\\QQ" {yylval=wims_mathml_copy_string("&Qopf;"); return MI;}
1536
"\\CC" {yylval=wims_mathml_copy_string("&Copf;"); return MI;}
1537
"\\ZZ" {yylval=wims_mathml_copy_string("&Zopf;"); return MI;}
1538
"\\NN" {yylval=wims_mathml_copy_string("&Nopf;"); return MI;}
1539
"\\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 1540
"\\large" { yylval=wims_mathml_copy_string("120%");wims_mathml_env_start = 1; return TMP_FONTSIZE;}
1541
"\\Large" { yylval=wims_mathml_copy_string("140%");wims_mathml_env_start = 1; return TMP_FONTSIZE;}
1542
"\\huge"  { yylval=wims_mathml_copy_string("200%");wims_mathml_env_start = 1; return TMP_FONTSIZE;}
1543
"\\Huge"  { yylval=wims_mathml_copy_string("250%");wims_mathml_env_start = 1; return TMP_FONTSIZE;}
5916 schaersvoo 1544
"\\cline{"\ {0,5}[0-9]{1,3}\ {0,5}-\ {0,5}[0-9]{1,3}\ {0,5}"}"
11708 schaersvoo 1545
"\\'(" {yylval=wims_mathml_copy_string("&grave;("); return MI;}
5676 bpr 1546
"\\includegraphics"(\[[^\]]*\])?\{[^}]*\};
5520 bpr 1547
 
1548
"\\"[a-zA-Z]+    {yylval=wims_mathml_copy_string(yytext+1); return MOP;}
1549
 
1550
"\&"[a-zA-Z_][a-zA-Z0-9_]*";" |
1551
"\&#"[0-9]+";" |
1552
"\&#x"[a-fA-F0-9]+";"  {yylval=wims_mathml_copy_string(yytext); return MI;}
1553
 
1554
"\n"             wims_mathml_lineno++;
1555
[\r\t ]+           ;
1556
 
1557
 
1558
.              {return UNKNOWNCHAR;}
1559
}
1560
 
1561
<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;}
1562
 
1563
 
1564
<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;}
1565
 
1566
 
1567
<OPTARG>{
1568
"[" {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;}
1569
[\n\r\t ]+    ;
1570
.   {BEGIN(MATH); unput(yytext[0]);}
1571
}
1572
 
1573
<RAISEBOX1>{
1574
\{[\n\r\t ]*- {BEGIN(RAISEBOX2); return NEG;}
1575
\{[\n\r\t ]* {BEGIN(RAISEBOX2);}
1576
}
1577
 
1578
<RAISEBOX2>{
1579
[^\}]*?\}  {yylval=wims_mathml_copy_string(yytext); if ((yyleng > 1) && (yylval != wims_mathml_empty_string)) yylval[yyleng-1]='\0'; BEGIN(TEXTOPTARG1); return TEXTSTRING;}
1580
}
1581
 
1582
 
1583
<TEXTOPTARG1>{
1584
\[[^\]]*?\] {yylval=wims_mathml_copy_string(yytext+1); if ((yyleng > 1) && (yylval != wims_mathml_empty_string)) yylval[yyleng-2]='\0'; BEGIN(TEXTOPTARG); return TEXTSTRING;}
1585
. {BEGIN(MATH); unput(yytext[0]);}
1586
}
1587
 
1588
<TEXTOPTARG>{
1589
\[[^\]]*?\] {yylval=wims_mathml_copy_string(yytext+1); if ((yyleng > 1) && (yylval != wims_mathml_empty_string)) yylval[yyleng-2]='\0'; BEGIN(MATH); return TEXTSTRING;}
1590
. {BEGIN(MATH); unput(yytext[0]);}
1591
}
1592
 
1593
<MATHENV>{
1594
"\{matrix\}" {wims_mathml_env_start = 0; BEGIN(MATH); return MATRIX;}
1595
"\{pmatrix\}" {wims_mathml_env_start = 0; BEGIN(MATH); return PMATRIX;}
1596
"\{bmatrix\}" {wims_mathml_env_start = 0; BEGIN(MATH); return BMATRIX;}
1597
"\{Bmatrix\}" {wims_mathml_env_start = 0; BEGIN(MATH); return BBMATRIX;}
1598
"\{vmatrix\}" {wims_mathml_env_start = 0; BEGIN(MATH); return VMATRIX;}
1599
"\{Vmatrix\}" {wims_mathml_env_start = 0; BEGIN(MATH); return VVMATRIX;}
1600
"\{smallmatrix\}" {wims_mathml_env_start = 0; BEGIN(MATH); return SMALLMATRIX;}
1601
"\{cases\}" |
1602
"\{dcases\}" {wims_mathml_env_start = 0; BEGIN(MATH); return CASES;}
1603
"\{align*\}" |
1604
"\{align\}" |
1605
"\{aligned\}" {wims_mathml_env_start = 0; BEGIN(MATH); return ALIGNED;}
1606
"\{gathered\}" {wims_mathml_env_start = 0; BEGIN(MATH); return GATHERED;}
1607
"\{split\}" {wims_mathml_env_start = 0; BEGIN(MATH); return ALIGNED;}
1608
"\{array\}" |
1609
"\{alignat\}" {if (wims_mathml_env_start == 1) BEGIN(ARRAYOPTIONS); else BEGIN(MATH); return ARRAY;}
1610
"\{svg\}" {wims_mathml_env_start = 0; BEGIN(SVGENV); return SVG;}
7332 schaersvoo 1611
"\{html\}" {wims_mathml_env_start = 0; BEGIN(HTMLENV); return HTML;}
5520 bpr 1612
"\{equation\}"  {wims_mathml_env_start = 0; BEGIN(MATH); return EQUATION;}
1613
"\{eqnarray\}" {wims_mathml_env_start = 0; BEGIN(MATH); return MATRIX;}
1614
 
1615
}
1616
 
1617
<ARRAYOPTIONS>{
1618
"[t]" {yylval=wims_mathml_copy_string("axis 1"); return ARRAYALIGN;}
1619
"[c]" {yylval=wims_mathml_copy_string("center"); return ARRAYALIGN;}
1620
"[b]" {yylval=wims_mathml_copy_string("axis -1"); return ARRAYALIGN;}
1621
"\{"  {BEGIN(COLOPTS); return ST;}
1622
[\t\n\r ]+       ;
1623
}
1624
 
1625
<COLOPTS>{
1626
"\}"  {wims_mathml_env_start = 0; BEGIN(MATH); return END;}
11589 schaersvoo 1627
[0-99rlc|.:_\-\ ]{0,99} {
5520 bpr 1628
    wims_mathml_env_start=0;
1629
    int p;
1630
    // yyleng is length of last matched token eg "{ c |ccc|c }
1631
    // 8 is max length of tag " center " ; 14 is length " columnalign=\"" 14+1 '\0'
1632
    // {----c|c|c}
1633
    int len = yyleng*8+15;
1634
    char C[len];
1635
    char M[len];
1636
    char H[len];
1637
    memset(C,'\0',len);// fill memory with null
1638
    memset(M,'\0',len);
1639
    memset(H,'\0',len);
1640
    strncat(C," columnalign=\"",14);
1641
    strncat(M," columnlines=\"",14);
1642
    strncat(H," rowlines=\"",11);
11589 schaersvoo 1643
    /* {c|c|c|c---}*/
5520 bpr 1644
    for( p = 0; p < yyleng ; p++){
8456 bpr 1645
	if( strlen(C) < (len - 8) && strlen(M) < (len - 8)){
5520 bpr 1646
	/* in case of trouble...array M[len] or C[len] will be too small */
1647
	    switch( yytext[p] ){
1648
	        case 'c' : strncat(C," center ",8);break;
1649
		case 'r' : strncat(C," right ",7);break;
1650
	        case 'l' : strncat(C," left ",6); break;
11589 schaersvoo 1651
		case '|' : strncat(M," solid ",7);break;
1652
	        case ':' : strncat(M," dashed ",8);break;
1653
	        case '-' : strncat(H," solid ",7);break;
1654
	        case '_' : strncat(H," dashed ",8);break;
1655
	        case '.' : strncat(H," none ",6);break;
1656
	        case ' ' : break;
1657
		default  : strncat(M," none ",6);strncat(H," none ",6);break;
5520 bpr 1658
	    }
1659
	}
1660
    }
11590 schaersvoo 1661
     /* 31/5/2017 bug in MathJax :  rowlines="" will show rowlines */
1662
    if( strlen(M) < 16 ){  strncat(M," none ",6); }
1663
    if( strlen(H) < 16 ){  strncat(H," none ",6); }
5520 bpr 1664
    strncat(C,"\" ",2);
1665
    strncat(M,"\" ",2);
1666
    strncat(H,"\" ",2);
8456 bpr 1667
 
5520 bpr 1668
    yylval=wims_mathml_copy3(C,M,H);
1669
    return TEX_OPTIONS;
1670
  }
1671
}
1672
 
1673
<SVGENV>{
7332 schaersvoo 1674
"\\end\{svg" {
1675
    yylval = wims_mathml_copy_string(yytext);
1676
    replace_str(yylval,"\\lt ","<");
1677
    replace_str(yylval,"\\gt ",">");
1678
    yyleng = strlen(yylval);
1679
    yylval[yyleng-8]=0; BEGIN(SVGEND); return XMLSTRING;}
5520 bpr 1680
(.|\n) {yymore();}
1681
}
1682
 
1683
<SVGEND>{
1684
"\}" {BEGIN(MATH); return ENDSVG;}
1685
}
1686
 
7332 schaersvoo 1687
<HTMLENV>{
1688
"\\end\{html" {
1689
    yylval = wims_mathml_copy_string(yytext);
1690
    replace_str(yylval,"\\lt ","<");
1691
    replace_str(yylval,"\\gt ",">");
1692
    yyleng = strlen(yylval);
1693
    yylval[yyleng-9]=0; BEGIN(HTMLEND); return XMLSTRING;}
1694
(.|\n) {yymore();}
1695
}
1696
 
1697
<HTMLEND>{
1698
"\}" {BEGIN(MATH); return ENDHTML;}
1699
}
1700
 
5520 bpr 1701
<ROMAN>{
1702
"\{"  {return ST;}
1703
"\}"  {BEGIN(MATH); return END;}
1704
[a-zA-Z]   {yylval=wims_mathml_copy_string(yytext); return RMCHAR;}
1705
[\t\n\r ]+       ;
1706
.           {return yytext[0];}
1707
}
1708
 
1709
<BBOLD>{
1710
"\{"  {return ST;}
1711
"\}"  {BEGIN(MATH); return END;}
1712
[a-z] {yylval=wims_mathml_copy_string(yytext); return BBLOWERCHAR;}
1713
[A-Z]   {yylval=wims_mathml_copy_string(yytext); return BBUPPERCHAR;}
1714
[0-9]   {yylval=wims_mathml_copy_string(yytext); return BBDIGIT;}
1715
[\t\n\r ]+       ;
1716
.           {return yytext[0];}
1717
}
1718
 
1719
<CALLIGRAPHIC>{
1720
"\{"  {return ST;}
1721
"\}"  {BEGIN(MATH); return END;}
1722
[a-zA-Z]   {yylval=wims_mathml_copy_string(yytext); return CALCHAR;}
1723
[\t\n\r ]+       ;
1724
.           {return yytext[0];}
1725
}
1726
 
1727
<FRAKTUR>{
1728
"\{"  {return ST;}
1729
"\}"  {BEGIN(MATH); return END;}
1730
[a-zA-Z]   {yylval=wims_mathml_copy_string(yytext); return FRAKCHAR;}
1731
[\t\n\r ]+       ;
1732
.           {return yytext[0];}
1733
}
1734
 
1735
<PLAINTEXT>{
1736
\{[^\}]*?\}  {yylval=wims_mathml_copy_string(yytext+1); if ((yyleng > 1) && (yylval != wims_mathml_empty_string)) yylval[yyleng-2]='\0'; BEGIN(MATH); return TEXTSTRING;}
1737
}
1738
 
8456 bpr 1739
<INT1>{
5520 bpr 1740
"\{"      {return ST;}
1741
"\}"      {BEGIN(INT2); return END;}
1742
[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;}
1743
[\t\n\r ]+   ;
1744
.         {return yytext[0];}
1745
}
1746
 
1747
<INT2>{
1748
"\{"      {return ST;}
1749
"\}"      {BEGIN(INT3); return END;}
1750
[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;}
1751
[\t\n\r ]+   ;
1752
.         {return yytext[0];}
1753
}
1754
 
1755
<INT3>{
1756
"\{"      {return ST;}
1757
"\}"      {BEGIN(MATH); return END;}
1758
[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;}
1759
[\t\n\r ]+   ;
1760
.         {return yytext[0];}
1761
}
1762
 
1763
 
1764
 
1765
%%
1766
 
1767
void wims_mathml_restart ()
1768
{
1769
	BEGIN(INITIAL);
1770
}
1771
 
1772
static const char *  s_wims_mathml_buffer = 0;
1773
static unsigned long s_wims_mathml_length = 0;
1774
 
1775
void wims_mathml_setup (const char * buffer, unsigned long length)
1776
{
1777
	yy_flush_buffer( YY_CURRENT_BUFFER );
1778
 
1779
	s_wims_mathml_buffer = buffer;
1780
	s_wims_mathml_length = length;
1781
}
1782
 
1783
static int s_wims_mathml_read (char * buffer, int max_size)
1784
{
1785
	int result = 0;
1786
 
1787
	if (max_size < s_wims_mathml_length)
1788
	{
1789
		result = max_size;
1790
 
1791
		memcpy (buffer, s_wims_mathml_buffer, max_size);
1792
 
1793
		s_wims_mathml_buffer += max_size;
1794
		s_wims_mathml_length -= max_size;
1795
	}
1796
	else
1797
	{
1798
		result = s_wims_mathml_length;
1799
 
1800
		memcpy (buffer, s_wims_mathml_buffer, s_wims_mathml_length);
1801
 
1802
		s_wims_mathml_buffer = 0;
1803
		s_wims_mathml_length = 0;
1804
	}
1805
	return result;
1806
}
1807