#include <uchar.h>
#include <stdbool.h>
#include <inttypes.h>
#include "encoding/ellipsis-base64.h"
#include "utils/ellipsis-error.h"
#include "encoding/ellipsis-entity.h"
#include "language/ellipsis-special.h"
#include "language/directive/ellipsis-special-directive.h"
#include "utils/ellipsis-str32.h"
#include "token/ellipsis-token.h"
#include "ellipsis-infra.h"
#include "utils/ellipsis-bitset.h"
#include "encoding/XID_Continue.h"
#include "encoding/XID_Start.h"
#include <stdio.h>
#include <stdlib.h>
#include <stdint.h>
Go to the source code of this file.
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 | |
ellipsis‿category | ellipsis‿lex‿category‿_Ctra (ellipsis‿str32 const s[static 1], ellipsis‿special‿find *find) |
ellipsis‿category | ellipsis‿lex‿category (ellipsis‿str32 const s[static 1], ellipsis‿special‿find *find) |
bool | ellipsis‿lex‿Continue (char32_t val) |
bool | ellipsis‿lex‿is_space (char32_t c) |
ellipsis‿str32 const * | ellipsis‿lex‿nonspace‿_Ctra (size_t len[static 1], char const *restrict s[static 1], ellipsis‿special const **sp, ellipsis‿token t[static 1], ellipsis‿special‿find *f) |
ellipsis‿str32 const * | ellipsis‿lex‿nonspace (size_t len[static 1], char const *restrict s[static 1], ellipsis‿special const **sp, ellipsis‿token t[static 1], ellipsis‿special‿find *f) |
ellipsis‿str32 const * | ellipsis‿lex‿space‿_Ctra (size_t len[static 1], char const *restrict s[static 1]) |
ellipsis‿str32 const * | ellipsis‿lex‿space (size_t len[static 1], char const *restrict s[static 1]) |
bool | ellipsis‿lex‿Start (char32_t val) |
size_t | ellipsis‿lex‿str_escape (char pc[static 1], size_t lenp[static 1], char const s[static 2], bool account_eol) |
char * | ellipsis‿lex‿strdup_escape‿_Ctra (size_t len, char const s[static len], size_t nlenp[static 1]) |
char * | ellipsis‿lex‿strdup_escape (size_t len, char const s[static len], size_t nlenp[static 1]) |
size_t | ellipsis‿str32‿escape (char32_t *pc32, char const *s, bool account_eol) |
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 |
#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 |
|
inline |
start inner defer anchor at level 1
DEFER_TYPE needs a semicolon
end inner defer anchor, level 1
References ellipsis‿lex‿category‿_Ctra(), and ellipsis‿lex‿category‿_Inner().
Referenced by ellipsis‿lex‿category‿_Ctra(), and ellipsis‿lex‿category‿_Insta().
|
inline |
start inner defer anchor at level 1
DEFER_TYPE needs a semicolon
end inner defer anchor, level 1
References ellipsis‿lex‿category‿_Insta(), and ellipsis‿lex‿category().
Referenced by ellipsis‿lex‿category(), ellipsis‿macros‿insert(), and expand_functional().
|
inline |
References ellipsis‿XID‿Continue, and ellipsis_bitset_member.
Referenced by ellipsis‿filter(), and ellipsis‿lex‿nonspace‿_Inner().
|
inline |
Referenced by ellipsis‿lex‿nonspace‿_Inner(), and ellipsis‿lex‿space‿_Inner().
|
inline |
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 ellipsis‿lex‿nonspace‿_Ctra(), ellipsis‿lex‿nonspace‿_Inner(), and ELLIPSIS_CONTRACT.
Referenced by ellipsis‿lex‿nonspace‿_Ctra(), and ellipsis‿lex‿nonspace‿_Insta().
|
inline |
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 ellipsis‿lex‿nonspace‿_Insta(), ellipsis‿lex‿nonspace(), and ELLIPSIS_CONTRACT.
Referenced by ellipsis‿lex‿category‿_Inner(), ellipsis‿lex‿nonspace(), ellipsis‿special‿directive‿lex(), ellipsis‿tokenize‿string(), and ellipsis‿tokenize().
|
inline |
start inner defer anchor at level 1
DEFER_TYPE needs a semicolon
end inner defer anchor, level 1
References ellipsis‿lex‿space‿_Ctra(), and ellipsis‿lex‿space‿_Inner().
Referenced by ellipsis‿lex‿space‿_Ctra(), and ellipsis‿lex‿space‿_Insta().
|
inline |
start inner defer anchor at level 1
DEFER_TYPE needs a semicolon
end inner defer anchor, level 1
References ellipsis‿lex‿space‿_Insta(), and ellipsis‿lex‿space().
Referenced by ellipsis‿lex‿nonspace‿_Inner(), ellipsis‿lex‿space(), ellipsis‿special‿directive‿lex(), ellipsis‿tokenize‿string(), and ellipsis‿tokenize().
|
inline |
References ellipsis‿XID‿Start, and ellipsis_bitset_member.
Referenced by ellipsis‿lex‿nonspace‿_Inner().
|
inline |
References ellipsis‿infra‿newline(), and ELLIPSIS_CONTRACT.
Referenced by ellipsis‿lex‿strdup_escape‿_Inner().
|
inline |
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 ellipsis‿lex‿strdup_escape‿_Ctra(), ellipsis‿lex‿strdup_escape‿_Inner(), and ELLIPSIS_CONTRACT.
Referenced by ellipsis‿lex‿strdup_escape‿_Ctra(), and ellipsis‿lex‿strdup_escape‿_Insta().
|
inline |
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 ellipsis‿lex‿strdup_escape‿_Insta(), ellipsis‿lex‿strdup_escape(), and ELLIPSIS_CONTRACT.
Referenced by ellipsis‿lex‿strdup_escape(), ellipsis‿special‿scan‿str32‿_Inner(), and ellipsis‿special‿scan‿str8‿_Inner().
|
inline |
References ellipsis‿infra‿newline().
Referenced by ellipsis‿lex‿nonspace‿_Inner(), and ellipsis‿lex‿space‿_Inner().
|
extern |
|
extern |
|
extern |