TeX in C
Explore TeX with modern c compiler.
main_ctrl.h
浏览该文件的文档.
1 #ifndef INC_MAIN_CTRL_H
2 
3 #define INC_MAIN_CTRL_H
4 #include <stdlib.h>
5 #include <math.h>
6 #include "global.h"
7 #include "tex_constant.h" // [const] MEM_MIN, EMPTY, MIN_QUARTER_WORD, MAX_QUARTER_WORD, MAX_HALF_WORD
8 // [enum] CatCode, TexCommandCode, hvSkipDiff
9 #include "fonts.h" // [macro] NON_CHAR
10 #include "io.h"
11 #include "str.h"
12 #include "mem.h"
13 #include "texmath.h" // [macro] UNITY; [var] arith_error;
14  // [func] nx_plus_y, mult_integers, half, print_scaled, x_over_n, xn_over_d
15 #include "eqtb.h"
16 #include "page.h"
17 #include "lexer.h" // [macro] inslist, ignoredepth, [var] partoken
18 #include "error.h"
19 #include "hyphen.h"
20 #include "expand.h" // [var] readfile, readopen; [const] closed, justopen
21 #include "linebreak.h"
22 #include "printout.h"
23 #include "align.h"
24 #include "dviout.h"
25 #include "mmode.h" // [const] defaultcode
26 #include "pack.h"
27 #include "print.h"
28 #include "hash.h"
29 #include "scan.h" // [func] skip_spaces, MAX_DIMEN
30 #include "extension.h"
31 
35 // [p384#1030] jmp label _not_use_ .
36 // #define bigswitch 60
37 // #define appendnormalspace 120 // end group S1029x1054_P383x394
42 #define boxflag 1073741824L
44 #define shipoutflag (boxflag + 512)
45 #define leaderflag (boxflag + 513)
46 
47 // enum ChrCode {};
48 #define boxcode 0
49 #define copycode 1
50 #define lastboxcode 2
51 #define vsplitcode 3
52 #define vtopcode 4 // end group S1055x1135_P395x416
57 #define abovecode 0
59 #define overcode 1
60 #define atopcode 2
61 #define delimitedcode 3 // end group S1136x1207_P417x434
66 // enum ShortHandDef {};
68 #define chardefcode 0
69 #define mathchardefcode 1
70 #define countdefcode 2
71 #define dimendefcode 3
72 #define skipdefcode 4
73 #define muskipdefcode 5
74 #define toksdefcode 6
75 
77 #define showcode 0
78 #define showboxcode 1
79 #define showthecode 2
80 #define showlists 3 // end group S1208x1298_P435x454
82 
83 
85 #define faminrange ((curfam >= 0) && (curfam < 16))
86 
89 #define define(x, y, z) \
90  ((a >= 4) ? geq_define((x), (y), (z)) : eq_define((x), (y), (z)))
91 #define worddefine(x, y) \
92  ((a >= 4) ? geq_word_define((x), (y)) : eq_word_define((x), (y)))
93 
94 
95 extern FontIndex maink;
96 extern Pointer mainp;
97 extern void main_ctrl_init();
98 extern void main_control(void);
99 extern void youcant(void);
100 extern void reportillegalcase(void);
101 
102 // mode-indep-process
103 extern void mode_indep_init();
104 extern void mode_indep_init_once();
105 
106 // build box and list
107 // build box, align, page builder
108 extern void normalparagraph(void);
109 // build box, build math, ext
110 extern SmallNumber normmin(long h);
111 
112 /* build math */
113 extern void resumeafterdisplay(void);
114 
115 /* indep porcess */
116 // align, build-box
117 extern void doassignments(void);
118 
119 
120 #endif /* INC_MAIN_CTRL_H */
Pointer FontIndex
Definition: fonts.h:108
FontIndex maink
Definition: main_ctrl.c:31
void youcant(void)
Definition: main_ctrl.c:1036
void main_ctrl_init()
[#1033]
Definition: main_ctrl.c:91
void reportillegalcase(void)
Definition: main_ctrl.c:1044
Pointer mainp
Definition: main_ctrl.c:32
void main_control(void)
Definition: main_ctrl.c:105
void normalparagraph(void)
Definition: build_box.c:327
SmallNumber normmin(long h)
Definition: build_box.c:564
void resumeafterdisplay(void)
Definition: build_math.c:770
void doassignments(void)
Definition: indep_process.c:825
void mode_indep_init()
[#1267, #1282]
Definition: indep_process.c:16
void mode_indep_init_once()
[#1216]
Definition: indep_process.c:24
size_t Pointer
Pointer::size_t(64), a flag or a location in mem or eqtb.
Definition: tex_types.h:45
UChar SmallNumber
[p38#101]: SmallNumber::UChar(8) = [0, 255] only need: (6bit)[0, 63] .
Definition: tex_types.h:112