📄 oniguruma.h
字号:
#define ONIG_META_CHAR_ONE_OR_MORE_TIME 4#define ONIG_META_CHAR_ANYCHAR_ANYTIME 5#define ONIG_INEFFECTIVE_META_CHAR 0/* error codes */#define ONIG_IS_PATTERN_ERROR(ecode) ((ecode) <= -100 && (ecode) > -1000)/* normal return */#define ONIG_NORMAL 0#define ONIG_MISMATCH -1#define ONIG_NO_SUPPORT_CONFIG -2/* internal error */#define ONIGERR_MEMORY -5#define ONIGERR_TYPE_BUG -6#define ONIGERR_PARSER_BUG -11#define ONIGERR_STACK_BUG -12#define ONIGERR_UNDEFINED_BYTECODE -13#define ONIGERR_UNEXPECTED_BYTECODE -14#define ONIGERR_MATCH_STACK_LIMIT_OVER -15#define ONIGERR_DEFAULT_ENCODING_IS_NOT_SETTED -21#define ONIGERR_SPECIFIED_ENCODING_CANT_CONVERT_TO_WIDE_CHAR -22/* general error */#define ONIGERR_INVALID_ARGUMENT -30 /* syntax error */#define ONIGERR_END_PATTERN_AT_LEFT_BRACE -100#define ONIGERR_END_PATTERN_AT_LEFT_BRACKET -101#define ONIGERR_EMPTY_CHAR_CLASS -102#define ONIGERR_PREMATURE_END_OF_CHAR_CLASS -103#define ONIGERR_END_PATTERN_AT_ESCAPE -104#define ONIGERR_END_PATTERN_AT_META -105#define ONIGERR_END_PATTERN_AT_CONTROL -106#define ONIGERR_META_CODE_SYNTAX -108#define ONIGERR_CONTROL_CODE_SYNTAX -109#define ONIGERR_CHAR_CLASS_VALUE_AT_END_OF_RANGE -110#define ONIGERR_CHAR_CLASS_VALUE_AT_START_OF_RANGE -111#define ONIGERR_UNMATCHED_RANGE_SPECIFIER_IN_CHAR_CLASS -112#define ONIGERR_TARGET_OF_REPEAT_OPERATOR_NOT_SPECIFIED -113#define ONIGERR_TARGET_OF_REPEAT_OPERATOR_INVALID -114#define ONIGERR_NESTED_REPEAT_OPERATOR -115#define ONIGERR_UNMATCHED_CLOSE_PARENTHESIS -116#define ONIGERR_END_PATTERN_WITH_UNMATCHED_PARENTHESIS -117#define ONIGERR_END_PATTERN_IN_GROUP -118#define ONIGERR_UNDEFINED_GROUP_OPTION -119#define ONIGERR_INVALID_POSIX_BRACKET_TYPE -121#define ONIGERR_INVALID_LOOK_BEHIND_PATTERN -122#define ONIGERR_INVALID_REPEAT_RANGE_PATTERN -123/* values error (syntax error) */#define ONIGERR_TOO_BIG_NUMBER -200#define ONIGERR_TOO_BIG_NUMBER_FOR_REPEAT_RANGE -201#define ONIGERR_UPPER_SMALLER_THAN_LOWER_IN_REPEAT_RANGE -202#define ONIGERR_EMPTY_RANGE_IN_CHAR_CLASS -203#define ONIGERR_MISMATCH_CODE_LENGTH_IN_CLASS_RANGE -204#define ONIGERR_TOO_MANY_MULTI_BYTE_RANGES -205#define ONIGERR_TOO_SHORT_MULTI_BYTE_STRING -206#define ONIGERR_TOO_BIG_BACKREF_NUMBER -207#define ONIGERR_INVALID_BACKREF -208#define ONIGERR_NUMBERED_BACKREF_OR_CALL_NOT_ALLOWED -209#define ONIGERR_TOO_LONG_WIDE_CHAR_VALUE -212#define ONIGERR_EMPTY_GROUP_NAME -214#define ONIGERR_INVALID_GROUP_NAME -215#define ONIGERR_INVALID_CHAR_IN_GROUP_NAME -216#define ONIGERR_UNDEFINED_NAME_REFERENCE -217#define ONIGERR_UNDEFINED_GROUP_REFERENCE -218#define ONIGERR_MULTIPLEX_DEFINED_NAME -219#define ONIGERR_MULTIPLEX_DEFINITION_NAME_CALL -220#define ONIGERR_NEVER_ENDING_RECURSION -221#define ONIGERR_GROUP_NUMBER_OVER_FOR_CAPTURE_HISTORY -222#define ONIGERR_INVALID_CHAR_PROPERTY_NAME -223#define ONIGERR_INVALID_WIDE_CHAR_VALUE -400#define ONIGERR_TOO_BIG_WIDE_CHAR_VALUE -401#define ONIGERR_NOT_SUPPORTED_ENCODING_COMBINATION -402/* errors related to thread */#define ONIGERR_OVER_THREAD_PASS_LIMIT_COUNT -1001/* must be smaller than BIT_STATUS_BITS_NUM (unsigned int * 8) */#define ONIG_MAX_CAPTURE_HISTORY_GROUP 31#define ONIG_IS_CAPTURE_HISTORY_GROUP(r, i) \ ((i) <= ONIG_MAX_CAPTURE_HISTORY_GROUP && (r)->list && (r)->list[i])typedef struct OnigCaptureTreeNodeStruct { int group; /* group number */ int beg; int end; int allocated; int num_childs; struct OnigCaptureTreeNodeStruct** childs;} OnigCaptureTreeNode;/* match result region type */struct re_registers { int allocated; int num_regs; int* beg; int* end; /* extended */ OnigCaptureTreeNode* history_root; /* capture history tree root */};/* capture tree traverse */#define ONIG_TRAVERSE_CALLBACK_AT_FIRST 1#define ONIG_TRAVERSE_CALLBACK_AT_LAST 2#define ONIG_TRAVERSE_CALLBACK_AT_BOTH \ ( ONIG_TRAVERSE_CALLBACK_AT_FIRST | ONIG_TRAVERSE_CALLBACK_AT_LAST )#define ONIG_REGION_NOTPOS -1typedef struct re_registers OnigRegion;typedef struct { OnigUChar* par; OnigUChar* par_end;} OnigErrorInfo;typedef struct { int lower; int upper;} OnigRepeatRange;typedef void (*OnigWarnFunc) P_((const char* s));extern void onig_null_warn P_((const char* s));#define ONIG_NULL_WARN onig_null_warn#define ONIG_CHAR_TABLE_SIZE 256/* regex_t state */#define ONIG_STATE_NORMAL 0#define ONIG_STATE_SEARCHING 1#define ONIG_STATE_COMPILING -1#define ONIG_STATE_MODIFY -2#define ONIG_STATE(reg) \ ((reg)->state > 0 ? ONIG_STATE_SEARCHING : (reg)->state)typedef struct re_pattern_buffer { /* common members of BBuf(bytes-buffer) */ unsigned char* p; /* compiled pattern */ unsigned int used; /* used space for p */ unsigned int alloc; /* allocated space for p */ int state; /* normal, searching, compiling */ int num_mem; /* used memory(...) num counted from 1 */ int num_repeat; /* OP_REPEAT/OP_REPEAT_NG id-counter */ int num_null_check; /* OP_NULL_CHECK_START/END id counter */ int num_call; /* number of subexp call */ unsigned int capture_history; /* (?@...) flag (1-31) */ unsigned int bt_mem_start; /* need backtrack flag */ unsigned int bt_mem_end; /* need backtrack flag */ int stack_pop_level; int repeat_range_alloc; OnigRepeatRange* repeat_range; OnigEncoding enc; OnigOptionType options; OnigSyntaxType* syntax; OnigAmbigType ambig_flag; void* name_table; /* optimization info (string search, char-map and anchors) */ int optimize; /* optimize flag */ int threshold_len; /* search str-length for apply optimize */ int anchor; /* BEGIN_BUF, BEGIN_POS, (SEMI_)END_BUF */ OnigDistance anchor_dmin; /* (SEMI_)END_BUF anchor distance */ OnigDistance anchor_dmax; /* (SEMI_)END_BUF anchor distance */ int sub_anchor; /* start-anchor for exact or map */ unsigned char *exact; unsigned char *exact_end; unsigned char map[ONIG_CHAR_TABLE_SIZE]; /* used as BM skip or char-map */ int *int_map; /* BM skip for exact_len > 255 */ int *int_map_backward; /* BM skip for backward search */ OnigDistance dmin; /* min-distance of exact or map */ OnigDistance dmax; /* max-distance of exact or map */ /* regex_t link chain */ struct re_pattern_buffer* chain; /* escape compile-conflict */} regex_t;typedef struct { int num_of_elements; OnigEncoding pattern_enc; OnigEncoding target_enc; OnigSyntaxType* syntax; OnigOptionType option; OnigAmbigType ambig_flag;} OnigCompileInfo;/* Oniguruma Native API */ONIG_EXTERNint onig_init P_((void));ONIG_EXTERNint onig_error_code_to_str PV_((OnigUChar* s, int err_code, ...));ONIG_EXTERNvoid onig_set_warn_func P_((OnigWarnFunc f));ONIG_EXTERNvoid onig_set_verb_warn_func P_((OnigWarnFunc f));ONIG_EXTERNint onig_new P_((regex_t**, const OnigUChar* pattern, const OnigUChar* pattern_end, OnigOptionType option, OnigEncoding enc, OnigSyntaxType* syntax, OnigErrorInfo* einfo));ONIG_EXTERNint onig_new_deluxe P_((regex_t** reg, const OnigUChar* pattern, const OnigUChar* pattern_end, OnigCompileInfo* ci, OnigErrorInfo* einfo));ONIG_EXTERNvoid onig_free P_((regex_t*));ONIG_EXTERNint onig_recompile P_((regex_t*, const OnigUChar* pattern, const OnigUChar* pattern_end, OnigOptionType option, OnigEncoding enc, OnigSyntaxType* syntax, OnigErrorInfo* einfo));ONIG_EXTERNint onig_recompile_deluxe P_((regex_t* reg, const OnigUChar* pattern, const OnigUChar* pattern_end, OnigCompileInfo* ci, OnigErrorInfo* einfo));ONIG_EXTERNint onig_search P_((regex_t*, const OnigUChar* str, const OnigUChar* end, const OnigUChar* start, const OnigUChar* range, OnigRegion* region, OnigOptionType option));ONIG_EXTERNint onig_match P_((regex_t*, const OnigUChar* str, const OnigUChar* end, const OnigUChar* at, OnigRegion* region, OnigOptionType option));ONIG_EXTERNOnigRegion* onig_region_new P_((void));ONIG_EXTERNvoid onig_region_init P_((OnigRegion* region));ONIG_EXTERNvoid onig_region_free P_((OnigRegion* region, int free_self));ONIG_EXTERNvoid onig_region_copy P_((OnigRegion* to, OnigRegion* from));ONIG_EXTERNvoid onig_region_clear P_((OnigRegion* region));ONIG_EXTERNint onig_region_resize P_((OnigRegion* region, int n));ONIG_EXTERNint onig_region_set P_((OnigRegion* region, int at, int beg, int end));ONIG_EXTERNint onig_name_to_group_numbers P_((regex_t* reg, const OnigUChar* name, const OnigUChar* name_end, int** nums));ONIG_EXTERNint onig_name_to_backref_number P_((regex_t* reg, const OnigUChar* name, const OnigUChar* name_end, OnigRegion *region));ONIG_EXTERNint onig_foreach_name P_((regex_t* reg, int (*func)(const OnigUChar*, const OnigUChar*,int,int*,regex_t*,void*), void* arg));ONIG_EXTERNint onig_number_of_names P_((regex_t* reg));ONIG_EXTERNint onig_number_of_captures P_((regex_t* reg));ONIG_EXTERNint onig_number_of_capture_histories P_((regex_t* reg));ONIG_EXTERNOnigCaptureTreeNode* onig_get_capture_tree P_((OnigRegion* region));ONIG_EXTERNint onig_capture_tree_traverse P_((OnigRegion* region, int at, int(*callback_func)(int,int,int,int,int,void*), void* arg));ONIG_EXTERNOnigEncoding onig_get_encoding P_((regex_t* reg));ONIG_EXTERNOnigOptionType onig_get_options P_((regex_t* reg));ONIG_EXTERNOnigAmbigType onig_get_ambig_flag P_((regex_t* reg));ONIG_EXTERNOnigSyntaxType* onig_get_syntax P_((regex_t* reg));ONIG_EXTERNint onig_set_default_syntax P_((OnigSyntaxType* syntax));ONIG_EXTERNvoid onig_copy_syntax P_((OnigSyntaxType* to, OnigSyntaxType* from));ONIG_EXTERNunsigned int onig_get_syntax_op P_((OnigSyntaxType* syntax));ONIG_EXTERNunsigned int onig_get_syntax_op2 P_((OnigSyntaxType* syntax));ONIG_EXTERNunsigned int onig_get_syntax_behavior P_((OnigSyntaxType* syntax));ONIG_EXTERNOnigOptionType onig_get_syntax_options P_((OnigSyntaxType* syntax));ONIG_EXTERNvoid onig_set_syntax_op P_((OnigSyntaxType* syntax, unsigned int op));ONIG_EXTERNvoid onig_set_syntax_op2 P_((OnigSyntaxType* syntax, unsigned int op2));ONIG_EXTERNvoid onig_set_syntax_behavior P_((OnigSyntaxType* syntax, unsigned int behavior));ONIG_EXTERNvoid onig_set_syntax_options P_((OnigSyntaxType* syntax, OnigOptionType options));ONIG_EXTERNint onig_set_meta_char P_((OnigEncoding enc, unsigned int what, OnigCodePoint code));ONIG_EXTERNvoid onig_copy_encoding P_((OnigEncoding to, OnigEncoding from));ONIG_EXTERNOnigAmbigType onig_get_default_ambig_flag P_(());ONIG_EXTERNint onig_set_default_ambig_flag P_((OnigAmbigType ambig_flag));ONIG_EXTERNunsigned int onig_get_match_stack_limit_size P_((void));ONIG_EXTERNint onig_set_match_stack_limit_size P_((unsigned int size));ONIG_EXTERNint onig_end P_((void));ONIG_EXTERNconst char* onig_version P_((void));ONIG_EXTERNconst char* onig_copyright P_((void));#ifdef __cplusplus}#endif#endif /* ONIGURUMA_H */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -