texexpand.h /size: 1158 b    last modification: 2024-01-16 10:22
1/*
2    See license.txt in the root of this project.
3*/
4
5# ifndef LMT_EXPAND_H
6# define LMT_EXPAND_H
7
8typedef struct expand_state_info {
9    limits_data limits;
10    int         depth;
11    int         cs_name_level; /*tex Not that useful but for now we keep it. */
12    int         arguments;
13    halfword    match_token_head;
14    int         padding;
15} expand_state_info ;
16
17extern expand_state_info lmt_expand_state ;
18
19/* we can also have a get_x_token_ignore_spaces */
20
21extern void     tex_initialize_expansion    (void);
22extern void     tex_cleanup_expansion       (void);
23
24extern halfword tex_expand_match_token_head (void);
25extern void     tex_expand_current_token    (void);
26extern halfword tex_get_x_token             (void); /* very texie names */
27extern void     tex_x_token                 (void); /* very texie names */
28extern void     tex_insert_relax_and_cur_cs (void);
29
30extern halfword tex_create_csname           (void);
31extern int      tex_is_valid_csname         (void);
32
33extern int      tex_get_parameter_count     (void);
34extern int      tex_get_parameter_index     (halfword n);
35extern void     tex_inject_parameter        (int n);
36
37# endif
38