~ubuntu-branches/ubuntu/karmic/fweb/karmic

« back to all changes in this revision

Viewing changes to Web/reserved.c

  • Committer: Bazaar Package Importer
  • Author(s): Yann Dirson
  • Date: 2002-01-04 23:20:22 UTC
  • Revision ID: james.westby@ubuntu.com-20020104232022-330ad4iyzpvb5bm4
Tags: upstream-1.62
ImportĀ upstreamĀ versionĀ 1.62

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#if(0)
 
2
  FTANGLE v1.60,\
 
3
 created with UNIX on "Thursday, September 24, 1998 at 16:12." \
 
4
  COMMAND LINE: "Web/ftangle Web/reserved -A -# --F -= 1.62/Web/reserved.c"\
 
5
  RUN TIME:     "Friday, September 25, 1998 at 8:02."\
 
6
  WEB FILE:     "Web/reserved.web"\
 
7
  CHANGE FILE:  (none)
 
8
#endif
 
9
#define normal  0
 
10
#define roman  1
 
11
#define wildcard  2
 
12
#define typewriter  3 \
 
13
 
 
14
#define is_reserved(a)(a->ilk>typewriter) \
 
15
 
 
16
#define append_xref(c)if(xref_ptr==xmem_end) \
 
17
OVERFLW("cross-references","r"); \
 
18
else \
 
19
{ \
 
20
(++xref_ptr)->num= c; \
 
21
xref_ptr->Language= (boolean)language; \
 
22
} \
 
23
 
 
24
#define def_flag  ID_FLAG \
 
25
 
 
26
#define xref  equiv_or_xref \
 
27
 \
 
28
 \
 
29
 \
 
30
 
 
31
#undef expr  
 
32
#define expr  1 \
 
33
 
 
34
#undef unop  
 
35
#define unop  2 \
 
36
 
 
37
#undef binop  
 
38
#define binop  3 \
 
39
 
 
40
#define unorbinop  4 \
 
41
 
 
42
#define cast  5
 
43
#define question  6
 
44
#define lbrace  7
 
45
#define rbrace  8
 
46
#define decl_hd  9
 
47
#define comma  10
 
48
#define lpar  11
 
49
#define rpar  12
 
50
#define lbracket  13
 
51
#define rbracket  14
 
52
#define new_like  17
 
53
#define exp_op  18 \
 
54
 
 
55
#define max_math  19 \
 
56
 \
 
57
 
 
58
#define struct_hd  21
 
59
#define decl  20
 
60
#define label  22
 
61
#define stmt  23
 
62
#define functn  24
 
63
#define fn_decl  25
 
64
#define else_like  26
 
65
#define semi  27
 
66
#define colon  28
 
67
#define tag  29
 
68
#define if_hd  30
 
69
#define common_hd  31
 
70
#define read_hd  32
 
71
#define slashes  33
 
72
#define implicit_hd  34
 
73
#define lproc  35
 
74
#define rproc  36
 
75
#define ignore_scrap  37
 
76
#define for_hd  38
 
77
#define newline  39
 
78
#define language_scrap  40 \
 
79
 
 
80
#define do_like  55
 
81
#define for_like  56
 
82
#define if_like  57
 
83
#define int_like  58
 
84
#define case_like  59
 
85
#define sizeof_like  60
 
86
#define struct_like  61
 
87
#define typedef_like  62
 
88
#define define_like  63
 
89
#define common_like  64
 
90
#define read_like  65 \
 
91
 \
 
92
 
 
93
#define entry_like  66
 
94
#define implicit_like  67
 
95
#define assign_like  68
 
96
#define built_in  69 \
 
97
 
 
98
#define Rdo_like  70
 
99
#define endif_like  71
 
100
#define end_like  72
 
101
#define END_like  73
 
102
#define go_like  74
 
103
#define no_order  75
 
104
#define until_like  76
 
105
#define IF_like  77
 
106
#define IF_top  78
 
107
#define else_hd  79
 
108
#define ELSE_like  80
 
109
#define space  81
 
110
#define LPROC  82
 
111
#define UNOP  83
 
112
#define BINOP  84
 
113
#define COMMA  85
 
114
#define _EXPR  86
 
115
#define _EXPR_  87
 
116
#define EXPR_  88
 
117
#define Decl_hd  89
 
118
#define key_wd  90
 
119
#define program_like  91
 
120
#define CASE_like  92
 
121
#define modifier  93
 
122
#define class_like  94
 
123
#define op_like  95
 
124
#define proc_like  97
 
125
#define private_like  98
 
126
#define slash_like  99
 
127
#define fcn_hd  100
 
128
#define END_stmt  101
 
129
#define huge_like  102
 
130
#define imp_reserved  103
 
131
#define extern_like  104
 
132
#define while_do  105
 
133
#define template  106
 
134
#define langle  107
 
135
#define tstart  108
 
136
#define tlist  109
 
137
#define rangle  110
 
138
#define namespace  111
 
139
#define virtual  112
 
140
#define reference  113
 
141
#define kill_newlines  114 \
 
142
 
 
143
#define SAVE_ID(word_type0,language0,words) \
 
144
save_id(word_type0,language0,(CONST outer_char HUGE**)(words)) \
 
145
 
 
146
#define ALREADY_RESERVED(L)if(is_reservd.L)break;else is_reservd.L= YES \
 
147
 
 
148
 
 
149
 
 
150
 
 
151
#ifndef part
 
152
#define part 0 
 
153
#else
 
154
#if(part != 1 && part != 2 && part != 3)
 
155
#define part 1 
 
156
#endif
 
157
#endif 
 
158
 
 
159
 
 
160
 
 
161
 
 
162
#if(part == 0 || part == 1)
 
163
#define part1_or_extern
 
164
#define SET1(stuff)  =  stuff
 
165
#define TSET1(stuff)  =  stuff
 
166
#else
 
167
#define part1_or_extern extern
 
168
#define SET1(stuff)
 
169
#define TSET1(stuff)
 
170
#endif
 
171
 
 
172
 
 
173
 
 
174
 
 
175
 
 
176
#include "typedefs.h"
 
177
 
 
178
 
 
179
 
 
180
 
 
181
 
 
182
 
 
183
 
 
184
typedef struct xref_info0
 
185
{
 
186
sixteen_bits num;
 
187
struct xref_info0 HUGE*xlink;
 
188
 
 
189
boolean Language;
 
190
}xref_info;
 
191
 
 
192
typedef xref_info HUGE*xref_pointer;
 
193
typedef ASCII HUGE*XREF_POINTER;
 
194
 
 
195
 
 
196
 
 
197
 
 
198
 
 
199
 
 
200
#include "c_type.h" 
 
201
 
 
202
 
 
203
 
 
204
 
 
205
 
 
206
 
 
207
 
 
208
 
 
209
#ifdef SMALL_MEMORY
 
210
#define N_MSGBUF 2000
 
211
#else
 
212
#define N_MSGBUF 10000
 
213
#endif
 
214
 
 
215
 
 
216
 
 
217
 
 
218
 
 
219
EXTERN boolean change_exists;
 
220
 
 
221
 
 
222
 
 
223
#ifndef COMMON_FCNS_
 
224
IN_COMMON BUF_SIZE max_modules;
 
225
#endif
 
226
 
 
227
EXTERN BUF_SIZE max_refs;
 
228
EXTERN xref_info HUGE*xmem;
 
229
EXTERN xref_pointer xmem_end;
 
230
 
 
231
EXTERN xref_pointer xref_ptr;
 
232
 
 
233
EXTERN sixteen_bits xref_switch,mod_xref_switch;
 
234
EXTERN boolean defd_switch;
 
235
EXTERN NAME_TYPE defd_type SET(NEVER_DEFINED);
 
236
EXTERN boolean typd_switch;
 
237
EXTERN boolean index_short;
 
238
 
 
239
 
 
240
 
 
241
 
 
242
 
 
243
 
 
244
 
 
245
#if(part != 2)
 
246
 
 
247
 
 
248
SRTN
 
249
save_words FCN((language0,words))
 
250
LANGUAGE language0 C0("The words are to be attached to this language.")
 
251
CONST RESERVED_WORD HUGE*words C1("Array of words to be stored.")
 
252
{
 
253
CONST RESERVED_WORD HUGE*r;
 
254
LANGUAGE outer_language;
 
255
 
 
256
outer_language= language;
 
257
language= language0;
 
258
language_num= (short)lan_num(language);
 
259
word_type= RESERVED_WD;
 
260
 
 
261
for(r= words;r->type!=0;++r)
 
262
id_lookup(x_to_ASCII(OC(r->reserved_word)),NULL,
 
263
(eight_bits)CHOICE(r->type==(eight_bits)expr,normal,r->type));
 
264
 
 
265
 
 
266
language= outer_language;
 
267
language_num= (short)lan_num(language);
 
268
}
 
269
 
 
270
 
 
271
 
 
272
SRTN
 
273
save_id FCN((word_type0,language0,words))
 
274
WORD_TYPE word_type0 C0("|INTRINSIC_FCN| or |KEYWD|")
 
275
LANGUAGE language0 C0("They're for this language.")
 
276
CONST outer_char HUGE**words C1("Intrinsic names to be stored.")
 
277
{
 
278
CONST outer_char HUGE**i;
 
279
LANGUAGE outer_language;
 
280
 
 
281
outer_language= language;
 
282
language= language0;
 
283
language_num= (short)lan_num(language);
 
284
word_type= word_type0;
 
285
 
 
286
for(i= words;**i;i++)
 
287
id_lookup(x_to_ASCII(*i),
 
288
NULL,normal);
 
289
 
 
290
 
 
291
 
 
292
language= outer_language;
 
293
language_num= (short)lan_num(language);
 
294
}
 
295
 
 
296
 
 
297
 
 
298
SRTN
 
299
ini_special_tokens FCN((language0,tokens))
 
300
LANGUAGE language0 C0("")
 
301
SPEC HUGE*tokens C1("Array of tokens to be initialized.")
 
302
{
 
303
SPEC HUGE*s;
 
304
int n;
 
305
name_pointer np;
 
306
LANGUAGE language_tmp= language;
 
307
 
 
308
language= language0;
 
309
 
 
310
 
 
311
for(s= tokens;(n= STRLEN(s->name))!=0;s++)
 
312
{
 
313
ASCII HUGE*p= x_to_ASCII(OC(s->name));
 
314
 
 
315
s->len= n;
 
316
*s->pid= ID_NUM_ptr(np,p,p+n);
 
317
np->expandable|= language0;
 
318
if(!np->x_translate)np->x_translate= 
 
319
(X_FCN(HUGE_FCN_PTR*HUGE*)(VOID))get_mem0(OC("x array"),
 
320
(unsigned long)(NUM_LANGUAGES),
 
321
sizeof(X_FCN(HUGE_FCN_PTR*)(VOID)));
 
322
np->x_translate[lan_num(language0)]= s->expand;
 
323
}
 
324
 
 
325
language= language_tmp;
 
326
}
 
