#include <stdio.h>
#include "ellipsis-infra.h"
#include "utils/ellipsis-error.h"
#include "token/ellipsis-tdict.h"
#include <stdlib.h>
#include <threads.h>
#include "language/ellipsis-special.h"
#include <stdint.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 | STRINGIFY(...) STRINGIFY_(__VA_ARGS__) |
#define | STRINGIFY_(...) #__VA_ARGS__ |
Typedefs | |
typedef struct ellipsis‿contracts‿is_ice | ellipsis‿contracts‿is_ice |
Functions | |
static void | ellipsis‿infra‿_Once‿atexit‿callback (void) |
static void | ellipsis‿infra‿_Once‿init‿callback (void) |
static void | ellipsis‿infra‿_Once‿init‿user (void) |
void | ellipsis‿infra‿_Once‿init (void) |
ellipsis‿str8 const * | ellipsis‿infra‿data (ellipsis‿str32 n32[static 1]) |
char const * | ellipsis‿infra‿dir (void) |
void | ellipsis‿infra‿down (void) |
char const * | ellipsis‿infra‿file (size_t pos) |
size_t | ellipsis‿infra‿fileno (void) |
size_t | ellipsis‿infra‿find (ellipsis‿str32 n32[static 1], ellipsis‿str8 const *data) |
size_t | ellipsis‿infra‿line (void) |
void | ellipsis‿infra‿newline (void) |
size_t | ellipsis‿infra‿subscribe (char const n[static 1], ellipsis‿str8 const *data) |
size_t | ellipsis‿infra‿up (char const n[static 1], char const *dir) |
Variables | |
static ellipsis‿carray * | dirs |
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‿infra‿_Once‿atexit‿pointer )(void) = ellipsis‿infra‿_Once‿atexit‿callback |
bool const | ellipsis‿infra‿_Once‿strong = true |
ellipsis‿carray * | ellipsis‿infra‿dependencies |
_Thread_local size_t | ellipsis‿infra‿filter_file = 0 |
_Thread_local size_t | ellipsis‿infra‿filter_line = 0 |
_Thread_local size_t | ellipsis‿infra‿filter_lineno = 0 |
static ellipsis‿token‿dictionary | filenames |
static ellipsis‿sarray * | files |
static ellipsis‿sarray * | lines |
static ellipsis‿carray * | names |
#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 STRINGIFY | ( | ... | ) | STRINGIFY_(__VA_ARGS__) |
#define STRINGIFY_ | ( | ... | ) | #__VA_ARGS__ |
typedef struct ellipsis‿contracts‿is_ice ellipsis‿contracts‿is_ice |
|
static |
References ellipsis‿carray::array, dirs, ellipsis‿carray‿delete(), ellipsis‿error‿dump, ellipsis‿infra‿dependencies, ellipsis‿sarray‿delete(), ellipsis‿token‿dictionary‿destroy(), ellipsis‿token‿dictionary‿fputs(), filenames, files, ellipsis‿carray::length, lines, and names.
|
static |
References __FILE__, ellipsis‿infra‿_Once‿atexit‿pointer, ellipsis‿infra‿_Once‿init‿user(), and GNU_ATTR_USED.
Referenced by ellipsis‿infra‿_Once‿init().
|
static |
References __FILE__, dirs, ellipsis‿infra‿dependencies, ellipsis‿string‿_Once‿init(), ellipsis‿string‿_Once‿strong, ellipsis‿token‿_Once‿init(), ellipsis‿token‿dictionary‿init(), filenames, files, GNU_ATTR_USED, lines, and names.
Referenced by ellipsis‿infra‿_Once‿init‿callback().
void ellipsis‿infra‿_Once‿init | ( | void | ) |
References ellipsis‿infra‿_Once‿init‿callback().
Referenced by diagnostic(), ellipsis‿infra‿data(), ellipsis‿infra‿dir(), ellipsis‿infra‿down(), ellipsis‿infra‿file(), ellipsis‿infra‿fileno(), ellipsis‿infra‿find(), ellipsis‿infra‿line(), ellipsis‿infra‿newline(), ellipsis‿infra‿up(), ellipsis‿macros‿_Once‿init‿user(), ellipsis‿output‿thrd(), and ellipsis‿output‿vrbs().
ellipsis‿str8 const * ellipsis‿infra‿data | ( | ellipsis‿str32 | n32[static 1] | ) |
References __FILE__, ellipsis‿token::data, ellipsis‿infra‿_Once‿init(), ellipsis‿infra‿_Once‿strong, ellipsis‿token‿dictionary‿find(), ellipsis‿token‿what‿binary, filenames, GNU_ATTR_USED, and ellipsis‿token::is_what.
Referenced by ellipsis‿include‿fopen().
char const * ellipsis‿infra‿dir | ( | void | ) |
References __FILE__, ellipsis‿carray::array, dirs, ellipsis‿infra‿_Once‿init(), ellipsis‿infra‿_Once‿strong, GNU_ATTR_USED, and ellipsis‿carray::length.
Referenced by ellipsis‿include‿fopen().
void ellipsis‿infra‿down | ( | void | ) |
References __FILE__, dirs, ellipsis‿carray‿remove(), ellipsis‿infra‿_Once‿init(), ellipsis‿infra‿_Once‿strong, ellipsis‿sarray‿remove(), files, GNU_ATTR_USED, ellipsis‿carray::length, ellipsis‿sarray::length, and lines.
Referenced by ellipsis‿directive‿embed_common(), ellipsis‿directive‿include_common(), ellipsis‿language‿c‿_Once‿init‿user(), ellipsis‿language‿html‿_Once‿init‿user(), ellipsis‿language‿lex‿_Once‿init‿user(), ellipsis‿language‿markdown‿_Once‿init‿user(), ellipsis‿macros‿cb‿has_file(), and main().
char const * ellipsis‿infra‿file | ( | size_t | pos | ) |
References __FILE__, ellipsis‿carray::array, ellipsis‿infra‿_Once‿init(), ellipsis‿infra‿_Once‿strong, GNU_ATTR_USED, and names.
Referenced by diagnostic(), ellipsis‿error‿warning(), ellipsis‿filter(), ellipsis‿macros‿cb‿file(), and ellipsis‿output‿vrbs().
size_t ellipsis‿infra‿fileno | ( | void | ) |
References __FILE__, ellipsis‿sarray::array, ellipsis‿infra‿_Once‿init(), ellipsis‿infra‿_Once‿strong, files, GNU_ATTR_USED, and ellipsis‿sarray::length.
Referenced by ellipsis‿directive‿include_common(), ellipsis‿filter‿thrd(), ellipsis‿tokenize(), and main().
size_t ellipsis‿infra‿find | ( | ellipsis‿str32 | n32[static 1], |
ellipsis‿str8 const * | data | ||
) |
start inner defer anchor at level 1
DEFER_TYPE needs a semicolon
defer needs braces and a semicolon
end inner defer anchor, level 1
References __FILE__, ellipsis‿str32::array, ellipsis‿token::data, ellipsis‿infra‿_Once‿init(), ellipsis‿infra‿_Once‿strong, ellipsis‿str32‿delete(), ellipsis‿str32‿dup, ellipsis‿token‿dictionary‿find(), ellipsis‿token‿dictionary‿insert(), ellipsis‿token‿what‿binary, ELLIPSIS_ERROR, filenames, GNU_ATTR_USED, ellipsis‿token::is_what, ellipsis‿carray::length, ellipsis‿str32::length, names, and ellipsis‿token::value.
Referenced by ellipsis‿directive‿line_common(), and ellipsis‿infra‿subscribe().
size_t ellipsis‿infra‿line | ( | void | ) |
References __FILE__, ellipsis‿sarray::array, ellipsis‿infra‿_Once‿init(), ellipsis‿infra‿_Once‿strong, GNU_ATTR_USED, ellipsis‿sarray::length, and lines.
Referenced by ellipsis‿tokenize().
void ellipsis‿infra‿newline | ( | void | ) |
References __FILE__, ellipsis‿sarray::array, ellipsis‿infra‿_Once‿init(), ellipsis‿infra‿_Once‿strong, ELLIPSIS_CONTRACT, GNU_ATTR_USED, ellipsis‿sarray::length, and lines.
Referenced by ellipsis‿lex‿nonspace‿_Inner(), ellipsis‿lex‿str_escape(), ellipsis‿str32‿escape(), and ellipsis‿tokenize().
size_t ellipsis‿infra‿subscribe | ( | char const | n[static 1], |
ellipsis‿str8 const * | data | ||
) |
References ellipsis‿infra‿find(), ellipsis‿str32‿construct(), and ellipsis‿str32‿delete().
Referenced by ellipsis‿infra‿up().
size_t ellipsis‿infra‿up | ( | char const | n[static 1], |
char const * | dir | ||
) |
References __FILE__, dirs, ellipsis‿infra‿_Once‿init(), ellipsis‿infra‿_Once‿strong, ellipsis‿infra‿subscribe(), files, GNU_ATTR_USED, and lines.
Referenced by ellipsis‿include‿fopen(), and main().
|
static |
|
extern |
|
extern |
|
extern |
|
static |
Referenced by ellipsis‿infra‿_Once‿init‿callback().
bool const ellipsis‿infra‿_Once‿strong = true |
Referenced by diagnostic(), ellipsis‿infra‿data(), ellipsis‿infra‿dir(), ellipsis‿infra‿down(), ellipsis‿infra‿file(), ellipsis‿infra‿fileno(), ellipsis‿infra‿find(), ellipsis‿infra‿line(), ellipsis‿infra‿newline(), ellipsis‿infra‿up(), ellipsis‿macros‿_Once‿init‿user(), ellipsis‿output‿thrd(), and ellipsis‿output‿vrbs().
ellipsis‿carray* ellipsis‿infra‿dependencies |
_Thread_local size_t ellipsis‿infra‿filter_file = 0 |
_Thread_local size_t ellipsis‿infra‿filter_line = 0 |
_Thread_local size_t ellipsis‿infra‿filter_lineno = 0 |
|
static |
|
static |
|
static |