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"\
12
#define typewriter 3 \
14
#define is_reserved(a)(a->ilk>typewriter) \
16
#define append_xref(c)if(xref_ptr==xmem_end) \
17
OVERFLW("cross-references","r"); \
20
(++xref_ptr)->num= c; \
21
xref_ptr->Language= (boolean)language; \
24
#define def_flag ID_FLAG \
26
#define xref equiv_or_xref \
72
#define implicit_hd 34
75
#define ignore_scrap 37
78
#define language_scrap 40 \
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 \
94
#define implicit_like 67
95
#define assign_like 68
104
#define until_like 76
119
#define program_like 91
122
#define class_like 94
125
#define private_like 98
126
#define slash_like 99
129
#define huge_like 102
130
#define imp_reserved 103
131
#define extern_like 104
138
#define namespace 111
140
#define reference 113
141
#define kill_newlines 114 \
143
#define SAVE_ID(word_type0,language0,words) \
144
save_id(word_type0,language0,(CONST outer_char HUGE**)(words)) \
146
#define ALREADY_RESERVED(L)if(is_reservd.L)break;else is_reservd.L= YES \
154
#if(part != 1 && part != 2 && part != 3)
162
#if(part == 0 || part == 1)
163
#define part1_or_extern
164
#define SET1(stuff) = stuff
165
#define TSET1(stuff) = stuff
167
#define part1_or_extern extern
176
#include "typedefs.h"
184
typedef struct xref_info0
187
struct xref_info0 HUGE*xlink;
192
typedef xref_info HUGE*xref_pointer;
193
typedef ASCII HUGE*XREF_POINTER;
210
#define N_MSGBUF 2000
212
#define N_MSGBUF 10000
219
EXTERN boolean change_exists;
224
IN_COMMON BUF_SIZE max_modules;
227
EXTERN BUF_SIZE max_refs;
228
EXTERN xref_info HUGE*xmem;
229
EXTERN xref_pointer xmem_end;
231
EXTERN xref_pointer xref_ptr;
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;
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.")
253
CONST RESERVED_WORD HUGE*r;
254
LANGUAGE outer_language;
256
outer_language= language;
258
language_num= (short)lan_num(language);
259
word_type= RESERVED_WD;
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));
266
language= outer_language;
267
language_num= (short)lan_num(language);
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.")
278
CONST outer_char HUGE**i;
279
LANGUAGE outer_language;
281
outer_language= language;
283
language_num= (short)lan_num(language);
284
word_type= word_type0;
286
for(i= words;**i;i++)
287
id_lookup(x_to_ASCII(*i),
292
language= outer_language;
293
language_num= (short)lan_num(language);
299
ini_special_tokens FCN((language0,tokens))
300
LANGUAGE language0 C0("")
301
SPEC HUGE*tokens C1("Array of tokens to be initialized.")
306
LANGUAGE language_tmp= language;
311
for(s= tokens;(n= STRLEN(s->name))!=0;s++)
313
ASCII HUGE*p= x_to_ASCII(OC(s->name));
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;
325
language= language_tmp;
331
ini_out_tokens FCN((tokens))
332
SPEC HUGE*tokens C1("")
337
for(s= tokens;(s->len= STRLEN(s->name))!=0;s++)
340
char HUGE*name,HUGE*p0,HUGE*p1;
344
name= (char HUGE*)(mod_text+1);
349
for(p1= name,p0= (char HUGE*)s->name;*p0;p0++)
350
*p1++= (ASCII)tolower(*p0);
352
STRCPY(name,s->name);
354
p= to_ASCII(OC(name));
356
*s->pid= ID_NUM(p,p+s->len);
363
static SPEC general_tokens[]= {
364
{"defined",0,NULL,&id_defined},
370
static RESERVED_WORD old_WEB_words[]= {
373
{"_ASSERT",built_in},
374
{"_COMMENT",built_in},
378
{"_DEFINE",built_in},
379
{"_DEFINED",built_in},
381
{"_DUMPDEF",built_in},
384
{"_GETENV",built_in},
387
{"_IFCASE",built_in},
389
{"_IFELSE",built_in},
390
{"_IFNDEF",built_in},
392
{"_INPUT_LINE",built_in},
394
{"_LANGUAGE",built_in},
395
{"_LANGUAGE_NUM",built_in},
400
{"_MODULES",built_in},
401
{"_MODULE_NAME",built_in},
403
{"_OUTPUT_LINE",built_in},
406
{"_ROUTINE",built_in},
407
{"_SECTION_NUM",built_in},
408
{"_SECTIONS",built_in},
409
{"_STRING",built_in},
411
{"_TRANSLIT",built_in},
414
{"_UNQUOTE",built_in},
415
{"_VERBATIM",built_in},
416
{"_VERSION",built_in},
420
static RESERVED_WORD WEB_words[]= {
423
{"$ASSERT",built_in},
426
{"$COMMENT",built_in},
430
{"$DEFINE",built_in},
431
{"$DEFINED",built_in},
434
{"$DUMPDEF",built_in},
440
{"$GETENV",built_in},
443
{"$IFCASE",built_in},
445
{"$IFELSE",built_in},
446
{"$IFNDEF",built_in},
448
{"$INPUT_LINE",built_in},
450
{"$LANGUAGE",built_in},
451
{"$LANGUAGE_NUM",built_in},
456
{"$MODULES",built_in},
457
{"$MODULE_NAME",built_in},
459
{"$OUTPUT_LINE",built_in},
462
{"$ROUTINE",built_in},
463
{"$SECTION_NUM",built_in},
464
{"$SECTIONS",built_in},
465
{"$STRING",built_in},
467
{"$TRANSLIT",built_in},
471
{"$UNQUOTE",built_in},
472
{"$VERBATIM",built_in},
473
{"$VERSION",built_in},
480
save_WEB FCN((language0))
481
LANGUAGE language0 C1("")
483
save_words(language0,WEB_words);
488
static RESERVED_WORD M4_words[]= {
489
{"changequote",built_in},
494
{"dumpdef",built_in},
495
{"errprint",built_in},
499
{"include",built_in},
503
{"maketemp",built_in},
504
{"sinclude",built_in},
507
{"translit",built_in},
508
{"undefine",built_in},
509
{"undivert",built_in},
516
static RESERVED_WORD C_words[]= {
521
{"clock_t",int_like},
522
{"complex",int_like},
524
{"continue",case_like},
525
{"default",case_like},
526
{"#define",define_like},
535
{"extern",extern_like},
538
{"fortran",int_like},
540
{"for",for_like},{"FOR",for_like},
547
{"#include",if_like},
552
{"noalias",int_like},
554
{"ptrdiff_t",int_like},
555
{"register",int_like},
556
{"return",case_like},
558
{"sig_atomic_t",int_like},
561
{"sizeof",sizeof_like},
565
{"typedef",typedef_like},
567
{"unsigned",int_like},
568
{"va_list",int_like},
569
{"volatile",modifier},
571
{"wchar_t",int_like},
576
static RESERVED_WORD C_words1[]=
578
{"enum",struct_like},
579
{"struct",struct_like},
580
{"union",struct_like},
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",
593
"atof","atoi","atol","strtod","strtol","strtoul",
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",
607
"isalnum","isalpha","iscntrl","isdigit","isgraph","islower",
608
"isprint","ispunct","isspace","isupper","isxdigit",
609
"localeconv","setlocale",
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",
621
"remove","rename","tmpfile","tmpnam",
622
"strcpy","strcmp","strncpy","strlen",
625
"va_arg","va_end","va_start",
632
static RESERVED_WORD Cpp_words[]=
637
{"class",class_like},
638
{"const_cast",int_like},
640
{"dynamic_cast",int_like},
641
{"explicit",int_like},
644
{"mutable",int_like},
645
{"namespace",namespace},
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},
658
{"typename",int_like},
664
static RESERVED_WORD Cpp_words1[]=
667
{"struct",class_like},
668
{"union",class_like},
672
CONST char*Cpp_intrinsics[]=
682
CONST char*Cpp_keywords[]= {
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},
697
{"character",int_like},
699
{"common",common_like},
700
{"complex",int_like},
701
{"continue",case_like},
703
{"$decl_hd",decl_hd},
704
{"dimension",int_like},
705
{"do",Rdo_like},{"DO",for_like},
707
{"doubleprecision",int_like},
709
{"elseif",else_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},
725
{"implicit",implicit_like},
726
{"integer",int_like},
727
{"inquire",read_like},
728
{"intrinsic",int_like},
729
{"logical",int_like},
731
{"parameter",int_like},
733
{"precision",int_like},
735
{"program",program_like},
739
{"return",case_like},
740
{"rewind",read_like},
741
{"save",common_like},
742
{"subroutine",program_like},
755
static RESERVED_WORD VAX_words[]= {
756
{"decode",read_like},
757
{"delete",read_like},
758
{"dictionary",int_like},
759
{"encode",read_like},
761
{"endstructure",end_like},
762
{"endunion",end_like},
764
{"INCLUDE",no_order},
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},
780
CONST char*F77_intrinsics[]= {
791
"atan2","datan2","atan2d",
804
"iand","ior","ieor","not",
813
"llt","lle","lgt","lge",
814
"log","alog","dlog","clog",
815
"log10","alog10","dlog10",
816
"max","amax1","dmax1",
819
"min","amin1","dmin1",
828
"sqrt","dsqrt","csqrt",
831
"%val","%loc","%descr",
838
CONST char*VAX_intrinsics[]= {
840
"qlog","cdlog","qlog10",
843
"sind","dsind","qsind",
845
"cods","dcods","qcods",
847
"tand","dtand","qtand",
849
"asind","dasind","qasind",
851
"acosd","dacosd","qacosd",
853
"atand","datand","qatand",
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",
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",
878
"ishft","iishft","jishft",
879
"ibits","iibits","jibits",
880
"ibset","iibset","jibset",
881
"btest","bitest","bjtest",
882
"ibclr","iibclr","jibclr",
883
"ishftc","iishftc","jishftc",
890
CONST char*F77_Keywords[]= {
924
CONST char*F77_keywords[]= {
960
CONST char*VAX_Keywords[]= {
972
"RECORDSIZE","RECORDTYPE","RECORDSIZE",
982
static RESERVED_WORD F90_words[]= {
983
{"allocate",read_like},
984
{"allocatable",int_like},
985
{"assignment",op_like},
987
{"contains",entry_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},
997
{"include",no_order},
999
{"interface",struct_like},
1000
{"module",program_like},
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},
1013
{"sequence",private_like},
1014
{"target",int_like},
1015
{"type",struct_like},
1024
CONST char*F90_intrinsics[]= {
1026
"adjustl","adjustr",
1040
"exponent","fraction",
1044
"ibclr","ibits","ibset","ishft","ishftc",
1051
"maxexponent","minexponent",
1064
"random_number","random_seed",
1071
"selected_int_kind","selected_real_kind",
1091
CONST char*F90_Keywords[]= {
1112
CONST char*F90_keywords[]= {
1140
static RESERVED_WORD RATFOR_words[]= {
1141
{"break",case_like},
1143
{"default",case_like},
1144
{"for",for_like},{"FOR",for_like},
1147
{"switch",for_like},
1148
{"until",until_like},
1155
CONST char*R77_keywords[]= {
1162
extern RESERVED_WORD TEX_words[];
1166
extern CONST char*TEX_intrinsics[];
1172
boolean C,RATFOR,FORTRAN,TEX,LITERAL,C_PLUS_PLUS,RATFOR_90,FORTRAN_90;
1175
IS_RESERVED is_reservd= {NO,NO,NO,NO,NO,NO,NO,NO};
1178
ini_reserved FCN((l))
1185
confusion(OC("ini_reserved"),OC("Language should already be defined here"));
1190
ALREADY_RESERVED(C);
1192
save_words(C,C_words);
1193
save_words(C,C_words1);
1197
SAVE_ID(INTRINSIC_FCN,C,C_intrinsics);
1207
ALREADY_RESERVED(C_PLUS_PLUS);
1209
save_words(C_PLUS_PLUS,C_words);
1210
save_words(C_PLUS_PLUS,Cpp_words);
1211
save_words(C_PLUS_PLUS,Cpp_words1);
1213
save_WEB(C_PLUS_PLUS);
1215
SAVE_ID(INTRINSIC_FCN,C_PLUS_PLUS,C_intrinsics);
1216
SAVE_ID(INTRINSIC_FCN,C_PLUS_PLUS,Cpp_intrinsics);
1218
SAVE_ID(KEYWD,C_PLUS_PLUS,Cpp_keywords);
1220
ini_tokens(C_PLUS_PLUS)
1228
ALREADY_RESERVED(FORTRAN);
1230
save_words(FORTRAN,F77_words);
1234
save_words(FORTRAN,M4_words);
1236
SAVE_ID(INTRINSIC_FCN,FORTRAN,F77_intrinsics);
1237
SAVE_ID(KEYWD,FORTRAN,F77_Keywords);
1240
SAVE_ID(KEYWD,FORTRAN,F77_keywords);
1243
save_words(FORTRAN,VAX_words);
1244
SAVE_ID(INTRINSIC_FCN,FORTRAN,VAX_intrinsics);
1245
SAVE_ID(KEYWD,FORTRAN,VAX_Keywords);
1256
ALREADY_RESERVED(FORTRAN_90);
1258
save_words(FORTRAN_90,F77_words);
1259
save_words(FORTRAN_90,F90_words);
1260
save_WEB(FORTRAN_90);
1263
save_words(FORTRAN_90,M4_words);
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);
1272
SAVE_ID(KEYWD,FORTRAN_90,F77_keywords);
1273
SAVE_ID(KEYWD,FORTRAN_90,F90_keywords);
1277
save_words(FORTRAN_90,VAX_words);
1278
SAVE_ID(INTRINSIC_FCN,FORTRAN_90,VAX_intrinsics);
1279
SAVE_ID(KEYWD,FORTRAN_90,VAX_Keywords);
1282
ini_tokens(FORTRAN_90)
1288
if(!Rat_is_loaded)break;
1291
ALREADY_RESERVED(RATFOR);
1293
save_words(RATFOR,F77_words);
1294
save_words(RATFOR,RATFOR_words);
1297
if(m4)save_words(RATFOR,M4_words);
1299
SAVE_ID(INTRINSIC_FCN,RATFOR,F77_intrinsics);
1300
SAVE_ID(KEYWD,RATFOR,F77_Keywords);
1304
SAVE_ID(KEYWD,RATFOR,F77_keywords);
1305
SAVE_ID(KEYWD,RATFOR,R77_keywords);
1309
save_words(RATFOR,VAX_words);
1310
SAVE_ID(INTRINSIC_FCN,RATFOR,VAX_intrinsics);
1311
SAVE_ID(KEYWD,RATFOR,VAX_Keywords);
1314
ini_RAT_tokens(RATFOR)
1320
if(!Rat_is_loaded)break;
1323
ALREADY_RESERVED(RATFOR_90);
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);
1331
save_words(RATFOR_90,M4_words);
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);
1340
SAVE_ID(KEYWD,RATFOR_90,F77_keywords);
1341
SAVE_ID(KEYWD,RATFOR_90,R77_keywords);
1342
SAVE_ID(KEYWD,RATFOR_90,F90_keywords);
1346
save_words(RATFOR_90,VAX_words);
1347
SAVE_ID(INTRINSIC_FCN,RATFOR_90,VAX_intrinsics);
1348
SAVE_ID(KEYWD,RATFOR_90,VAX_Keywords);
1351
ini_RAT_tokens(RATFOR_90)
1359
ALREADY_RESERVED(TEX);
1361
save_words(TEX,TEX_words);
1364
SAVE_ID(INTRINSIC_FCN,TEX,TEX_intrinsics);
1374
ALREADY_RESERVED(LITERAL);
1383
confusion(OC("ini_reserved"),OC("Invalid language"));
1386
ini_out_tokens(general_tokens);
1395
RESERVED_WORD TEX_words[]= {
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}
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}
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}
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},
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}
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},
1499
{"\\hyphenation",built_in},
1500
{"\\hyphenchar",built_in},{"\\hyphenpenalty",built_in}
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},
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},
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}
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}
1580
{"\\omit",built_in},
1581
{"\\openin",built_in},{"\\openout",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}
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},
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}
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}
1646
{"\\textfont",built_in},
1647
{"\\textstyle",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}
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},
1686
{"\\vtop",built_in},
1688
{"\\widowpenalty",built_in},
1689
{"\\write",built_in},
1690
{"\\xdef",typedef_like},
1691
{"\\xleaders",built_in},
1692
{"\\xspaceskip",built_in},
1702
CONST char*TEX_intrinsics[]= {
1759
"\\bigskip","\\bigskipamount",
1761
"\\bigtriangledown",
1854
"\\enskip","\\enspace",
1856
"\\eqalign","\\eqalignno",
1869
"\\footline","\\footnote","\\footnoterule",
1873
"\\fullhsize","\\fullline",
1908
"\\interdisplaylinepenalty",
1909
"\\interfootnotelinepenalty",
1940
"\\leftharpoondown",
1961
"\\longindentation",
1964
"\\longleftrightarrow",
1965
"\\Longleftrightarrow",
1975
"\\magnification","\\magstep","\\magstephalf",
1977
"\\makefootline","\\makeheadline",
1987
"\\medskip","\\medskipamount",
2004
"\\newbox","\\newcount","\\newdimen","\\newfam",
2005
"\\newhelp","\\newif","\\newinsert",
2007
"\\newread","\\newskip","\\newtoks","\\newwrite",
2013
"\\nointerlineskip",
2014
"\\nonfrenchspacing",
2016
"\\normalbaselines","\\normalbaselineskip",
2017
"\\normalbottom","\\normallineskip","\\normallineskiplimit",
2030
"\\obeylines","\\obeyspaces",
2034
"\\offinterlineskip",
2054
"\\pagebody","\\pagecontents",
2055
"\\pageinsert","\\pageno",
2081
"\\raggedbottom","\\raggedcenter","\\raggedright",
2098
"\\rightharpoondown",
2100
"\\rightleftharpoons",
2132
"\\smallskip","\\smallskipamount","\\smalltype",
2145
"\\strut","\\strutbox",
2180
"\\topins","\\topinsert",
2193
"\\uncatcodespecials",
2238
int cmpr_nd FCN((p0,p1))
2239
NAME_INFO HUGE**p0 C0("")
2240
NAME_INFO HUGE**p1 C1("")
2242
switch(web_strcmp((*p0)->byte_start,(*p0+1)->byte_start,
2243
(*p1)->byte_start,(*p1+1)->byte_start))
2262
see_reserved FCN((prsrvd))
2263
CONST RSRVD HUGE*prsrvd C1("")
2265
CONST outer_char HUGE*pa= prsrvd->args;
2267
NAME_INFO HUGE**p,**p0,**p1,*nd= name_dir;
2268
boolean all_languages= NO;
2272
for(k= 0;k<NUM_LANGUAGES;k++)
2273
ini_reserved(lan_enum(k));
2275
n= PTR_DIFF(unsigned,name_ptr,name_dir);
2276
p= p0= p1= GET_MEM("p",n,NAME_INFO HUGE*);
2281
QSORT(p0,n,sizeof(NAME_INFO HUGE*),cmpr_nd);
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?"\"":"");
2293
for(p1= p0;p1<p;p1++)
2296
size_t n= PTR_DIFF(size_t,((*p1)+1)->byte_start,(*p1)->byte_start);
2299
STRNCPY(temp,(*p1)->byte_start,n);
2304
if((all_languages||((*p1)->Language&language))
2305
&&(!*pa||(STRNCMP(pa,temp,STRLEN(pa))==0)))
2306
id_info(*p1,-1L,(outer_char*)temp,prsrvd);