327
 
 
328
 
 
329
 
 
330
SRTN
 
331
ini_out_tokens FCN((tokens))
 
332
SPEC HUGE*tokens C1("")
 
333
{
 
334
SPEC HUGE*s;
 
335
 
 
336
 
 
337
for(s= tokens;(s->len= STRLEN(s->name))!=0;s++)
 
338
{
 
339
ASCII HUGE*p;
 
340
char HUGE*name,HUGE*p0,HUGE*p1;
 
341
 
 
342
 
 
343
 
 
344
name= (char HUGE*)(mod_text+1);
 
345
 
 
346
 
 
347
 
 
348
if(lowercase_tokens)
 
349
for(p1= name,p0= (char HUGE*)s->name;*p0;p0++)
 
350
*p1++= (ASCII)tolower(*p0);
 
351
else
 
352
STRCPY(name,s->name);
 
353
 
 
354
p= to_ASCII(OC(name));
 
355
 
 
356
*s->pid= ID_NUM(p,p+s->len);
 
357
}
 
358
 
 
359
}
 
360
 
 
361
 
 
362
 
 
363
static SPEC general_tokens[]= {
 
364
{"defined",0,NULL,&id_defined},
 
365
{"",0,NULL,NULL}
 
366
};
 
367
 
 
368
 
 
369
 
 
370
static RESERVED_WORD old_WEB_words[]= {
 
371
{"_A",built_in},
 
372
{"_ABS",built_in},
 
373
{"_ASSERT",built_in},
 
374
{"_COMMENT",built_in},
 
375
{"_DATE",built_in},
 
376
{"_DAY",built_in},
 
377
{"_DECR",built_in},
 
378
{"_DEFINE",built_in},
 
379
{"_DEFINED",built_in},
 
380
{"_DO",built_in},
 
381
{"_DUMPDEF",built_in},
 
382
{"_ERROR",built_in},
 
383
{"_EVAL",built_in},
 
384
{"_GETENV",built_in},
 
385
{"_HOME",built_in},
 
386
{"_IF",built_in},
 
387
{"_IFCASE",built_in},
 
388
{"_IFDEF",built_in},
 
389
{"_IFELSE",built_in},
 
390
{"_IFNDEF",built_in},
 
391
{"_INCR",built_in},
 
392
{"_INPUT_LINE",built_in},
 
393
{"_L",built_in},
 
394
{"_LANGUAGE",built_in},
 
395
{"_LANGUAGE_NUM",built_in},
 
396
{"_LEN",built_in},
 
397
{"_M",built_in},
 
398
{"_MAX",built_in},
 
399
{"_MIN",built_in},
 
400
{"_MODULES",built_in},
 
401
{"_MODULE_NAME",built_in},
 
402
{"_NARGS",built_in},
 
403
{"_OUTPUT_LINE",built_in},
 
404
{"_P",built_in},
 
405
{"_POW",built_in},
 
406
{"_ROUTINE",built_in},
 
407
{"_SECTION_NUM",built_in},
 
408
{"_SECTIONS",built_in},
 
409
{"_STRING",built_in},
 
410
{"_TIME",built_in},
 
411
{"_TRANSLIT",built_in},
 
412
{"_U",built_in},
 
413
{"_UNDEF",built_in},
 
414
{"_UNQUOTE",built_in},
 
415
{"_VERBATIM",built_in},
 
416
{"_VERSION",built_in},
 
417
{"",0}
 
418
};
 
419
 
 
420
static RESERVED_WORD WEB_words[]= {
 
421
{"$A",built_in},
 
422
{"$ABS",built_in},
 
423
{"$ASSERT",built_in},
 
424
{"$_BINOP_",BINOP},
 
425
{"$_COMMA_",COMMA},
 
426
{"$COMMENT",built_in},
 
427
{"$DATE",built_in},
 
428
{"$DAY",built_in},
 
429
{"$DECR",built_in},
 
430
{"$DEFINE",built_in},
 
431
{"$DEFINED",built_in},
 
432
{"defined",EXPR_},
 
433
{"$DO",built_in},
 
434
{"$DUMPDEF",built_in},
 
435
{"$ERROR",built_in},
 
436
{"$EVAL",built_in},
 
437
{"$_EXPR",_EXPR},
 
438
{"$_EXPR_",_EXPR_},
 
439
{"$EXPR_",EXPR_},
 
440
{"$GETENV",built_in},
 
441
{"$HOME",built_in},
 
442
{"$IF",built_in},
 
443
{"$IFCASE",built_in},
 
444
{"$IFDEF",built_in},
 
445
{"$IFELSE",built_in},
 
446
{"$IFNDEF",built_in},
 
447
{"$INCR",built_in},
 
448
{"$INPUT_LINE",built_in},
 
449
{"$L",built_in},
 
450
{"$LANGUAGE",built_in},
 
451
{"$LANGUAGE_NUM",built_in},
 
452
{"$LEN",built_in},
 
453
{"$M",built_in},
 
454
{"$MAX",built_in},
 
455
{"$MIN",built_in},
 
456
{"$MODULES",built_in},
 
457
{"$MODULE_NAME",built_in},
 
458
{"$NARGS",built_in},
 
459
{"$OUTPUT_LINE",built_in},
 
460
{"$P",built_in},
 
461
{"$POW",built_in},
 
462
{"$ROUTINE",built_in},
 
463
{"$SECTION_NUM",built_in},
 
464
{"$SECTIONS",built_in},
 
465
{"$STRING",built_in},
 
466
{"$TIME",built_in},
 
467
{"$TRANSLIT",built_in},
 
468
{"$UNOP_",UNOP},
 
469
{"$U",built_in},
 
470
{"$UNDEF",built_in},
 
471
{"$UNQUOTE",built_in},
 
472
{"$VERBATIM",built_in},
 
473
{"$VERSION",built_in},
 
474
{"",0}
 
475
};
 
476
 
 
477
 
 
478
 
 
479
SRTN
 
480
save_WEB FCN((language0))
 
481
LANGUAGE language0 C1("")
 
482
{
 
483
save_words(language0,WEB_words);
 
484
}
 
485
 
 
486
 
 
487
 
 
488
static RESERVED_WORD M4_words[]= {
 
489
{"changequote",built_in},
 
490
{"define",built_in},
 
491
{"divert",built_in},
 
492
{"divnum",built_in},
 
493
{"dnl",built_in},
 
494
{"dumpdef",built_in},
 
495
{"errprint",built_in},
 
496
{"eval",built_in},
 
497
{"ifdef",built_in},
 
498
{"ifelse",built_in},
 
499
{"include",built_in},
 
500
{"incr",built_in},
 
501
{"index",built_in},
 
502
{"len",built_in},
 
503
{"maketemp",built_in},
 
504
{"sinclude",built_in},
 
505
{"substr",built_in},
 
506
{"syscmd",built_in},
 
507
{"translit",built_in},
 
508
{"undefine",built_in},
 
509
{"undivert",built_in},
 
510
{"",0}
 
511
};
 
512
 
 
513
 
 
514
 
 
515
 
 
516
static RESERVED_WORD C_words[]= {
 
517
{"auto",int_like},
 
518
{"break",case_like},
 
519
{"case",case_like},
 
520
{"char",int_like},
 
521
{"clock_t",int_like},
 
522
{"complex",int_like},
 
523
{"const",modifier},
 
524
{"continue",case_like},
 
525
{"default",case_like},
 
526
{"#define",define_like},
 
527
{"div_t",int_like},
 
528
{"do",do_like},
 
529
{"double",int_like},
 
530
{"#elif",else_like},
 
531
{"else",else_like},
 
532
{"#else",else_like},
 
533
{"#endif",if_like},
 
534
{"#error",if_like},
 
535
{"extern",extern_like},
 
536
{"FILE",int_like},
 
537
{"float",int_like},
 
538
{"fortran",int_like},
 
539
{"fpos_t",int_like},
 
540
{"for",for_like},{"FOR",for_like},
 
541
{"goto",case_like},
 
542
{"huge",huge_like},
 
543
{"if",if_like},
 
544
{"#if",if_like},
 
545
{"#ifdef",if_like},
 
546
{"#ifndef",if_like},
 
547
{"#include",if_like},
 
548
{"int",int_like},
 
549
{"ldiv_t",int_like},
 
550
{"long",int_like},
 
551
{"#line",if_like},
 
552
{"noalias",int_like},
 
553
{"#pragma",if_like},
 
554
{"ptrdiff_t",int_like},
 
555
{"register",int_like},
 
556
{"return",case_like},
 
557
{"short",int_like},
 
558
{"sig_atomic_t",int_like},
 
559
{"signed",int_like},
 
560
{"size_t",int_like},
 
561
{"sizeof",sizeof_like},
 
562
{"static",int_like},
 
563
{"switch",for_like},
 
564
{"time_t",int_like},
 
565
{"typedef",typedef_like},
 
566
{"#undef",if_like},
 
567
{"unsigned",int_like},
 
568
{"va_list",int_like},
 
569
{"volatile",modifier},
 
570
{"void",int_like},
 
571
{"wchar_t",int_like},
 
572
{"while",for_like},
 
573
{"",0}
 
574
};
 
575
 
 
576
static RESERVED_WORD C_words1[]= 
 
577
{
 
578
{"enum",struct_like},
 
579
{"struct",struct_like},
 
580
{"union",struct_like},
 
581
{"",0}
 
582
};
 
