#include <stdlib.h>
#include <threads.h>
#include "language/ellipsis-special.h"
#include <stdio.h>
#include <stdint.h>
#include "ellipsis-token.h"
#include "ellipsis-tlist.h"
#include "utils/ellipsis-error.h"
Macros | |
#define | ELLIPSIS_CONTRACT(COUNT, COND, ACTION, VERB, CSTR, CTYPE, ...) |
#define | ELLIPSIS_CONTRACT_CHECK_STATIC(CTYPE, COND, CSTR, ...) |
#define | ELLIPSIS_CONTRACT_ICE_OR_TRUE(...) |
#define | ELLIPSIS_CONTRACT_IMPL(COUNT, COND, ACTION, VERB, CSTR, CTYPE, ...) |
#define | ELLIPSIS_CONTRACT_VIOLATION(COUNT, VERB, CTYPE, CSTR, ...) |
#define | ELLIPSIS_TEST_ICE(...) (false ? ELLIPSIS_TO_VOIDS(__VA_ARGS__) : (ellipsis‿contracts‿is_ice*)nullptr) |
#define | ELLIPSIS_TO_VOIDS(...) ((void*)((uintptr_t)((__VA_ARGS__)-(__VA_ARGS__)))) |
#define | garb_start() |
#define | STRINGIFY(...) STRINGIFY_(__VA_ARGS__) |
#define | STRINGIFY_(...) #__VA_ARGS__ |
Typedefs | |
typedef struct ellipsis‿contracts‿is_ice | ellipsis‿contracts‿is_ice |
Functions | |
static void | ellipsis‿token‿_Once‿atexit‿callback (void) |
static void | ellipsis‿token‿_Once‿init‿callback (void) |
static void | ellipsis‿token‿_Once‿init‿user (void) |
void | ellipsis‿token‿_Once‿init (void) |
ellipsis‿token * | ellipsis‿token‿alloc‿_Inner (void) |
ellipsis‿token * | ellipsis‿token‿cpy‿_Inner (ellipsis‿token const *t) |
ellipsis‿token * | ellipsis‿token‿deepcpy‿_Inner (ellipsis‿token const *t) |
void | ellipsis‿token‿delete‿_Inner (ellipsis‿token t[static 1]) |
void | ellipsis‿token‿delete_all‿_Inner (ellipsis‿token act[static 1]) |
void | ellipsis‿token‿destroy‿_Inner (ellipsis‿token t[static 1]) |
bool | ellipsis‿token‿equiv‿_Inner (ellipsis‿token *a, ellipsis‿token *b) |
static ellipsis‿token * | ellipsis‿token‿local_cpy (ellipsis‿token const *t) |
ellipsis‿token * | ellipsis‿token‿nominal‿_Inner (char const id[static 1]) |
ellipsis‿token * | ellipsis‿token‿number‿_Inner (vtype numb) |
ellipsis‿token * | ellipsis‿token‿string‿_Inner (char const str[static 1]) |
static void | garb_dtor (void *t) |
Variables | |
thread_local bool volatile | ellipsis‿contracts‿ignore‿dynamic |
thread_local bool volatile | ellipsis‿contracts‿proceed‿dynamic |
thread_local bool volatile | ellipsis‿contracts‿verbose‿dynamic |
static void(*const | ellipsis‿token‿_Once‿at_quick_exit‿pointer )(void) |
static void(*const | ellipsis‿token‿_Once‿atexit‿pointer )(void) = ellipsis‿token‿_Once‿atexit‿callback |
static thread_local ellipsis‿token * | garb |
static thread_local bool | garb_canary |
static tss_t | garb_key |
#define ELLIPSIS_CONTRACT | ( | COUNT, | |
COND, | |||
ACTION, | |||
VERB, | |||
CSTR, | |||
CTYPE, | |||
... | |||
) |
#define ELLIPSIS_CONTRACT_CHECK_STATIC | ( | CTYPE, | |
COND, | |||
CSTR, | |||
... | |||
) |
#define ELLIPSIS_CONTRACT_ICE_OR_TRUE | ( | ... | ) |
#define ELLIPSIS_CONTRACT_IMPL | ( | COUNT, | |
COND, | |||
ACTION, | |||
VERB, | |||
CSTR, | |||
CTYPE, | |||
... | |||
) |
#define ELLIPSIS_CONTRACT_VIOLATION | ( | COUNT, | |
VERB, | |||
CTYPE, | |||
CSTR, | |||
... | |||
) |
#define ELLIPSIS_TEST_ICE | ( | ... | ) | (false ? ELLIPSIS_TO_VOIDS(__VA_ARGS__) : (ellipsis‿contracts‿is_ice*)nullptr) |
#define ELLIPSIS_TO_VOIDS | ( | ... | ) | ((void*)((uintptr_t)((__VA_ARGS__)-(__VA_ARGS__)))) |
#define garb_start | ( | ) |
#define STRINGIFY | ( | ... | ) | STRINGIFY_(__VA_ARGS__) |
#define STRINGIFY_ | ( | ... | ) | #__VA_ARGS__ |
typedef struct ellipsis‿contracts‿is_ice ellipsis‿contracts‿is_ice |
|
static |
|
static |
References __FILE__, ellipsis‿token‿_Once‿at_quick_exit‿pointer, ellipsis‿token‿_Once‿atexit‿pointer, ellipsis‿token‿_Once‿init‿user(), and GNU_ATTR_USED.
Referenced by ellipsis‿token‿_Once‿init().
|
static |
References garb_dtor(), and garb_key.
Referenced by ellipsis‿token‿_Once‿init‿callback().
void ellipsis‿token‿_Once‿init | ( | void | ) |
References ellipsis‿token‿_Once‿init‿callback().
Referenced by ellipsis‿include‿_Once‿init‿user(), ellipsis‿infra‿_Once‿init‿user(), ellipsis‿language‿c‿_Once‿init‿user(), ellipsis‿language‿html‿_Once‿init‿user(), ellipsis‿language‿markdown‿_Once‿init‿user(), ellipsis‿macros‿_Once‿init‿user(), ellipsis‿pragma‿_Once‿init‿user(), ellipsis‿special‿c‿magic‿_Once‿init‿user(), ellipsis‿special‿c_comment‿magic‿_Once‿init‿user(), ellipsis‿special‿c_directive‿magic‿_Once‿init‿user(), ellipsis‿special‿c_directive1‿magic‿_Once‿init‿user(), ellipsis‿special‿c_include‿magic‿_Once‿init‿user(), ellipsis‿special‿c_pragma‿magic‿_Once‿init‿user(), ellipsis‿special‿decoration‿magic‿_Once‿init‿user(), ellipsis‿special‿directive‿_Once‿init‿user(), ellipsis‿special‿directive‿magic‿_Once‿init‿user(), ellipsis‿special‿directive_define‿magic‿_Once‿init‿user(), ellipsis‿special‿directive_if‿magic‿_Once‿init‿user(), ellipsis‿special‿directive_include‿magic‿_Once‿init‿user(), ellipsis‿special‿empty‿magic‿_Once‿init‿user(), ellipsis‿special‿html‿magic‿_Once‿init‿user(), ellipsis‿special‿html_comment‿magic‿_Once‿init‿user(), ellipsis‿special‿html_directive‿magic‿_Once‿init‿user(), ellipsis‿special‿lex‿magic‿_Once‿init‿user(), ellipsis‿special‿lex_comment‿magic‿_Once‿init‿user(), ellipsis‿special‿lex_directive‿magic‿_Once‿init‿user(), ellipsis‿special‿markdown‿magic‿_Once‿init‿user(), and ellipsis‿special‿markdown_decoration‿magic‿_Once‿init‿user().
ellipsis‿token * ellipsis‿token‿alloc‿_Inner | ( | void | ) |
References ellipsis‿malloc, garb, and garb_start.
Referenced by ellipsis‿token::ellipsis‿token‿alloc‿_Ctra().
ellipsis‿token * ellipsis‿token‿cpy‿_Inner | ( | ellipsis‿token const * | t | ) |
References ellipsis‿token::cat, ellipsis‿token::contents, ellipsis‿token::file, ellipsis‿token::line, ellipsis‿token::space, and ellipsis‿token::value.
Referenced by ellipsis‿token::ellipsis‿token‿cpy‿_Ctra().
ellipsis‿token * ellipsis‿token‿deepcpy‿_Inner | ( | ellipsis‿token const * | t | ) |
References ellipsis‿token‿local_cpy(), ELLIPSIS_CONTRACT, and ellipsis‿token::next.
Referenced by ellipsis‿token::ellipsis‿token‿deepcpy‿_Ctra().
void ellipsis‿token‿delete‿_Inner | ( | ellipsis‿token | t[static 1] | ) |
References garb, and garb_start.
Referenced by ellipsis‿token::ellipsis‿token‿delete‿_Ctra().
void ellipsis‿token‿delete_all‿_Inner | ( | ellipsis‿token | act[static 1] | ) |
Referenced by ellipsis‿token::ellipsis‿token‿delete_all‿_Ctra().
void ellipsis‿token‿destroy‿_Inner | ( | ellipsis‿token | t[static 1] | ) |
References ellipsis‿token::contents, ellipsis‿token::data, ellipsis‿str32‿delete(), ellipsis‿str8‿delete(), ellipsis‿token‿what‿binary, ellipsis‿token‿what‿callback, ellipsis‿token::is_what, ellipsis‿token::payload, and ellipsis‿token::space.
Referenced by ellipsis‿token::ellipsis‿token‿destroy‿_Ctra().
bool ellipsis‿token‿equiv‿_Inner | ( | ellipsis‿token * | a, |
ellipsis‿token * | b | ||
) |
References ellipsis‿token::cat, ellipsis‿token::contents, ellipsis‿str32‿compare(), ellipsis‿str32‿fputs(), ellipsis‿token‿list‿equiv(), ELLIPSIS_WARNING, parameter, ellipsis‿token::payload, and ellipsis‿token::value.
Referenced by ellipsis‿token::ellipsis‿token‿equiv‿_Ctra().
|
static |
References ellipsis‿token::callback, ellipsis‿token::data, ellipsis‿token‿what‿binary, ellipsis‿token‿what‿callback, ELLIPSIS_CONTRACT, ellipsis‿token::is_what, and ellipsis‿token::payload.
Referenced by ellipsis‿token‿deepcpy‿_Inner().
ellipsis‿token * ellipsis‿token‿nominal‿_Inner | ( | char const | id[static 1] | ) |
References ellipsis‿str32‿construct(), and nominal.
Referenced by ellipsis‿token::ellipsis‿token‿nominal‿_Ctra().
ellipsis‿token * ellipsis‿token‿number‿_Inner | ( | vtype | numb | ) |
References ellipsis‿str32‿construct(), and numeral.
Referenced by ellipsis‿token::ellipsis‿token‿number‿_Ctra().
ellipsis‿token * ellipsis‿token‿string‿_Inner | ( | char const | str[static 1] | ) |
References ellipsis‿str32‿construct().
Referenced by ellipsis‿token::ellipsis‿token‿string‿_Ctra().
|
static |
Referenced by ellipsis‿token‿_Once‿atexit‿callback(), and ellipsis‿token‿_Once‿init‿user().
|
extern |
|
extern |
|
extern |
|
static |
Referenced by ellipsis‿token‿_Once‿init‿callback().
|
static |
Referenced by ellipsis‿token‿_Once‿init‿callback().
|
static |
|
static |
|
static |
Referenced by ellipsis‿token‿_Once‿atexit‿callback(), and ellipsis‿token‿_Once‿init‿user().