#include <time.h>
#include "ellipsis-macros.h"
#include "language/ellipsis-special.h"
#include "language/directive/ellipsis-special-directive_define.h"
#include "language/directive/ellipsis-special-directive_include.h"
#include "ellipsis-space.h"
#include "utils/ellipsis-error.h"
#include "encoding/ellipsis-case.h"
#include "ellipsis-include.h"
#include "ellipsis-expression.h"
#include "language/directive/ellipsis-directive.h"
#include "ellipsis-filter.h"
#include "ellipsis-tokenize.h"
#include "ellipsis-builtins.h"
Macros | |
#define | DEFER_RETURN_TO(LABEL) |
#define | DEFER_TO(TARGET, LOCATION) |
#define | ELLIPSIS_FA_UNDEPRECATE [[__deprecated__("you should not see this")]] |
#define | ELLIPSIS_STR32_LITERAL ELLIPSIS_STR32_LITERAL_LOCAL |
#define | ELLIPSIS_STR8_LITERAL ELLIPSIS_STR8_LITERAL_LOCAL |
Typedefs | |
typedef enum defer_loop_state | defer_loop_state |
Enumerations | |
enum | defer_loop_state { defer_run = 0 , defer_brk , defer_cnt } |
Variables | |
static char | date_entry [32] |
static thread_local ellipsis‿token‿list * | ellipsis‿macros‿unbind = nullptr |
static char | expand_prefix_max_entry [sizeof("__EXPAND_PREFIX_MAX__")+32] |
static ellipsis‿token‿dictionary | functions |
static char | integer_date_entry [32] |
static char | iso_date_entry [32] |
static ellipsis‿token‿dictionary | macros |
static mtx_t | mtx |
static char * | predefined [] |
static char | time_entry [32] |
static bool | undefinable = false |
#define DEFER_RETURN_TO | ( | LABEL | ) |
#define DEFER_TO | ( | TARGET, | |
LOCATION | |||
) |
#define ELLIPSIS_FA_UNDEPRECATE [[__deprecated__("you should not see this")]] |
#define ELLIPSIS_STR32_LITERAL ELLIPSIS_STR32_LITERAL_LOCAL |
#define ELLIPSIS_STR8_LITERAL ELLIPSIS_STR8_LITERAL_LOCAL |
typedef enum defer_loop_state defer_loop_state |
enum defer_loop_state |
void _Once_ellipsis_macros_atexit | ( | void | ) |
void _Once_something_init | ( | void | ) |
|
static |
References ellipsis‿token::cat, ellipsis‿token::contents, DEFER_RETURN_TO, DEFER_TO, ellipsis‿macros‿find(), ellipsis‿str32‿cpy(), ellipsis‿str32‿delete(), ellipsis‿token‿cpy(), ellipsis‿token‿deepcpy(), ellipsis‿token‿delete_all(), ellipsis‿token‿dictionary‿insert(), ellipsis‿token‿list‿all(), ellipsis‿token‿list‿append(), ellipsis‿token‿list‿close(), ellipsis‿token‿list‿destroy(), ellipsis‿token‿list‿init(), ELLIPSIS_BUG, ELLIPSIS_ERROR, evaluate_callback(), exp_unsigned, macros, mtx, nominal, numeral, ellipsis‿token::payload, and ellipsis‿token::value.
Referenced by clear_callback(), decrement_callback(), and increment_callback().
|
static |
References ellipsis‿token::contents, ellipsis‿macros‿find(), ellipsis‿token‿delete(), ellipsis‿token‿delete_all(), ellipsis‿token‿list‿first(), ellipsis‿token‿list‿last(), ellipsis‿token‿list‿top(), ellipsis‿token‿number(), ellipsis‿token‿pop(), ellipsis‿token::is_functional, nominal, and ellipsis‿token::payload.
|
static |
References _Atomic(), directive, ellipsis‿macros‿unbind, ellipsis‿token‿delete(), ellipsis‿token‿list‿append(), ellipsis‿token‿list‿close(), ellipsis‿token‿list‿new(), ellipsis‿token‿nominal(), ellipsis‿token‿pop(), ELLIPSIS_BUG, ellipsis_directive_define(), ELLIPSIS_MOVE, and ellipsis‿token::payload.
|
static |
References ellipsis‿token::callback, DEFER_TO, ellipsis‿str32‿delete(), ellipsis‿token‿dictionary‿find(), ellipsis‿token‿list‿delete(), ellipsis‿token‿what‿callback, ellipsis‿token::is_functional, ellipsis‿token::is_undefinable, ellipsis‿token::is_what, macros, ellipsis‿token::payload, and ellipsis‿token::value.
|
static |
|
static |
References ellipsis‿token‿delete(), ellipsis‿token‿pop(), ELLIPSIS_ERROR, and exp_signed.
|
static |
|
static |
|
static |
References ellipsis‿token::cat, comment, ellipsis‿token::contents, ellipsis‿macros‿find(), ellipsis‿token‿delete(), ellipsis‿token‿pop(), ELLIPSIS_ERROR, exp_signed, ellipsis‿str32::length, ellipsis‿token::next, and ellipsis‿token::value.
ELLIPSIS_FA_UNDEPRECATE void ellipsis‿macros‿activate | ( | ellipsis‿str32 * | n | ) |
References ellipsis‿token::cat, ellipsis‿token‿dictionary‿find(), macro, macros, and nominal.
ELLIPSIS_FA_UNDEPRECATE void ellipsis‿macros‿deactivate | ( | ellipsis‿str32 * | n | ) |
References ellipsis‿token::cat, ellipsis‿token‿dictionary‿find(), macro, macros, and nominal.
ellipsis‿token * ellipsis‿macros‿find | ( | ellipsis‿str32 const * | n | ) |
References ellipsis‿token‿dictionary‿find(), and macros.
Referenced by addition_callback(), any_callback(), defined_callback(), ellipsis‿expression‿resolve_defined(), ellipsis‿filter(), ellipsis‿output‿thread(), ellipsis_directive_gather(), ellipsis_directive_move(), ellipsis_directive_scatter(), ellipsis_pragma_find(), expand_functional(), has_c_attribute_callback(), has_extension_callback(), has_feature_callback(), and is_identifier_callback().
ELLIPSIS_FA_UNDEPRECATE void ellipsis‿macros‿insert | ( | ellipsis‿token * | t | ) |
References ellipsis‿token::contents, ellipsis‿str32‿delete(), ellipsis‿str32‿fputs(), ellipsis‿token‿dictionary‿insert(), ellipsis‿token‿what‿else, ELLIPSIS_BUG, ellipsis_category(), ELLIPSIS_ERROR, ellipsis_special_directive_define_find, ellipsis‿token::is_undefinable, ellipsis‿token::is_what, ellipsis‿token‿list::last, macros, nominal, ellipsis‿token::payload, ellipsis‿token::space, and undefinable.
Referenced by ellipsis‿filter(), ellipsis_directive_define(), ellipsis_directive_gather(), ellipsis_directive_move(), ellipsis_directive_scatter(), ellipsis_pragma_insert(), and main().
ellipsis‿token *() ellipsis‿macros‿mangle | ( | ellipsis‿token * | tk | ) |
References ellipsis‿token::cat, ellipsis‿token::contents, ellipsis‿str32‿append(), ellipsis‿str32‿concat_inplace(), ellipsis‿str32‿cpy(), ellipsis‿str32‿fputs(), ellipsis‿token‿delete(), ellipsis‿token‿pop(), ELLIPSIS_WARNING, first, nominal, and numeral.
Referenced by has_c_attribute_callback().
ELLIPSIS_FA_UNDEPRECATE void ellipsis‿macros‿remove | ( | ellipsis‿str32 const * | n | ) |
References ellipsis‿token‿dictionary‿find(), ellipsis‿token‿dictionary‿remove(), ellipsis‿token::is_undefinable, macros, and undefinable.
Referenced by ellipsis_directive_undef(), and main().
ellipsis‿token‿list * ellipsis‿macros‿unbind_get | ( | void | ) |
References ellipsis‿macros‿unbind.
ellipsis‿token‿list * ellipsis‿macros‿unbind_set | ( | ellipsis‿token‿list * | t | ) |
References DEFER_RETURN_TO, DEFER_TO, and ellipsis‿macros‿unbind.
Referenced by ellipsis‿filter().
void ellipsis‿macros‿unfreeze | ( | void | ) |
void ellipsis_filename_repair | ( | ellipsis‿str32 | name[static 1] | ) |
References ellipsis‿str32::array, and ellipsis‿str32::length.
Referenced by embed_common(), has_file_callback(), and include_common().
ellipsis‿token * ellipsis_functions_find | ( | ellipsis‿str32 const * | n | ) |
References ellipsis‿token‿dictionary‿find(), and functions.
Referenced by ellipsis‿expression‿resolve_defined().
|
static |
References ellipsis‿token‿delete(), ellipsis‿token‿pop(), exp_signed, and exp_unsigned.
|
static |
References directive, ellipsis‿token‿delete(), ellipsis‿token‿list‿append(), ellipsis‿token‿list‿close(), ellipsis‿token‿list‿new(), ellipsis_directive_error(), and ellipsis‿token::payload.
|
static |
References ellipsis‿token::cat, ellipsis‿token::contents, ellipsis‿str32‿delete(), evaluate_callback(), numeral, and ellipsis‿token::value.
|
static |
References DEFER_RETURN_TO, DEFER_TO, ellipsis‿expression‿evaluate(), ellipsis‿expression‿resolve_defined(), ellipsis‿token‿list‿append(), ellipsis‿token‿list‿close(), ellipsis‿token‿list‿destroy(), ellipsis‿token‿list‿init(), and ELLIPSIS_ERROR.
Referenced by addition_callback(), evaluate_bin_callback(), evaluate_dec_callback(), evaluate_hex_callback(), and evaluate_oct_callback().
|
static |
References ellipsis‿token::cat, ellipsis‿token::contents, ellipsis‿str32‿delete(), evaluate_callback(), exp_unsigned, numeral, and ellipsis‿token::value.
|
static |
References ellipsis‿token::cat, ellipsis‿token::contents, ellipsis‿str32‿delete(), evaluate_callback(), numeral, and ellipsis‿token::value.
|
static |
References ellipsis‿token::cat, ellipsis‿token::contents, ellipsis‿str32‿delete(), evaluate_callback(), numeral, and ellipsis‿token::value.
|
static |
References ellipsis‿token‿string(), infra_file(), and infra_filter_file.
|
static |
References ellipsis‿token‿number(), and infra_filter_file.
|
static |
References ellipsis‿token::cat, frozen, and nominal.
void functions_insert | ( | char const * | name, |
ellipsis‿token *(*)(ellipsis‿token *) | cb | ||
) |
References ellipsis‿token‿dictionary‿insert(), ellipsis‿token‿what‿callback, functions, and macro.
|
static |
|
static |
References ellipsis‿token::cat, comment, ellipsis‿token::contents, DEFER_RETURN_TO, DEFER_TO, ellipsis‿macros‿find(), ellipsis‿str32‿concat_inplace(), ellipsis‿str32‿delete(), ellipsis‿token‿delete(), ellipsis‿token‿pop(), ELLIPSIS_ERROR, exp_signed, ellipsis‿str32::length, ellipsis‿token::next, and ellipsis‿token::value.
|
static |
References ellipsis‿token::cat, comment, ellipsis‿token::contents, DEFER_RETURN_TO, DEFER_TO, ellipsis‿macros‿find(), ellipsis‿str32‿concat_inplace(), ellipsis‿str32‿delete(), ellipsis‿token‿delete(), ellipsis‿token‿pop(), ELLIPSIS_ERROR, exp_signed, ellipsis‿str32::length, ellipsis‿token::next, and ellipsis‿token::value.
|
static |
References ellipsis‿token::cat, ellipsis‿token::contents, ellipsis‿include‿fclose(), ellipsis‿include‿fopen32(), ellipsis‿include‿process(), ellipsis‿include‿repair(), ellipsis‿str32‿cpy(), ellipsis‿str32‿delete(), ellipsis‿token‿delete(), ellipsis‿token‿delete_all(), ellipsis‿token‿list‿all(), ellipsis‿token‿list‿append(), ellipsis‿token‿list‿close(), ellipsis‿token‿list‿destroy(), ellipsis‿token‿list‿init(), ELLIPSIS_DIAGNOSTIC, ELLIPSIS_ERROR, ellipsis_filename_repair(), end, exp_signed, exp_unsigned, infra_return(), and ellipsis‿token::value.
Referenced by has_embed_callback(), has_include_callback(), has_include_next_callback(), limit_embed_callback(), and limit_include_callback().
|
static |
|
static |
|
static |
|
static |
|
static |
References ellipsis‿token::cat, comment, ellipsis‿token::contents, DEFER_RETURN_TO, DEFER_TO, ellipsis‿macros‿find(), ellipsis‿str32‿concat_inplace(), ellipsis‿str32‿delete(), ellipsis‿token‿delete(), ellipsis‿token‿pop(), ELLIPSIS_ERROR, exp_signed, ellipsis‿str32::length, ellipsis‿token::next, and ellipsis‿token::value.
|
static |
|
static |
|
static |
References ellipsis‿token‿number(), and infra_filter_line.
|
static |
References ellipsis‿token‿number(), and infra_filter_lineno.
|
static |
References DEFER_TO, ellipsis‿str32‿delete(), ellipsis‿token‿dictionary‿find(), ellipsis‿token‿list‿append(), ellipsis‿token‿list‿first(), ellipsis‿token‿list‿new(), exp_signed, first, macros, and ellipsis‿token::payload.
|
static |
References DEFER_TO, ellipsis‿str32‿delete(), ellipsis‿token‿dictionary‿find(), ellipsis‿token‿list‿append(), ellipsis‿token‿list‿first(), ellipsis‿token‿list‿new(), first, macros, ellipsis‿token::payload, and string.
|
static |
References ellipsis‿token::contents, DEFER_TO, ellipsis‿case‿lower(), ellipsis‿str32‿append(), ellipsis‿str32‿delete(), and ellipsis‿str32‿grow().
|
static |
References ellipsis‿token::contents, DEFER_TO, ellipsis‿case‿upper(), ellipsis‿str32‿append(), ellipsis‿str32‿delete(), and ellipsis‿str32‿grow().
|
static |
References directive, ellipsis‿token‿delete(), ellipsis‿token‿list‿append(), ellipsis‿token‿list‿close(), ellipsis‿token‿list‿new(), ellipsis_directive_warning(), and ellipsis‿token::payload.
|
static |
|
static |
Referenced by bind_callback(), ellipsis‿macros‿unbind_get(), and ellipsis‿macros‿unbind_set().
|
static |
|
static |
Referenced by ellipsis_functions_find(), and functions_insert().
|
static |
|
static |
|
static |
|
static |
Referenced by addition_callback().
|
static |
|
static |
|
static |
Referenced by ellipsis‿macros‿insert(), ellipsis‿macros‿remove(), and ellipsis‿macros‿unfreeze().