583
 
 
584
 
 
585
 
 
586
CONST char*C_intrinsics[]= {
 
587
"abort","atexit","exit","getenv","system",
 
588
"abs","div","labs","ldiv",
 
589
"acos","asin","atan","atan2","cos","sin","tan",
 
590
"asctime","ctime","gmtime","localtime","strftime","clock","difftime",
 
591
"mktime","time",
 
592
"assert",
 
593
"atof","atoi","atol","strtod","strtol","strtoul",
 
594
"bsearch","qsort",
 
595
"calloc","free","malloc","realloc",
 
596
"ceil","fabs","floor","fmod",
 
597
"fclose","fflush","fopen","freopen","setbuf","setvbuf",
 
598
"clearerr","feof","ferror","perror",
 
599
"cosh","sinh","tanh",
 
600
"exp","frexp","ldexp","log","log10","modf",
 
601
"fgetc","fgets","fprintf","fputc","fputs","fread","fscanf",
 
602
"fwrite","getc","getchar","gets","printf","putc","putchar",
 
603
"puts","scanf","sprintf","sscanf","ungetc",
 
604
"vfprintf","vprintf","vsprintf",
 
605
"fgetpos","fseek","fsetpos","ftell","rewind",
 
606
"printf","sprintf",
 
607
"isalnum","isalpha","iscntrl","isdigit","isgraph","islower",
 
608
"isprint","ispunct","isspace","isupper","isxdigit",
 
609
"localeconv","setlocale",
 
610
"longjmp","setjmp",
 
611
"mblen","mbstowcs","mbtowc","wcstombs","wctomb",
 
612
"memcmp","strcmp","strcoll","strncmp","strxfrm","strcat","strncat",
 
613
"memcpy","memmove","strcpy","strncpy",
 
614
"memset","strerror","strlen",
 
615
"memchr","strchr","strcspn","strpbrk","strrchr",
 
616
"strspn","strstr","strtok",
 
617
"offsetof",
 
618
"pow","sqrt",
 
619
"raise",
 
620
"rand","srand",
 
621
"remove","rename","tmpfile","tmpnam",
 
622
"strcpy","strcmp","strncpy","strlen",
 
623
"tolower","toupper",
 
624
"ungetc",
 
625
"va_arg","va_end","va_start",
 
626
"write",
 
627
""
 
628
};
 
629
 
 
630
 
 
631
 
 
632
static RESERVED_WORD Cpp_words[]= 
 
633
{
 
634
{"asm",int_like},
 
635
{"bool",int_like},
 
636
{"catch",expr},
 
637
{"class",class_like},
 
638
{"const_cast",int_like},
 
639
{"delete",new_like},
 
640
{"dynamic_cast",int_like},
 
641
{"explicit",int_like},
 
642
{"friend",int_like},
 
643
{"inline",int_like},
 
644
{"mutable",int_like},
 
645
{"namespace",namespace},
 
646
{"new",new_like},
 
647
{"operator",op_like},
 
648
{"private",case_like},
 
649
{"protected",case_like},
 
650
{"public",case_like},
 
651
{"reinterpret_cast",int_like},
 
652
{"static_cast",int_like},
 
653
{"template",template},
 
654
{"this",expr},
 
655
{"throw",case_like},
 
656
{"try",fn_decl},
 
657
{"typeid",int_like},
 
658
{"typename",int_like},
 
659
{"using",int_like},
 
660
{"virtual",virtual},
 
661
{"",0}
 
662
};
 
663
 
 
664
static RESERVED_WORD Cpp_words1[]= 
 
665
{
 
666
{"enum",class_like},
 
667
{"struct",class_like},
 
668
{"union",class_like},
 
669
{"",0}
 
670
};
 
671
 
 
672
CONST char*Cpp_intrinsics[]= 
 
673
{
 
674
"set_new_handler",
 
675
"set_terminate",
 
676
"set_unexpected",
 
677
""
 
678
};
 
679
 
 
680
 
 
681
 
 
682
CONST char*Cpp_keywords[]= {
 
683
"false",
 
684
"true",
 
685
""
 
686
};
 
687
 
 
688
 
 
689
 
 
690
static RESERVED_WORD F77_words[]= {
 
691
{"accept",read_like},
 
692
{"assign",assign_like},
 
693
{"backspace",read_like},
 
694
{"block",program_like},
 
695
{"blockdata",program_like},
 
696
{"call",case_like},
 
697
{"character",int_like},
 
698
{"close",read_like},
 
699
{"common",common_like},
 
700
{"complex",int_like},
 
701
{"continue",case_like},
 
702
{"data",no_order},
 
703
{"$decl_hd",decl_hd},
 
704
{"dimension",int_like},
 
705
{"do",Rdo_like},{"DO",for_like},
 
706
{"double",int_like},
 
707
{"doubleprecision",int_like},
 
708
{"else",else_like},
 
709
{"elseif",else_like},
 
710
{"end",end_like},
 
711
{"enddo",endif_like},
 
712
{"endif",endif_like},
 
713
{"endfile",read_like},
 
714
{"endfunction",end_like},
 
715
{"endprogram",end_like},
 
716
{"endsubroutine",end_like},
 
717
{"entry",entry_like},
 
718
{"equivalence",int_like},
 
719
{"external",int_like},
 
720
{"format",read_like},
 
721
{"function",program_like},
 
722
{"go",go_like},
 
723
{"goto",case_like},
 
724
{"if",if_like},
 
725
{"implicit",implicit_like},
 
726
{"integer",int_like},
 
727
{"inquire",read_like},
 
728
{"intrinsic",int_like},
 
729
{"logical",int_like},
 
730
{"open",read_like},
 
731
{"parameter",int_like},
 
732
{"pause",case_like},
 
733
{"precision",int_like},
 
734
{"print",read_like},
 
735
{"program",program_like},
 
736
{"read",read_like},
 
737
{"REAL",int_like},
 
738
{"real",int_like},
 
739
{"return",case_like},
 
740
{"rewind",read_like},
 
741
{"save",common_like},
 
742
{"subroutine",program_like},
 
743
{"stop",case_like},
 
744
{"then",built_in},
 
745
{"to",built_in},
 
746
{"TYPE",read_like},
 
747
 
 
748
{"write",read_like},
 
749
{"",0}
 
750
};
 
751
 
 
752
 
 
753
 
 
754
#ifdef VAXC
 
755
static RESERVED_WORD VAX_words[]= {
 
756
{"decode",read_like},
 
757
{"delete",read_like},
 
758
{"dictionary",int_like},
 
759
{"encode",read_like},
 
760
{"endmap",end_like},
 
761
{"endstructure",end_like},
 
762
{"endunion",end_like},
 
763
{"find",read_like},
 
764
{"INCLUDE",no_order},
 
765
{"map",struct_like},
 
766
{"namelist",common_like},
 
767
{"options",int_like},
 
768
{"record",common_like},
 
769
{"rewrite",read_like},
 
770
{"union",struct_like},
 
771
{"unlock",read_like},
 
772
{"virtual",int_like},
 
773
{"volatile",common_like},
 
774
{"",0}
 
775
};
 
776
#endif 
 
777
 
 
778
 
 
779
 
 
780
CONST char*F77_intrinsics[]= {
 
781
"abs","dabs","cabs",
 
782
"acos","dacos",
 
783
"aimag",
 
784
"aint","dint",
 
785
"amax0",
 
786
"amin0",
 
787
"anint","dnint",
 
788
"areal",
 
789
"asin","dasin",
 
790
"atan","datan",
 
791
"atan2","datan2","atan2d",
 
792
"char",
 
793
"cmplx",
 
794
"conjg",
 
795
"cos","dcos","ccos",
 
796
"cosh","dcosh",
 
797
"dble",
 
798
"dfloat",
 
799
"dim","ddim",
 
800
"dprod",
 
801
"exp","dexp","cexp",
 
802
"float",
 
803
"iabs",
 
804
"iand","ior","ieor","not",
 
805
"ichar",
 
806
"idim",
 
807
"idint","iqint",
 
808
"idnint","iqnint",
 
809
"ifix",
 
810
"int",
 
811
"isign",
 
812
"jnint",
 
813
"llt","lle","lgt","lge",
 
814
"log","alog","dlog","clog",
 
815
"log10","alog10","dlog10",
 
816
"max","amax1","dmax1",
 
817
"max0",
 
818
"max1",
 
819
"min","amin1","dmin1",
 
820
"min0",
 
821
"min1",
 
822
"mod","amod","dmod",
 
823
"Real",
 
824
"sngl",
 
825
"sign","dsign",
 
826
"sin","dsin","csin",
 
827
"sinh","dsinh",
 
828
"sqrt","dsqrt","csqrt",
 
829
"tan","dtan",
 
830
"tanh","dtanh",
 
831
"%val","%loc","%descr",
 
832
""
 
833
};
 
834
 
 
835
 
 
836
 
 
837
#ifdef VAXC
 
838
CONST char*VAX_intrinsics[]= {
 
839
"qsqrt","cdsqrt",
 
840
"qlog","cdlog","qlog10",
 
841
"qexp","cdexp",
 
842
"qsin","cdsin",
 
843
"sind","dsind","qsind",
 
844
"qcos","cdcod",
 
845
"cods","dcods","qcods",
 
846
"qtan",
 
847
"tand","dtand","qtand",
 
848
"qasin",
 
849
"asind","dasind","qasind",
 
850
"qacos",
 
851
"acosd","dacosd","qacosd",
 
852
"qatan",
 
853
"atand","datand","qatand",
 
854
"qatan2",
 
855
"atan2d","datan2d","qatan2d",
 
856
"qsinh","qcosh","qtanh",
 
857
"iiabs","jiabs","qabs","cdabs",
 
858
"iint","jint","iidint","jidint","iiqint","jiqint","qint",
 
859
"nint","inint","iidnnt","jidnnt","iiqnnt","jiqnnt","qnint",
 
860
"zext","izext","jzext",
 
861
"floati","floatj","snglq","dbleq",
 
862
"qext","qextd",
 
863
"iifix","jifix",
 
864
"floati","floatj",
 
865
"dfloti","dflotj",
 
866
"qfloat",
 
867
"dcmplx",
 
868
"dreal","dimag","dconjg",
 
869
"imax0","jmax0","qmax1","aimax0","ajmax0",
 
870
"imin0","jmin0","qmin1","aimin0","ajmin0",
 
871
"iidim","jidim","qdim",
 
872
"imod","jmod","qmod",
 
873
"iisign","jisign","qsign",
 
874
"iiand","jiand",
 
875
"iior","jior",
 
876
"iieor","jieor",
 
877
"inot","jnot",
 
878
"ishft","iishft","jishft",
 
879
"ibits","iibits","jibits",
 
880
"ibset","iibset","jibset",
 
881
"btest","bitest","bjtest",
 
882
"ibclr","iibclr","jibclr",
 
883
"ishftc","iishftc","jishftc",
 
884
""
 
885
};
 
886
#endif 
 
