TeX in C
Explore TeX with modern c compiler.
PART 24: Getting the next token

[ #332~365:PART 24: GETTING THE NEXT TOKEN ] 更多...

宏定义

#define CHECK_OUTER
 
#define process_cmd    if (_cur_cmd >= OUTER_CALL) CHECK_OUTER;
 
#define Process_cs
 
#define noexpandflag   257
 [p136#341] label not_use 更多...
 
#define ishex(x)    ((((x) >= '0') && ((x) <= '9')) || (((x) >= 'a') && ((x) <= 'f')))
 [p138#352] 更多...
 
#define end_line_char_inactive   ((end_line_char < 0) || (end_line_char > 255))
 [#360]: \endlinechar 行终止符无效,不添加换行符 更多...
 

函数

static int check_outer_validity (int local_curcs)
 [P134#336] 更多...
 
static int hex_to_cur_chr (int c, int cc)
 
static void _get_next_helper (Boolean no_new_control_sequence)
 
void get_next (void)
 
void firm_up_the_line (void)
 [#363] If the user has set the pausing parameter to some positive value, and if nonstop mode has not beenselected. 更多...
 
void get_token (void)
 [#365] 更多...
 

变量

Pointer parloc
 
HalfWord partoken
 
Boolean force_eof
 

详细描述

[ #332~365:PART 24: GETTING THE NEXT TOKEN ]

宏定义说明

◆ CHECK_OUTER

#define CHECK_OUTER
值:
do { \
curchr = cur_chr; \
curcmd = _cur_cmd; \
_cur_cs = check_outer_validity(_cur_cs); \
_cur_cmd = curcmd; \
cur_chr = curchr; \
} while (0)
HalfWord curchr
[#297]: operand of current command a character code or other modifier of the command code.
Definition: lexer.c:43
EightBits curcmd
[#297]: current command set by get_next a command code from the long list of codes given above.
Definition: lexer.c:40
static int check_outer_validity(int local_curcs)
[P134#336]
Definition: lexer.c:869

◆ end_line_char_inactive

#define end_line_char_inactive   ((end_line_char < 0) || (end_line_char > 255))

[#360]: \endlinechar 行终止符无效,不添加换行符

◆ ishex

#define ishex (   x)     ((((x) >= '0') && ((x) <= '9')) || (((x) >= 'a') && ((x) <= 'f')))

[p138#352]

◆ noexpandflag

#define noexpandflag   257

[p136#341] label not_use

◆ process_cmd

#define process_cmd    if (_cur_cmd >= OUTER_CALL) CHECK_OUTER;

◆ Process_cs

#define Process_cs
值:
{ \
_cur_cmd = eq_type(_cur_cs); \
cur_chr = equiv(_cur_cs); \
process_cmd \
}
#define eq_type(x)
[p81#221] -> QuarterWord = TexCommandCode; command code for equivalent.
Definition: eqtb.h:35
#define equiv(x)
[p81#221] -> HalfWord; equivalent value.
Definition: eqtb.h:43

函数说明

◆ _get_next_helper()

static void _get_next_helper ( Boolean  no_new_control_sequence)
static

◆ check_outer_validity()

static int check_outer_validity ( int  local_curcs)
static

[P134#336]

◆ firm_up_the_line()

void firm_up_the_line ( void  )

[#363] If the user has set the pausing parameter to some positive value, and if nonstop mode has not beenselected.

◆ get_next()

void get_next ( void  )

◆ get_token()

void get_token ( void  )

[#365]

◆ hex_to_cur_chr()

static int hex_to_cur_chr ( int  c,
int  cc 
)
static

变量说明

◆ force_eof

Boolean force_eof

◆ parloc

Pointer parloc

◆ partoken

HalfWord partoken