887
 
 
888
 
 
889
 
 
890
CONST char*F77_Keywords[]= {
 
891
"ACCESS",
 
892
"ASSOCIATEVARIABLE",
 
893
"BLANK",
 
894
"BLOCKSIZE",
 
895
"BUFFERCOUNT",
 
896
"CARRIAGECONTROL",
 
897
"DEFAULTFILE",
 
898
"DIRECT",
 
899
"DISP",
 
900
"END",
 
901
"ERR",
 
902
"EXIST",
 
903
"FILE",
 
904
"FMT",
 
905
"FORM",
 
906
"FORMATTED",
 
907
"IOSTAT",
 
908
"NAME",
 
909
"NAMED",
 
910
"NEXTREC",
 
911
"NUMBER",
 
912
"OPENED",
 
913
"RECL",
 
914
"SEQUENTIAL",
 
915
"STATUS",
 
916
"UNFORMATTED",
 
917
"UNIT",
 
918
"none",
 
919
 
 
920
 
 
921
""
 
922
};
 
923
 
 
924
CONST char*F77_keywords[]= {
 
925
"access",
 
926
"associatevariable",
 
927
"blank",
 
928
"blocksize",
 
929
"buffercount",
 
930
"carriagecontrol",
 
931
"defaultfile",
 
932
"direct",
 
933
"disp",
 
934
#if 0
 
935
"end",
 
936
#endif
 
937
"err",
 
938
"exist",
 
939
"file",
 
940
"fmt",
 
941
"form",
 
942
"formatted",
 
943
"iostat",
 
944
"name",
 
945
"named",
 
946
"nextrec",
 
947
"number",
 
948
"opened",
 
949
"recl",
 
950
"sequential",
 
951
"status",
 
952
"unformatted",
 
953
"unit",
 
954
""
 
955
};
 
956
 
 
957
 
 
958
 
 
959
#ifdef VAXC
 
960
CONST char*VAX_Keywords[]= {
 
961
"DISPOSE",
 
962
"EXTENDSIZE",
 
963
"INITIALSIZE",
 
964
"KEY",
 
965
"KEYED",
 
966
"MAXREC",
 
967
"NML",
 
968
"NOSPANBLOCKS",
 
969
"ORGANIZATION",
 
970
"READONLY",
 
971
"REC",
 
972
"RECORDSIZE","RECORDTYPE","RECORDSIZE",
 
973
"SHARED",
 
974
"TYPE",
 
975
"USEROPEN",
 
976
""
 
977
};
 
978
#endif 
 
979
 
 
980
 
 
981
 
 
982
static RESERVED_WORD F90_words[]= {
 
983
{"allocate",read_like},
 
984
{"allocatable",int_like},
 
985
{"assignment",op_like},
 
986
{"case",CASE_like},
 
987
{"contains",entry_like},
 
988
{"cycle",case_like},
 
989
{"deallocate",read_like},
 
990
{"elsewhere",else_like},
 
991
{"endinterface",end_like},
 
992
{"endmodule",end_like},
 
993
{"endselect",end_like},
 
994
{"endtype",end_like},
 
995
{"endwhere",end_like},
 
996
{"exit",case_like},
 
997
{"include",no_order},
 
998
{"intent",int_like},
 
999
{"interface",struct_like},
 
1000
{"module",program_like},
 
1001
{"only",built_in},
 
1002
{"optional",int_like},
 
1003
{"nullify",read_like},
 
1004
{"operator",op_like},
 
1005
{"pointer",int_like},
 
1006
{"private",private_like},
 
1007
{"procedure",proc_like},
 
1008
{"public",private_like},
 
1009
{"recursive",int_like},
 
1010
{"result",_EXPR},
 
1011
{"save",int_like},
 
1012
{"select",if_like},
 
1013
{"sequence",private_like},
 
1014
{"target",int_like},
 
1015
{"type",struct_like},
 
1016
{"use",no_order},
 
1017
{"where",if_like},
 
1018
{"while",for_like},
 
1019
{"",0}
 
1020
};
 
1021
 
 
1022
 
 
1023
 
 
1024
CONST char*F90_intrinsics[]= {
 
1025
"achar",
 
1026
"adjustl","adjustr",
 
1027
"all","any",
 
1028
"allocated",
 
1029
"associated",
 
1030
"bit_size",
 
1031
"btest",
 
1032
"ceiling",
 
1033
"count",
 
1034
"cshift",
 
1035
"date_and_time",
 
1036
"digits",
 
1037
"dot_product",
 
1038
"eoshift",
 
1039
"epsilon",
 
1040
"exponent","fraction",
 
1041
"floor",
 
1042
"huge",
 
1043
"iachar",
 
1044
"ibclr","ibits","ibset","ishft","ishftc",
 
1045
"index",
 
1046
"kind",
 
1047
"lbound",
 
1048
"len","len_trim",
 
1049
"LOGICAL",
 
1050
"matmul",
 
1051
"maxexponent","minexponent",
 
1052
"maxloc","minloc",
 
1053
"maxval","minval",
 
1054
"merge",
 
1055
"modulo",
 
1056
"mvbits",
 
1057
"nint",
 
1058
"nearest",
 
1059
"pack",
 
1060
"PRECISION",
 
1061
"present",
 
1062
"product",
 
1063
"radix",
 
1064
"random_number","random_seed",
 
1065
"range",
 
1066
"REPEAT",
 
1067
"reshape",
 
1068
"rrspacing",
 
1069
"scale",
 
1070
"scan",
 
1071
"selected_int_kind","selected_real_kind",
 
1072
"set_exponent",
 
1073
"shape",
 
1074
"size",
 
1075
"spacing",
 
1076
"spread",
 
1077
"sum",
 
1078
"system_clock",
 
1079
"tiny",
 
1080
"transfer",
 
1081
"transpose",
 
1082
"trim",
 
1083
"ubound",
 
1084
"unpack",
 
1085
"verify",
 
1086
""
 
1087
};
 
1088
 
 
1089
 
 
1090
 
 
1091
CONST char*F90_Keywords[]= {
 
1092
"ACTION",
 
1093
"ADVANCE",
 
1094
"DELIM",
 
1095
"EOR",
 
1096
"IN","INOUT","OUT",
 
1097
"KIND",
 
1098
"LEN",
 
1099
"NML",
 
1100
"NULLS",
 
1101
"ONLY",
 
1102
"PAD",
 
1103
"POSITION",
 
1104
"READ","READWRITE",
 
1105
"REC",
 
1106
"SIZE",
 
1107
"STAT",
 
1108
"WRITE",
 
1109
""
 
1110
};
 
1111
 
 
1112
CONST char*F90_keywords[]= {
 
1113
"action",
 
1114
"advance",
 
1115
"delim",
 
1116
"eor",
 
1117
"in","inout","out",
 
1118
"kind",
 
1119
"len",
 
1120
"nml",
 
1121
"nulls",
 
1122
"only",
 
1123
"pad",
 
1124
"position",
 
1125
#if 0
 
1126
"read",
 
1127
#endif
 
1128
"readwrite",
 
1129
"rec",
 
1130
"size",
 
1131
"stat",
 
1132
#if 0
 
1133
"write",
 
1134
#endif
 
1135
""
 
1136
};
 
1137
 
 
1138
 
 
1139
 
 
1140
static RESERVED_WORD RATFOR_words[]= {
 
1141
{"break",case_like},
 
1142
{"case",CASE_like},
 
1143
{"default",case_like},
 
1144
{"for",for_like},{"FOR",for_like},
 
1145
{"next",case_like},
 
1146
{"repeat",do_like},
 
1147
{"switch",for_like},
 
1148
{"until",until_like},
 
1149
{"while",for_like},
 
1150
{"",0}
 
1151
};
 
1152
 
 
1153
 
 
1154
 
 
1155
CONST char*R77_keywords[]= {
 
1156
"end",
 
1157
""
 
1158
};
 
1159
 
 
1160
 
 
1161
 
 
1162
extern RESERVED_WORD TEX_words[];
 
1163
 
 
1164
 
 
1165
 
 
1166
extern CONST char*TEX_intrinsics[];
 
1167
 
 
1168
 
 
1169
 
 
1170
typedef struct
 
1171
{
 
1172
boolean C,RATFOR,FORTRAN,TEX,LITERAL,C_PLUS_PLUS,RATFOR_90,FORTRAN_90;
 
1173
}IS_RESERVED;
 
1174
 
 
1175
IS_RESERVED is_reservd= {NO,NO,NO,NO,NO,NO,NO,NO};
 
1176
 
 
1177
SRTN
 
1178
ini_reserved FCN((l))
 
1179
LANGUAGE l C1("")
 
1180
{
 
1181
switch(l)
 
1182
{
 
1183
case NO_LANGUAGE:
 
1184
 
 
1185
confusion(OC("ini_reserved"),OC("Language should already be defined here"));
 
1186
 
 
1187
case C:
 
1188
 
 
1189
 
 
1190
ALREADY_RESERVED(C);
 
1191
 
 
1192
save_words(C,C_words);
 
1193
save_words(C,C_words1);
 
1194
 
 
1195
save_WEB(C);
 
1196
 
 
1197
SAVE_ID(INTRINSIC_FCN,C,C_intrinsics);
 
1198
 
 
1199
ini_tokens(C)
 
1200
 
 
1201
;
 
1202
break;
 
1203
 
 
1204
case C_PLUS_PLUS:
 
1205
 
 
1206
 
 
1207
ALREADY_RESERVED(C_PLUS_PLUS);
 
1208
 
 
1209
save_words(C_PLUS_PLUS,C_words);
 
1210
save_words(C_PLUS_PLUS,Cpp_words);
 
1211
save_words(C_PLUS_PLUS,Cpp_words1);
 
1212
 
 
1213
save_WEB(C_PLUS_PLUS);
 
1214
 
 
1215
SAVE_ID(INTRINSIC_FCN,C_PLUS_PLUS,C_intrinsics);
 
1216
SAVE_ID(INTRINSIC_FCN,C_PLUS_PLUS,Cpp_intrinsics);
 
1217
 
 
1218
SAVE_ID(KEYWD,C_PLUS_PLUS,Cpp_keywords);
 
1219
 
 
1220
ini_tokens(C_PLUS_PLUS)
 
1221
 
 
1222
;
 
1223
break;
 
1224
 
 
1225
case FORTRAN:
 
1226
 
 
1227
 
 
1228
ALREADY_RESERVED(FORTRAN);
 
1229
 
 
1230
save_words(FORTRAN,F77_words);
 
1231
save_WEB(FORTRAN);
 
1232
 
 
1233
if(m4)
 
1234
save_words(FORTRAN,M4_words);
 
1235
 
 
1236
SAVE_ID(INTRINSIC_FCN,FORTRAN,F77_intrinsics);
 
1237
SAVE_ID(KEYWD,FORTRAN,F77_Keywords);
 
1238
 
 
1239
if(lc_keywords)
 
1240
SAVE_ID(KEYWD,FORTRAN,F77_keywords);
 
1241
 
 
1242
#ifdef VAXC
 
1243
save_words(FORTRAN,VAX_words);
 
1244
SAVE_ID(INTRINSIC_FCN,FORTRAN,VAX_intrinsics);
 
1245
SAVE_ID(KEYWD,FORTRAN,VAX_Keywords);
 
1246
#endif 
 
1247
 
 
1248
ini_tokens(FORTRAN)
 
1249
 
 
1250
;
 
1251
break;
 
1252
 
 
1253
case FORTRAN_90:
 
1254
 
 
1255
 
 
1256
ALREADY_RESERVED(FORTRAN_90);
 
1257
 
 
1258
save_words(FORTRAN_90,F77_words);
 
1259
save_words(FORTRAN_90,F90_words);
 
1260
save_WEB(FORTRAN_90);
 
1261
 
 
1262
if(m4)
 
1263
save_words(FORTRAN_90,M4_words);
 
1264
 
 
1265
SAVE_ID(INTRINSIC_FCN,FORTRAN_90,F77_intrinsics);
 
1266
SAVE_ID(INTRINSIC_FCN,FORTRAN_90,F90_intrinsics);
 
1267
SAVE_ID(KEYWD,FORTRAN_90,F77_Keywords);
 
1268
SAVE_ID(KEYWD,FORTRAN_90,F90_Keywords);
 
1269
 
 
1270
if(lc_keywords)
 
1271
{
 
1272
SAVE_ID(KEYWD,FORTRAN_90,F77_keywords);
 
1273
SAVE_ID(KEYWD,FORTRAN_90,F90_keywords);
 
1274
}
 
1275
 
 
1276
#ifdef VAXC
 
1277
save_words(FORTRAN_90,VAX_words);
 
1278
SAVE_ID(INTRINSIC_FCN,FORTRAN_90,VAX_intrinsics);
 
1279
SAVE_ID(KEYWD,FORTRAN_90,VAX_Keywords);
 
1280
#endif 
 
1281
 
 
1282
ini_tokens(FORTRAN_90)
 
1283
 
 
1284
;
 
1285
break;
 
1286
 
 
1287
case RATFOR:
 
1288
if(!Rat_is_loaded)break;
 
1289
 
 
1290
 
 
1291
ALREADY_RESERVED(RATFOR);
 
1292
 
 
1293
save_words(RATFOR,F77_words);
 
1294
save_words(RATFOR,RATFOR_words);
 
1295
save_WEB(RATFOR);
 
1296
 
 
1297
if(m4)save_words(RATFOR,M4_words);
 
1298
 
 
1299
SAVE_ID(INTRINSIC_FCN,RATFOR,F77_intrinsics);
 
1300
SAVE_ID(KEYWD,RATFOR,F77_Keywords);
 
1301
 
 
1302
if(lc_keywords)
 
1303
{
 
1304
SAVE_ID(KEYWD,RATFOR,F77_keywords);
 
1305
SAVE_ID(KEYWD,RATFOR,R77_keywords);
 
1306
}
 
1307
 
 
1308
#ifdef VAXC
 
1309
save_words(RATFOR,VAX_words);
 
1310
SAVE_ID(INTRINSIC_FCN,RATFOR,VAX_intrinsics);
 
1311
SAVE_ID(KEYWD,RATFOR,VAX_Keywords);
 
1312
#endif 
 
1313
 
 
1314
ini_RAT_tokens(RATFOR)
 
1315
 
 
1316
;
 
1317
break;
 
1318
 
 
1319
case RATFOR_90:
 
1320
if(!Rat_is_loaded)break;
 
1321
 
 
1322
 
 
1323
ALREADY_RESERVED(RATFOR_90);
 
1324
 
 
1325
save_words(RATFOR_90,F77_words);
 
1326
save_words(RATFOR_90,F90_words);
 
1327
save_words(RATFOR_90,RATFOR_words);
 
1328
save_WEB(RATFOR_90);
 
1329
 
 
1330
if(m4)
 
1331
save_words(RATFOR_90,M4_words);
 
1332
 
 
1333
SAVE_ID(INTRINSIC_FCN,RATFOR_90,F77_intrinsics);
 
1334
SAVE_ID(INTRINSIC_FCN,RATFOR_90,F90_intrinsics);
 
1335
SAVE_ID(KEYWD,RATFOR_90,F77_Keywords);
 
1336
SAVE_ID(KEYWD,RATFOR_90,F90_Keywords);
 
1337
 
 
1338
if(lc_keywords)
 
1339
{
 
1340
SAVE_ID(KEYWD,RATFOR_90,F77_keywords);
 
1341
SAVE_ID(KEYWD,RATFOR_90,R77_keywords);
 
1342
SAVE_ID(KEYWD,RATFOR_90,F90_keywords);
 
1343
}
 
1344
 
 
1345
#ifdef VAXC
 
1346
save_words(RATFOR_90,VAX_words);
 
1347
SAVE_ID(INTRINSIC_FCN,RATFOR_90,VAX_intrinsics);
 
1348
SAVE_ID(KEYWD,RATFOR_90,VAX_Keywords);
 
1349
#endif 
 
1350
 
 
1351
ini_RAT_tokens(RATFOR_90)
 
1352
 
 
1353
;
 
1354
break;
 
1355
 
 
1356
case TEX:
 
1357
 
 
1358
 
 
1359
ALREADY_RESERVED(TEX);
 
1360
 
 
1361
save_words(TEX,TEX_words);
 
1362
save_WEB(TEX);
 
1363
 
 
1364
SAVE_ID(INTRINSIC_FCN,TEX,TEX_intrinsics);
 
1365
 
 
1366
ini_tokens(TEX)
 
1367
 
 
1368
;
 
1369
break;
 
1370
 
 
1371
case LITERAL:
 
1372
 
 
1373
 
 
1374
ALREADY_RESERVED(LITERAL);
 
1375
 
 
1376
 
 
1377
;
 
1378
break;
 
1379
 
 
1380
case NUWEB_OFF:
 
1381
case NUWEB_ON:
 
1382
 
 
1383
confusion(OC("ini_reserved"),OC("Invalid language"));
 
1384
}
 
1385
 
 
1386
ini_out_tokens(general_tokens);
 
1387
}
 
1388
 
 
1389
 
 
1390
#endif 
 
1391
 
 
1392
#if(part != 1)
 
1393
 
 
1394
 
 
1395
RESERVED_WORD TEX_words[]= {
 
1396
 
 
1397
{"\\above",built_in},
 
1398
{"\\abovedisplayshortskip",built_in},
 
1399
{"\\abovedisplayskip",built_in},
 
1400
{"\\abovewithdelims",built_in},
 
1401
{"\\accent",built_in},
 
1402
{"\\adjdemerits",built_in},
 
1403
{"\\advance",built_in},
 
1404
{"\\afterassignment",built_in},
 
1405
{"\\aftergroup",built_in},
 
1406
{"\\atop",built_in},
 
1407
{"\\atopwithdelims",built_in}
 
1408
 
 
1409
,
 
1410
 
 
1411
{"\\baselineskip",built_in},
 
1412
{"\\batchmode",built_in},
 
1413
{"\\begingroup",built_in},
 
1414
{"\\belowdisplayshortskip",built_in},
 
1415
{"\\belowdisplayskip",built_in},
 
1416
{"\\binoppenalty",built_in},
 
1417
{"\\botmark",built_in},
 
1418
{"\\box",built_in},{"\\bowmaxdepth",built_in},
 
1419
{"\\brokenpenalty",built_in}
 
1420
 
 
1421
,
 
1422
 
 
1423
{"\\catcode",built_in},
 
1424
{"\\char",built_in},{"\\chardef",typedef_like},
 
1425
{"\\cleaders",built_in},
 
1426
{"\\closein",built_in},{"\\closeout",built_in},
 
1427
{"\\clubpenalty",built_in},
 
1428
{"\\copy",built_in},
 
1429
{"\\count",built_in},{"\\countdef",typedef_like},
 
1430
{"\\cr",built_in},{"\\crcr",built_in},
 
1431
{"\\csname",built_in}
 
1432
 
 
1433
,
 
1434
 
 
1435
{"\\day",built_in},
 
1436
{"\\deadcycles",built_in},
 
1437
{"\\def",typedef_like},
 
1438
{"\\defaulthyphenchar",built_in},{"\\defaultskewchar",built_in},
 
1439
{"\\delcode",built_in},
 
1440
{"\\delimiter",built_in},{"\\delimiterfactor",built_in},
 
1441
{"\\deflimitershortfall",built_in},
 
1442
{"\\dimen",built_in},{"\\dimendef",typedef_like},
 
1443
{"\\discretionary",built_in},
 
1444
{"\\displayindent",built_in},
 
1445
{"\\displaylimits",built_in},
 
1446
{"\\displaystyle",built_in},
 
1447
{"\\displaywidowpenalty",built_in},
 
1448
{"\\displaywidth",built_in},
 
1449
{"\\divide",built_in},
 
1450
{"\\doublehyphendemerits",built_in},
 
1451
{"\\dp",built_in},
 
1452
{"\\dump",built_in}
 
1453
 
 
1454
,
 
1455
 
 
1456
{"\\edef",typedef_like},
 
1457
{"\\eject",built_in},
 
1458
{"\\else",built_in},
 
1459
{"\\end",built_in},{"\\endcsname",built_in},
 
1460
{"\\endcsname",built_in},
 
1461
{"\\endgroup",built_in},
 
1462
{"\\endinput",built_in},
 
1463
{"\\endlinechar",built_in},
 
1464
{"\\eqno",built_in},
 
1465
{"\\errhelp",built_in},{"\\errmessage",built_in},
 
1466
{"\\errorstopmode",built_in},
 
1467
{"\\escapechar",built_in},
 
1468
{"\\everycr",built_in},{"\\everydisplay",built_in},
 
1469
{"\\everyhbox",built_in},{"\\everyjob",built_in},
 
1470
{"\\everymath",built_in},{"\\everypar",built_in},
 
1471
{"\\everyvbox",built_in},
 
1472
{"\\exhyphenpenalty",built_in},
 
1473
{"\\expandafter",built_in}
 
1474
 
 
1475
,
 
1476
 
 
1477
{"\\fam",built_in},
 
1478
{"\\fi",built_in},
 
1479
{"\\finalhyphendemerits",built_in},
 
1480
{"\\firstmark",built_in},
 
1481
{"\\floatingpenalty",built_in},
 
1482
{"\\font",built_in},{"\\fontdimen",built_in},
 
1483
{"\\fontname",built_in},
 
1484
{"\\futurelet",typedef_like},
 
1485
{"\\gdef",typedef_like},
 
1486
{"\\global",built_in},{"\\globaldefs",built_in},
 
1487
{"\\halign",built_in},
 
1488
{"\\hangafter",built_in},{"\\hangindent",built_in},
 
1489
{"\\hbadness",built_in},
 
1490
{"\\hbox",built_in},
 
1491
{"\\hfil",built_in},{"\\hfill",built_in},
 
1492
{"\\hfilneg",built_in},
 
1493
{"\\hfuzz",built_in},
 
1494
{"\\hoffset",built_in},
 
1495
{"\\hrule",built_in},
 
1496
{"\\hskip",built_in},
 
1497
{"\\hss",built_in},
 
1498
{"\\ht",built_in},
 
1499
{"\\hyphenation",built_in},
 
1500
{"\\hyphenchar",built_in},{"\\hyphenpenalty",built_in}
 
1501
 
 
1502
,
 
1503
 
 
1504
{"\\if",built_in},{"\\ifcase",built_in},
 
1505
{"\\ifcat",built_in},{"\\ifdim",built_in},{"\\ifeof",built_in},
 
1506
{"\\iffalse",built_in},{"\\ifhbox",built_in},
 
1507
{"\\ifhmode",built_in},{"\\ifinner",built_in},{"\\ifmmode",built_in},
 
1508
{"\\ifnum",built_in},{"\\ifodd",built_in},
 
1509
{"\\iftrue",built_in},
 
1510
{"\\ifvbox",built_in},{"\\ifvmode",built_in},{"\\ifvoid",built_in},
 
1511
{"\\ifx",built_in},
 
1512
{"\\ignorespaces",built_in},
 
1513
{"\\immediate",built_in},
 
1514
{"\\indent",built_in},
 
1515
{"\\input",built_in},
 
1516
{"\\insert",built_in},{"\\insertpenalties",built_in},
 
1517
{"\\interlinepenalty",built_in},
 
1518
{"\\jobname",built_in},
 
1519
{"\\kern",built_in}
 
1520
 
 
1521
,
 
1522
 
 
1523
{"\\lastbox",built_in},{"\\lastkern",built_in},
 
1524
{"\\lastpenalty",built_in},{"\\lastskip",built_in},
 
1525
{"\\lccode",built_in},
 
1526
{"\\leaders",built_in},
 
1527
{"\\left",built_in},
 
1528
{"\\leqno",built_in},
 
1529
{"\\leftskip",built_in},
 
1530
{"\\let",typedef_like},
 
1531
{"\\limits",built_in},
 
1532
{"\\linepenalty",built_in},{"\\lineskip",built_in},
 
1533
{"\\lineskiplimit",built_in},
 
1534
{"\\llap",built_in},
 
1535
{"\\long",built_in},
 
1536
{"\\looseness",built_in},
 
1537
{"\\lower",built_in},{"\\lowercase",built_in}
 
1538
 
 
1539
,
 
1540
 
 
1541
{"\\mag",built_in},
 
1542
{"\\mark",built_in},
 
1543
{"\\mathaccent",built_in},
 
1544
{"\\mathbin",built_in},
 
1545
{"\\mathchar",built_in},
 
1546
{"\\mathchardef",built_in},
 
1547
{"\\mathchoice",built_in},
 
1548
{"\\mathclose",built_in},
 
1549
{"\\mathcode",built_in},
 
1550
{"\\mathinner",built_in},{"\\mathop",built_in},
 
1551
{"\\mathop",built_in},{"\\mathopen",built_in},
 
1552
{"\\mathord",built_in},
 
1553
{"\\mathpunc",built_in},
 
1554
{"\\mathrel",built_in},
 
1555
{"\\mathsurround",built_in},
 
1556
{"\\maxdeadcycles",built_in},
 
1557
{"\\maxdepth",built_in},
 
1558
{"\\meaning",built_in},
 
1559
{"\\medmuskip",built_in},
 
1560
{"\\message",built_in},
 
1561
{"\\mkern",built_in},
 
1562
{"\\month",built_in},
 
1563
{"\\moveleft",built_in},{"\\moveright",built_in},
 
1564
{"\\mskip",built_in},
 
1565
{"\\multiply",built_in},
 
1566
{"\\muskip",built_in},
 
1567
{"\\muskipdef",built_in},
 
1568
{"\\newlinechar",built_in},
 
1569
{"\\noalign",built_in},
 
1570
{"\\noexpand",built_in},
 
1571
{"\\noindent",built_in},
 
1572
{"\\nolimits",built_in},
 
1573
{"\\nonscript",built_in},
 
1574
{"\\nonstopmode",built_in},
 
1575
{"\\nulldelimiterspace",built_in},
 
1576
{"\\number",built_in}
 
1577
 
 
1578
,
 
1579
 
 
1580
{"\\omit",built_in},
 
1581
{"\\openin",built_in},{"\\openout",built_in},
 
1582
{"\\or",built_in},
 
1583
{"\\outer",built_in},
 
1584
{"\\output",built_in},{"\\outputpenalty",built_in},
 
1585
{"\\over",built_in},
 
1586
{"\\overfullrule",built_in},
 
1587
{"\\overline",built_in},
 
1588
{"\\overwithdelims",built_in}
 
1589
 
 
1590
,
 
1591
 
 
1592
{"\\pagedepth",built_in},
 
1593
{"\\pagefilllstretch",built_in},{"\\pagefillstretch",built_in},
 
1594
{"\\pagefilstretch",built_in},
 
1595
{"\\pagegoal",built_in},
 
1596
{"\\pageshrink",built_in},{"\\pagestretch",built_in},
 
1597
{"\\pagetotal",built_in},
 
1598
{"\\par",built_in},
 
1599
{"\\parfillskip",built_in},
 
1600
{"\\parindent",built_in},
 
1601
{"\\parshape",built_in},{"\\parskip",built_in},
 
1602
{"\\patterns",built_in},
 
1603
{"\\pausing",built_in},
 
1604
{"\\penalty",built_in},
 
1605
{"\\postdisplaypenalty",built_in},
 
1606
{"\\predisplaypenalty",built_in},
 
1607
{"\\predisplaysize",built_in},
 
1608
{"\\pretolerance",built_in},
 
1609
{"\\prevdepth",built_in},
 
1610
{"\\prevgraf",built_in},
 
1611
{"\\radical",built_in},
 
1612
{"\\raise",built_in},
 
1613
{"\\read",built_in},
 
1614
{"\\relax",built_in},
 
1615
{"\\relpenalty",built_in},
 
1616
{"\\right",built_in},
 
1617
{"\\rightskip",built_in},
 
1618
{"\\romannumeral",built_in}
 
1619
 
 
1620
,
 
1621
 
 
1622
{"\\scripfont",built_in},{"\\scripscripfont",built_in},
 
1623
{"\\scripscriptstyle",built_in},{"\\scriptspace",built_in},
 
1624
{"\\scripstyle",built_in},
 
1625
{"\\scrollmode",built_in},
 
1626
{"\\setbox",built_in},
 
1627
{"\\sfcode",built_in},
 
1628
{"\\shipout",built_in},
 
1629
{"\\show",built_in},{"\\showbox",built_in},
 
1630
{"\\showboxbreadth",built_in},{"\\showboxdepth",built_in},
 
1631
{"\\showhyphens",built_in},{"\\showlists",built_in},
 
1632
{"\\showthe",built_in},
 
1633
{"\\skewchar",built_in},
 
1634
{"\\skip",built_in},{"\\skipdepth",built_in},
 
1635
{"\\spacefactor",built_in},{"\\spaceskip",built_in},
 
1636
{"\\span",built_in},
 
1637
{"\\special",built_in},
 
1638
{"\\splitbotmark",built_in},{"\\splitfirstmark",built_in},
 
1639
{"\\splitmaxdepth",built_in},
 
1640
{"\\splittopskip",built_in},
 
1641
{"\\string",built_in},
 
1642
{"\\tabskip",built_in}
 
1643
 
 
1644
,
 
1645
 
 
1646
{"\\textfont",built_in},
 
1647
{"\\textstyle",built_in},
 
1648
{"\\the",built_in},
 
1649
{"\\thickmuskip",built_in},{"\\thinmuskip",built_in},
 
1650
{"\\time",built_in},
 
1651
{"\\toks",built_in},{"\\toksdef",built_in},
 
1652
{"\\tolerance",built_in},
 
1653
{"\\topmark",built_in},{"\\topskip",built_in},
 
1654
{"\\tracingcommands",built_in},
 
1655
{"\\tracinglostchars",built_in},
 
1656
{"\\tracingmacros",built_in},
 
1657
{"\\tracingonline",built_in},
 
1658
{"\\tracingoutput",built_in},
 
1659
{"\\tracingpages",built_in},
 
1660
{"\\tracingparagraphs",built_in},
 
1661
{"\\tracingrestores",built_in},
 
1662
{"\\tracingstats",built_in}
 
1663
 
 
1664
,
 
1665
 
 
1666
{"\\ucode",built_in},{"\\uchyph",built_in},
 
1667
{"\\underline",built_in},
 
1668
{"\\unhbox",built_in},
 
1669
{"\\unhcopy",built_in},{"\\unkern",built_in},
 
1670
{"\\unpenalty",built_in},{"\\unskip",built_in},
 
1671
{"\\unvbox",built_in},{"\\unvcopy",built_in},
 
1672
{"\\uppercase",built_in},
 
1673
{"\\vadjust",built_in},{"\\valign",built_in},
 
1674
{"\\vbadness",built_in},
 
1675
{"\\vbox",built_in},{"\\vcenter",built_in},
 
1676
{"\\vfil",built_in},{"\\vfill",built_in},
 
1677
{"\\vfilneg",built_in},
 
1678
{"\\vfuzz",built_in},
 
1679
{"\\voffset",built_in},
 
1680
{"\\vskip",built_in},
 
1681
{"\\vrule",built_in},
 
1682
{"\\vsize",built_in},
 
1683
{"\\vskip",built_in},
 
1684
{"\\vskip",built_in},
 
1685
{"\\vss",built_in},
 
1686
{"\\vtop",built_in},
 
1687
{"\\wd",built_in},
 
1688
{"\\widowpenalty",built_in},
 
1689
{"\\write",built_in},
 
1690
{"\\xdef",typedef_like},
 
1691
{"\\xleaders",built_in},
 
1692
{"\\xspaceskip",built_in},
 
1693
{"\\year",built_in}
 
1694
 
 
1695
 
 
1696
,
 
1697
{"",0}
 
1698
};
 
1699
 
 
1700
 
 
1701
 
 
1702
CONST char*TEX_intrinsics[]= {
 
1703
 
 
1704
"\\aa",
 
1705
"\\AA",
 
1706
"\\active",
 
1707
"\\acute",
 
1708
"\\advancepageno",
 
1709
"\\ae",
 
1710
"\\AE",
 
1711
"\\aleph",
 
1712
"\\allowbreak",
 
1713
"\\allowhyphens",
 
1714
"\\alpha",
 
1715
"\\amalg",
 
1716
"\\angle",
 
1717
"\\approx",
 
1718
"\\arccos",
 
1719
"\\arcsin",
 
1720
"\\arctan",
 
1721
"\\arg",
 
1722
"\\arrowvert",
 
1723
"\\Arrowvert",
 
1724
"\\ast",
 
1725
"\\asymp"
 
1726
 
 
1727
,
 
1728
 
 
1729
"\\b",
 
1730
"\\backslash",
 
1731
"\\bar",
 
1732
"\\beta",
 
1733
"\\bf",
 
1734
"\\bffam",
 
1735
"\\bgroup",
 
1736
"\\big",
 
1737
"\\Big",
 
1738
"\\bigbreak",
 
1739
"\\bigcap",
 
1740
"\\bigcirc",
 
1741
"\\bigcup",
 
1742
"\\bigg",
 
1743
"\\Bigg",
 
1744
"\\biggl",
 
1745
"\\Biggl",
 
1746
"\\biggm",
 
1747
"\\Biggm",
 
1748
"\\biggr",
 
1749
"\\Biggr",
 
1750
"\\bigl",
 
1751
"\\Bigl",
 
1752
"\\bigm",
 
1753
"\\Bigm",
 
1754
"\\bigodot",
 
1755
"\\bigoplus",
 
1756
"\\bigotimes",
 
1757
"\\bigr",
 
1758
"\\Bigr",
 
1759
"\\bigskip","\\bigskipamount",
 
1760
"\\bigsqcup",
 
1761
"\\bigtriangledown",
 
1762
"\\bigtriangleup",
 
1763
"\\biguplus",
 
1764
"\\bigvee",
 
1765
"\\bigwedge",
 
1766
"\\bmod",
 
1767
"\\body",
 
1768
"\\bordermatrix",
 
1769
 
 
1770
 
 
1771
 
 
1772
"\\bot",
 
1773
"\\bowtie",
 
1774
"\\brace",
 
1775
"\\braceld",
 
1776
"\\bracelu",
 
1777
"\\bracerd",
 
1778
"\\braceru",
 
1779
"\\bracevert",
 
1780
"\\brack",
 
1781
"\\break",
 
1782
"\\breve",
 
1783
"\\buildrel",
 
1784
"\\bullet",
 
1785
"\\bye"
 
1786
 
 
1787
,
 
1788
 
 
1789
"\\c",
 
1790
"\\cal",
 
1791
"\\cap",
 
1792
"\\cases",
 
1793
"\\cdot",
 
1794
"\\cdotp",
 
1795
"\\cdots",
 
1796
"\\centering",
 
1797
"\\centerline",
 
1798
"\\check",
 
1799
"\\chi",
 
1800
"\\choose",
 
1801
"\\circ",
 
1802
"\\cleartabs",
 
1803
"\\clubsuit",
 
1804
"\\colon",
 
1805
"\\cong",
 
1806
"\\coprod",
 
1807
"\\copyright",
 
1808
"\\cos",
 
1809
"\\cosh",
 
1810
"\\cot",
 
1811
"\\coth",
 
1812
"\\csc",
 
1813
"\\cup"
 
1814
 
 
1815
,
 
1816
 
 
1817
"\\d",
 
1818
"\\dag",
 
1819
"\\dagger",
 
1820
"\\dashv",
 
1821
"\\ddag",
 
1822
"\\ddagger",
 
1823
"\\ddot",
 
1824
"\\ddots",
 
1825
"\\deg",
 
1826
"\\delta",
 
1827
"\\Delta",
 
1828
"\\det",
 
1829
"\\diamond",
 
1830
"\\diamondsuit",
 
1831
"\\dim",
 
1832
"\\displaylines",
 
1833
"\\div",
 
1834
"\\dospecials",
 
1835
"\\dosupereject",
 
1836
"\\dot",
 
1837
"\\doteq",
 
1838
"\\dotfill",
 
1839
"\\dots",
 
1840
"\\downarrow",
 
1841
"\\Downarrow",
 
1842
"\\downbracefill"
 
1843
 
 
1844
 
 
1845
,
 
1846
 
 
1847
"\\egroup",
 
1848
"\\eject",
 
1849
"\\ell",
 
1850
"\\empty",
 
1851
"\\emptyset",
 
1852
"\\endgraf",
 
1853
"\\endline",
 
1854
"\\enskip","\\enspace",
 
1855
"\\epsilon",
 
1856
"\\eqalign","\\eqalignno",
 
1857
"\\equiv",
 
1858
"\\eta",
 
1859
"\\exists",
 
1860
"\\exp"
 
1861
 
 
1862
,
 
1863
 
 
1864
"\\filbreak",
 
1865
"\\fiverm",
 
1866
"\\flat",
 
1867
"\\folio",
 
1868
"\\footins",
 
1869
"\\footline","\\footnote","\\footnoterule",
 
1870
"\\forall",
 
1871
"\\frenchspacing",
 
1872
"\\frown",
 
1873
"\\fullhsize","\\fullline",
 
1874
"\\gamma",
 
1875
"\\Gamma",
 
1876
"\\gcd",
 
1877
"\\ge",
 
1878
"\\geq",
 
1879
"\\getfactor",
 
1880
"\\gets",
 
1881
"\\gg",
 
1882
"\\glue",
 
1883
"\\goodbreak",
 
1884
"\\grave",
 
1885
"\\hang",
 
1886
"\\hat",
 
1887
"\\hbar",
 
1888
"\\headline",
 
1889
"\\heartsuit",
 
1890
"\\hglue",
 
1891
"\\hideskip",
 
1892
"\\hidewidth",
 
1893
"\\hookleftarrow",
 
1894
"\\hookrightarrow",
 
1895
"\\hphantom",
 
1896
"\\hrulefill"
 
1897
 
 
1898
,
 
1899
 
 
1900
"\\ialign",
 
1901
"\\iff",
 
1902
"\\Im",
 
1903
"\\imath",
 
1904
"\\in",
 
1905
"\\inf",
 
1906
"\\infty",
 
1907
"\\int",
 
1908
"\\interdisplaylinepenalty",
 
1909
"\\interfootnotelinepenalty",
 
1910
"\\iota",
 
1911
"\\it",
 
1912
"\\item",
 
1913
"\\itemitem",
 
1914
"\\itfam",
 
1915
"\\j",
 
1916
"\\jmath",
 
1917
"\\joinrel",
 
1918
"\\jot",
 
1919
"\\kappa",
 
1920
"\\ker"
 
1921
 
 
1922
,
 
1923
 
 
1924
"\\l",
 
1925
"\\L",
 
1926
"\\lambda",
 
1927
"\\Lambda",
 
1928
"\\land",
 
1929
"\\langle",
 
1930
"\\lbrace",
 
1931
"\\lbrack",
 
1932
"\\lceil",
 
1933
"\\ldotp",
 
1934
"\\ldots",
 
1935
"\\le",
 
1936
"\\leavevmode",
 
1937
"\\leftarrow",
 
1938
"\\Leftarrow",
 
1939
"\\leftarrowfill",
 
1940
"\\leftharpoondown",
 
1941
"\\leftharpoonup",
 
1942
"\\leftline",
 
1943
"\\leftrightarrow",
 
1944
"\\Leftrightarrow",
 
1945
"\\leq",
 
1946
"\\leqalignno",
 
1947
"\\lfloor",
 
1948
"\\lg",
 
1949
"\\lgroup",
 
1950
"\\lhook",
 
1951
"\\lim",
 
1952
"\\liminf",
 
1953
"\\limsup",
 
1954
"\\line",
 
1955
"\\ll",
 
1956
"\\llap",
 
1957
"\\lmoustache",
 
1958
"\\ln",
 
1959
"\\lnot",
 
1960
"\\log",
 
1961
"\\longindentation",
 
1962
"\\longleftarrow",
 
1963
"\\Longleftarrow",
 
1964
"\\longleftrightarrow",
 
1965
"\\Longleftrightarrow",
 
1966
"\\longmapsto",
 
1967
"\\longrightarrow",
 
1968
"\\Longrightarrow",
 
1969
"\\loop",
 
1970
"\\lor",
 
1971
"\\lq"
 
1972
 
 
1973
,
 
1974
 
 
1975
"\\magnification","\\magstep","\\magstephalf",
 
1976
"\\maintoks",
 
1977
"\\makefootline","\\makeheadline",
 
1978
"\\mapsto",
 
1979
"\\mapstochar",
 
1980
"\\mathhexbox",
 
1981
"\\mathpalette",
 
1982
"\\mathstrut",
 
1983
"\\matrix",
 
1984
"\\max",
 
1985
"\\maxdimen",
 
1986
"\\medbreak",
 
1987
"\\medskip","\\medskipamount",
 
1988
"\\mid",
 
1989
"\\midinsert",
 
1990
"\\min",
 
1991
"\\mit",
 
1992
"\\models",
 
1993
"\\mp",
 
1994
"\\mu",
 
1995
"\\multispan",
 
1996
"\\nabla",
 
1997
"\\narrower",
 
1998
"\\natural",
 
1999
"\\ne",
 
2000
"\\nearrow",
 
2001
"\\neg",
 
2002
"\\negthinspace",
 
2003
"\\neq",
 
2004
"\\newbox","\\newcount","\\newdimen","\\newfam",
 
2005
"\\newhelp","\\newif","\\newinsert",
 
2006
"\\newmuskip",
 
2007
"\\newread","\\newskip","\\newtoks","\\newwrite",
 
2008
"\\next",
 
2009
"\\ni",
 
2010
"\\ninepoint",
 
2011
"\\ninerm",
 
2012
"\\nobreak",
 
2013
"\\nointerlineskip",
 
2014
"\\nonfrenchspacing",
 
2015
"\\nopagenumbers",
 
2016
"\\normalbaselines","\\normalbaselineskip",
 
2017
"\\normalbottom","\\normallineskip","\\normallineskiplimit",
 
2018
"\\not",
 
2019
"\\notin",
 
2020
"\\nu",
 
2021
"\\null",
 
2022
"\\nullfont",
 
2023
"\\nwarrow"
 
2024
 
 
2025
,
 
2026
 
 
2027
"\\o",
 
2028
"\\O",
 
2029
"\\oalign",
 
2030
"\\obeylines","\\obeyspaces",
 
2031
"\\odot",
 
2032
"\\oe",
 
2033
"\\OE",
 
2034
"\\offinterlineskip",
 
2035
"\\oint",
 
2036
"\\oldstyle",
 
2037
"\\omega",
 
2038
"\\Omega",
 
2039
"\\ominus",
 
2040
"\\ooalign",
 
2041
"\\openup",
 
2042
"\\oplus",
 
2043
"\\oslash",
 
2044
"\\other",
 
2045
"\\otimes",
 
2046
"\\overbrace",
 
2047
"\\overleftarrow",
 
2048
"\\overrightarrow",
 
2049
"\\owns"
 
2050
 
 
2051
,
 
2052
 
 
2053
"\\P",
 
2054
"\\pagebody","\\pagecontents",
 
2055
"\\pageinsert","\\pageno",
 
2056
"\\parallel",
 
2057
"\\partial",
 
2058
"\\perp",
 
2059
"\\phantom",
 
2060
"\\phi",
 
2061
"\\Phi",
 
2062
"\\pi",
 
2063
"\\Pi",
 
2064
"\\plainoutput",
 
2065
"\\pm",
 
2066
"\\pmatrix",
 
2067
"\\pmod",
 
2068
"\\Pr",
 
2069
"\\prec",
 
2070
"\\preceq",
 
2071
"\\preloaded",
 
2072
"\\prime",
 
2073
"\\proclaim",
 
2074
"\\prod",
 
2075
"\\propto",
 
2076
"\\ps",
 
2077
"\\psi",
 
2078
"\\Psi",
 
2079
"\\qquad",
 
2080
"\\quad",
 
2081
"\\raggedbottom","\\raggedcenter","\\raggedright",
 
2082
"\\rangle",
 
2083
"\\rbrace",
 
2084
"\\rbrack",
 
2085
"\\rceil",
 
2086
"\\Re",
 
2087
"\\relbar",
 
2088
"\\Relbar",
 
2089
"\\removelastskip",
 
2090
"\\repeat",
 
2091
"\\rfloor",
 
2092
"\\rgroup",
 
2093
"\\rho",
 
2094
"\\rhook",
 
2095
"\\rightarrow",
 
2096
"\\Rightarrow",
 
2097
"\\rightarrowfill",
 
2098
"\\rightharpoondown",
 
2099
"\\rightharpoonup",
 
2100
"\\rightleftharpoons",
 
2101
"\\rightline",
 
2102
"\\rlap",
 
2103
"\\rm",
 
2104
"\\rmoustache",
 
2105
"\\root",
 
2106
"\\rq"
 
2107
 
 
2108
,
 
2109
 
 
2110
"\\S",
 
2111
"\\sb",
 
2112
"\\sc",
 
2113
"\\searrow",
 
2114
"\\sec",
 
2115
"\\setminus",
 
2116
"\\settabs",
 
2117
"\\setupverbatim",
 
2118
"\\sevenrm",
 
2119
"\\sharp",
 
2120
"\\sigma",
 
2121
"\\Sigma",
 
2122
"\\sim",
 
2123
"\\simeq",
 
2124
"\\sin",
 
2125
"\\sinh",
 
2126
"\\skew",
 
2127
"\\sl",
 
2128
"\\slash",
 
2129
"\\slfam",
 
2130
"\\smallbreak",
 
2131
"\\smallint",
 
2132
"\\smallskip","\\smallskipamount","\\smalltype",
 
2133
"\\smash",
 
2134
"\\smile",
 
2135
"\\sp",
 
2136
"\\space",
 
2137
"\\spadesuit",
 
2138
"\\sqcap",
 
2139
"\\sqcup",
 
2140
"\\sqrt",
 
2141
"\\sqsubseteq",
 
2142
"\\sqsupseteq",
 
2143
"\\ss",
 
2144
"\\star",
 
2145
"\\strut","\\strutbox",
 
2146
"\\subset",
 
2147
"\\subseteq",
 
2148
"\\succ",
 
2149
"\\succeq",
 
2150
"\\sum",
 
2151
"\\sup",
 
2152
"\\supereject",
 
2153
"\\supset",
 
2154
"\\supseteq",
 
2155
"\\surd",
 
2156
"\\swarrow"
 
2157
 
 
2158
,
 
2159
 
 
2160
"\\t",
 
2161
"\\tabalign",
 
2162
"\\tabs",
 
2163
"\\tan",
 
2164
"\\tanh",
 
2165
"\\tau",
 
2166
"\\tenex",
 
2167
"\\tenpoint",
 
2168
"\\tenrm",
 
2169
"\\tensl",
 
2170
"\\tensy",
 
2171
"\\TeX",
 
2172
"\\textindent",
 
2173
"\\theta",
 
2174
"\\Theta",
 
2175
"\\thinspace",
 
2176
"\\tilde",
 
2177
"\\times",
 
2178
"\\to",
 
2179
"\\top",
 
2180
"\\topins","\\topinsert",
 
2181
"\\tracingall",
 
2182
"\\triangle",
 
2183
"\\triangleleft",
 
2184
"\\triangleright",
 
2185
"\\tt",
 
2186
"\\ttfam",
 
2187
"\\ttglue",
 
2188
"\\ttraggedright"
 
2189
 
 
2190
,
 
2191
 
 
2192
"\\u",
 
2193
"\\uncatcodespecials",
 
2194
"\\undefined",
 
2195
"\\underbar",
 
2196
"\\underbrace",
 
2197
"\\up",
 
2198
"\\uparrow",
 
2199
"\\Uparrow",
 
2200
"\\upbracefill",
 
2201
"\\updownarrow",
 
2202
"\\Updownarrow",
 
2203
"\\uplus",
 
2204
"\\upsilon",
 
2205
"\\Upsilon",
 
2206
"\\v",
 
2207
"\\varepsilon",
 
2208
"\\varphi",
 
2209
"\\varpi",
 
2210
"\\varrho",
 
2211
"\\varsigma",
 
2212
"\\vartheta",
 
2213
"\\vdash",
 
2214
"\\vdots",
 
2215
"\\vec",
 
2216
"\\vee",
 
2217
"\\vert",
 
2218
"\\Vert",
 
2219
"\\vfootnote",
 
2220
"\\vglue",
 
2221
"\\vphantom",
 
2222
"\\wedge",
 
2223
"\\widehat",
 
2224
"\\widetilde",
 
2225
"\\wlog",
 
2226
"\\wp",
 
2227
"\\wr",
 
2228
"\\xi",
 
2229
"\\Xi",
 
2230
"\\zeta"
 
2231
 
 
2232
,
 
2233
""
 
2234
};
 
2235
 
 
2236
 
 
2237
 
 
2238
int cmpr_nd FCN((p0,p1))
 
2239
NAME_INFO HUGE**p0 C0("")
 
2240
NAME_INFO HUGE**p1 C1("")
 
2241
{
 
2242
switch(web_strcmp((*p0)->byte_start,(*p0+1)->byte_start,
 
2243
(*p1)->byte_start,(*p1+1)->byte_start))
 
2244
{
 
2245
case EQUAL:
 
2246
return 0;
 
2247
 
 
2248
case LESS:
 
2249
case PREFIX:
 
2250
return-1;
 
2251
 
 
2252
case GREATER:
 
2253
case EXTENSION:
 
2254
return 1;
 
2255
}
 
2256
 
 
2257
return 0;
 
2258
}
 
2259
 
 
2260
 
 
2261
SRTN
 
2262
see_reserved FCN((prsrvd))
 
2263
CONST RSRVD HUGE*prsrvd C1("")
 
2264
{
 
2265
CONST outer_char HUGE*pa= prsrvd->args;
 
2266
unsigned n,k;
 
2267
NAME_INFO HUGE**p,**p0,**p1,*nd= name_dir;
 
2268
boolean all_languages= NO;
 
2269
 
 
2270
 
 
2271
 
 
2272
for(k= 0;k<NUM_LANGUAGES;k++)
 
2273
ini_reserved(lan_enum(k));
 
2274
 
 
2275
n= PTR_DIFF(unsigned,name_ptr,name_dir);
 
2276
p= p0= p1= GET_MEM("p",n,NAME_INFO HUGE*);
 
2277
 
 
2278
for(k= 0;k<n;k++)
 
2279
*p++= nd++;
 
2280
 
 
2281
QSORT(p0,n,sizeof(NAME_INFO HUGE*),cmpr_nd);
 
2282
 
 
2283
if(*pa=='*')
 
2284
{
 
2285
all_languages= YES;
 
2286
pa++;
 
2287
}
 
2288
 
 
2289
printf("Reserved words (%s)%s%s%s:\n",
 
2290
all_languages?"all languages":languages[lan_num(language)],
 
2291
*pa?" beginning with \"":"",(char*)pa,*pa?"\"":"");
 
2292
 
 
2293
for(p1= p0;p1<p;p1++)
 
2294
{
 
2295
ASCII temp[100];
 
2296
size_t n= PTR_DIFF(size_t,((*p1)+1)->byte_start,(*p1)->byte_start);
 
2297
 
 
2298
 
 
2299
STRNCPY(temp,(*p1)->byte_start,n);
 
2300
temp[n]= '\0';
 
2301
to_outer(temp);
 
2302
 
 
2303
 
 
2304
if((all_languages||((*p1)->Language&language))
 
2305
&&(!*pa||(STRNCMP(pa,temp,STRLEN(pa))==0)))
 
2306
id_info(*p1,-1L,(outer_char*)temp,prsrvd);
 
2307
}
 
2308
}
 
2309
 
 
2310
 
 
2311
#endif 
 
2312
 
 
2313
 
 
2314
 
 
2315
 
 
2316
 
 
2317
 
 
2318
 
 
2319