Ruby  2.1.10p492(2016-04-01revision54464)
Data Structures | Macros | Typedefs | Functions
regparse.h File Reference
#include "regint.h"

Go to the source code of this file.

Data Structures

struct  StrNode
 
struct  QtfrNode
 
struct  EncloseNode
 
struct  UnsetAddr
 
struct  UnsetAddrList
 
struct  CallNode
 
struct  BRefNode
 
struct  AnchorNode
 
struct  ConsAltNode
 
struct  CtypeNode
 
struct  _Node
 
struct  ScanEnv
 
struct  GroupNumRemap
 

Macros

#define NT_STR   0
 
#define NT_CCLASS   1
 
#define NT_CTYPE   2
 
#define NT_CANY   3
 
#define NT_BREF   4
 
#define NT_QTFR   5
 
#define NT_ENCLOSE   6
 
#define NT_ANCHOR   7
 
#define NT_LIST   8
 
#define NT_ALT   9
 
#define NT_CALL   10
 
#define NTYPE2BIT(type)   (1<<(type))
 
#define BIT_NT_STR   NTYPE2BIT(NT_STR)
 
#define BIT_NT_CCLASS   NTYPE2BIT(NT_CCLASS)
 
#define BIT_NT_CTYPE   NTYPE2BIT(NT_CTYPE)
 
#define BIT_NT_CANY   NTYPE2BIT(NT_CANY)
 
#define BIT_NT_BREF   NTYPE2BIT(NT_BREF)
 
#define BIT_NT_QTFR   NTYPE2BIT(NT_QTFR)
 
#define BIT_NT_ENCLOSE   NTYPE2BIT(NT_ENCLOSE)
 
#define BIT_NT_ANCHOR   NTYPE2BIT(NT_ANCHOR)
 
#define BIT_NT_LIST   NTYPE2BIT(NT_LIST)
 
#define BIT_NT_ALT   NTYPE2BIT(NT_ALT)
 
#define BIT_NT_CALL   NTYPE2BIT(NT_CALL)
 
#define IS_NODE_TYPE_SIMPLE(type)
 
#define NTYPE(node)   ((node)->u.base.type)
 
#define SET_NTYPE(node, ntype)   (node)->u.base.type = (ntype)
 
#define NSTR(node)   (&((node)->u.str))
 
#define NCCLASS(node)   (&((node)->u.cclass))
 
#define NCTYPE(node)   (&((node)->u.ctype))
 
#define NBREF(node)   (&((node)->u.bref))
 
#define NQTFR(node)   (&((node)->u.qtfr))
 
#define NENCLOSE(node)   (&((node)->u.enclose))
 
#define NANCHOR(node)   (&((node)->u.anchor))
 
#define NCONS(node)   (&((node)->u.cons))
 
#define NCALL(node)   (&((node)->u.call))
 
#define NCAR(node)   (NCONS(node)->car)
 
#define NCDR(node)   (NCONS(node)->cdr)
 
#define ANCHOR_ANYCHAR_STAR_MASK   (ANCHOR_ANYCHAR_STAR | ANCHOR_ANYCHAR_STAR_ML)
 
#define ANCHOR_END_BUF_MASK   (ANCHOR_END_BUF | ANCHOR_SEMI_END_BUF)
 
#define ENCLOSE_MEMORY   (1<<0)
 
#define ENCLOSE_OPTION   (1<<1)
 
#define ENCLOSE_STOP_BACKTRACK   (1<<2)
 
#define ENCLOSE_CONDITION   (1<<3)
 
#define NODE_STR_MARGIN   16
 
#define NODE_STR_BUF_SIZE   24 /* sizeof(CClassNode) - sizeof(int)*4 */
 
#define NODE_BACKREFS_SIZE   6
 
#define NSTR_RAW   (1<<0) /* by backslashed number */
 
#define NSTR_AMBIG   (1<<1)
 
#define NSTR_DONT_GET_OPT_INFO   (1<<2)
 
#define NSTRING_LEN(node)   (OnigDistance )((node)->u.str.end - (node)->u.str.s)
 
#define NSTRING_SET_RAW(node)   (node)->u.str.flag |= NSTR_RAW
 
#define NSTRING_CLEAR_RAW(node)   (node)->u.str.flag &= ~NSTR_RAW
 
#define NSTRING_SET_AMBIG(node)   (node)->u.str.flag |= NSTR_AMBIG
 
#define NSTRING_SET_DONT_GET_OPT_INFO(node)   (node)->u.str.flag |= NSTR_DONT_GET_OPT_INFO
 
#define NSTRING_IS_RAW(node)   (((node)->u.str.flag & NSTR_RAW) != 0)
 
#define NSTRING_IS_AMBIG(node)   (((node)->u.str.flag & NSTR_AMBIG) != 0)
 
#define NSTRING_IS_DONT_GET_OPT_INFO(node)   (((node)->u.str.flag & NSTR_DONT_GET_OPT_INFO) != 0)
 
#define BACKREFS_P(br)   (IS_NOT_NULL((br)->back_dynamic) ? (br)->back_dynamic : (br)->back_static);
 
#define NQ_TARGET_ISNOT_EMPTY   0
 
#define NQ_TARGET_IS_EMPTY   1
 
#define NQ_TARGET_IS_EMPTY_MEM   2
 
#define NQ_TARGET_IS_EMPTY_REC   3
 
#define NST_MIN_FIXED   (1<<0)
 
#define NST_MAX_FIXED   (1<<1)
 
#define NST_CLEN_FIXED   (1<<2)
 
#define NST_MARK1   (1<<3)
 
#define NST_MARK2   (1<<4)
 
#define NST_MEM_BACKREFED   (1<<5)
 
#define NST_STOP_BT_SIMPLE_REPEAT   (1<<6)
 
#define NST_RECURSION   (1<<7)
 
#define NST_CALLED   (1<<8)
 
#define NST_ADDR_FIXED   (1<<9)
 
#define NST_NAMED_GROUP   (1<<10)
 
#define NST_NAME_REF   (1<<11)
 
#define NST_IN_REPEAT   (1<<12) /* STK_REPEAT is nested in stack. */
 
#define NST_NEST_LEVEL   (1<<13)
 
#define NST_BY_NUMBER   (1<<14) /* {n,m} */
 
#define SET_ENCLOSE_STATUS(node, f)   (node)->u.enclose.state |= (f)
 
#define CLEAR_ENCLOSE_STATUS(node, f)   (node)->u.enclose.state &= ~(f)
 
#define IS_ENCLOSE_CALLED(en)   (((en)->state & NST_CALLED) != 0)
 
#define IS_ENCLOSE_ADDR_FIXED(en)   (((en)->state & NST_ADDR_FIXED) != 0)
 
#define IS_ENCLOSE_RECURSION(en)   (((en)->state & NST_RECURSION) != 0)
 
#define IS_ENCLOSE_MARK1(en)   (((en)->state & NST_MARK1) != 0)
 
#define IS_ENCLOSE_MARK2(en)   (((en)->state & NST_MARK2) != 0)
 
#define IS_ENCLOSE_MIN_FIXED(en)   (((en)->state & NST_MIN_FIXED) != 0)
 
#define IS_ENCLOSE_MAX_FIXED(en)   (((en)->state & NST_MAX_FIXED) != 0)
 
#define IS_ENCLOSE_CLEN_FIXED(en)   (((en)->state & NST_CLEN_FIXED) != 0)
 
#define IS_ENCLOSE_STOP_BT_SIMPLE_REPEAT(en)   (((en)->state & NST_STOP_BT_SIMPLE_REPEAT) != 0)
 
#define IS_ENCLOSE_NAMED_GROUP(en)   (((en)->state & NST_NAMED_GROUP) != 0)
 
#define IS_ENCLOSE_NAME_REF(en)   (((en)->state & NST_NAME_REF) != 0)
 
#define SET_CALL_RECURSION(node)   (node)->u.call.state |= NST_RECURSION
 
#define IS_CALL_RECURSION(cn)   (((cn)->state & NST_RECURSION) != 0)
 
#define IS_CALL_NAME_REF(cn)   (((cn)->state & NST_NAME_REF) != 0)
 
#define IS_BACKREF_NAME_REF(bn)   (((bn)->state & NST_NAME_REF) != 0)
 
#define IS_BACKREF_NEST_LEVEL(bn)   (((bn)->state & NST_NEST_LEVEL) != 0)
 
#define IS_QUANTIFIER_IN_REPEAT(qn)   (((qn)->state & NST_IN_REPEAT) != 0)
 
#define IS_QUANTIFIER_BY_NUMBER(qn)   (((qn)->state & NST_BY_NUMBER) != 0)
 
#define CALLNODE_REFNUM_UNDEF   -1
 
#define NULL_NODE   ((Node* )0)
 
#define SCANENV_MEMNODES_SIZE   8
 
#define SCANENV_MEM_NODES(senv)
 
#define IS_SYNTAX_OP(syn, opm)   (((syn)->op & (opm)) != 0)
 
#define IS_SYNTAX_OP2(syn, opm)   (((syn)->op2 & (opm)) != 0)
 
#define IS_SYNTAX_BV(syn, bvm)   (((syn)->behavior & (bvm)) != 0)
 

Typedefs

typedef struct _Node Node
 

Functions

int onig_renumber_name_table P_ ((regex_t *reg, GroupNumRemap *map))
 
int onig_strncmp P_ ((const UChar *s1, const UChar *s2, int n))
 
void onig_strcpy P_ ((UChar *dest, const UChar *src, const UChar *end))
 
void onig_scan_env_set_error_string P_ ((ScanEnv *env, int ecode, UChar *arg, UChar *arg_end))
 
int onig_scan_unsigned_number P_ ((UChar **src, const UChar *end, OnigEncoding enc))
 
void onig_reduce_nested_quantifier P_ ((Node *pnode, Node *cnode))
 
void onig_node_conv_to_str_node P_ ((Node *node, int raw))
 
int onig_node_str_cat P_ ((Node *node, const UChar *s, const UChar *end))
 
void onig_node_free P_ ((Node *node))
 
Node *onig_node_new_enclose P_ ((int type))
 
Node *onig_node_new_str P_ ((const UChar *s, const UChar *end))
 
Node *onig_node_new_list P_ ((Node *left, Node *right))
 
Node *onig_node_list_add P_ ((Node *list, Node *x))
 
int onig_free_node_list P_ ((void))
 
int onig_names_free P_ ((regex_t *reg))
 
int onig_parse_make_tree P_ ((Node **root, const UChar *pattern, const UChar *end, regex_t *reg, ScanEnv *env))
 

Macro Definition Documentation

◆ ANCHOR_ANYCHAR_STAR_MASK

#define ANCHOR_ANYCHAR_STAR_MASK   (ANCHOR_ANYCHAR_STAR | ANCHOR_ANYCHAR_STAR_ML)

Definition at line 87 of file regparse.h.

Referenced by optimize_node_left().

◆ ANCHOR_END_BUF_MASK

#define ANCHOR_END_BUF_MASK   (ANCHOR_END_BUF | ANCHOR_SEMI_END_BUF)

Definition at line 88 of file regparse.h.

◆ BACKREFS_P

#define BACKREFS_P (   br)    (IS_NOT_NULL((br)->back_dynamic) ? (br)->back_dynamic : (br)->back_static);

◆ BIT_NT_ALT

#define BIT_NT_ALT   NTYPE2BIT(NT_ALT)

Definition at line 62 of file regparse.h.

◆ BIT_NT_ANCHOR

#define BIT_NT_ANCHOR   NTYPE2BIT(NT_ANCHOR)

Definition at line 60 of file regparse.h.

◆ BIT_NT_BREF

#define BIT_NT_BREF   NTYPE2BIT(NT_BREF)

Definition at line 57 of file regparse.h.

◆ BIT_NT_CALL

#define BIT_NT_CALL   NTYPE2BIT(NT_CALL)

Definition at line 63 of file regparse.h.

◆ BIT_NT_CANY

#define BIT_NT_CANY   NTYPE2BIT(NT_CANY)

Definition at line 56 of file regparse.h.

◆ BIT_NT_CCLASS

#define BIT_NT_CCLASS   NTYPE2BIT(NT_CCLASS)

Definition at line 54 of file regparse.h.

◆ BIT_NT_CTYPE

#define BIT_NT_CTYPE   NTYPE2BIT(NT_CTYPE)

Definition at line 55 of file regparse.h.

◆ BIT_NT_ENCLOSE

#define BIT_NT_ENCLOSE   NTYPE2BIT(NT_ENCLOSE)

Definition at line 59 of file regparse.h.

◆ BIT_NT_LIST

#define BIT_NT_LIST   NTYPE2BIT(NT_LIST)

Definition at line 61 of file regparse.h.

◆ BIT_NT_QTFR

#define BIT_NT_QTFR   NTYPE2BIT(NT_QTFR)

Definition at line 58 of file regparse.h.

◆ BIT_NT_STR

#define BIT_NT_STR   NTYPE2BIT(NT_STR)

Definition at line 53 of file regparse.h.

◆ CALLNODE_REFNUM_UNDEF

#define CALLNODE_REFNUM_UNDEF   -1

Definition at line 163 of file regparse.h.

◆ CLEAR_ENCLOSE_STATUS

#define CLEAR_ENCLOSE_STATUS (   node,
  f 
)    (node)->u.enclose.state &= ~(f)

◆ ENCLOSE_CONDITION

#define ENCLOSE_CONDITION   (1<<3)

◆ ENCLOSE_MEMORY

#define ENCLOSE_MEMORY   (1<<0)

◆ ENCLOSE_OPTION

#define ENCLOSE_OPTION   (1<<1)

◆ ENCLOSE_STOP_BACKTRACK

#define ENCLOSE_STOP_BACKTRACK   (1<<2)

◆ IS_BACKREF_NAME_REF

#define IS_BACKREF_NAME_REF (   bn)    (((bn)->state & NST_NAME_REF) != 0)

Definition at line 158 of file regparse.h.

Referenced by numbered_ref_check(), and renumber_node_backref().

◆ IS_BACKREF_NEST_LEVEL

#define IS_BACKREF_NEST_LEVEL (   bn)    (((bn)->state & NST_NEST_LEVEL) != 0)

Definition at line 159 of file regparse.h.

Referenced by compile_length_tree(), compile_tree(), and setup_tree().

◆ IS_CALL_NAME_REF

#define IS_CALL_NAME_REF (   cn)    (((cn)->state & NST_NAME_REF) != 0)

Definition at line 157 of file regparse.h.

◆ IS_CALL_RECURSION

#define IS_CALL_RECURSION (   cn)    (((cn)->state & NST_RECURSION) != 0)

◆ IS_ENCLOSE_ADDR_FIXED

#define IS_ENCLOSE_ADDR_FIXED (   en)    (((en)->state & NST_ADDR_FIXED) != 0)

Definition at line 143 of file regparse.h.

Referenced by unset_addr_list_fix().

◆ IS_ENCLOSE_CALLED

#define IS_ENCLOSE_CALLED (   en)    (((en)->state & NST_CALLED) != 0)

◆ IS_ENCLOSE_CLEN_FIXED

#define IS_ENCLOSE_CLEN_FIXED (   en)    (((en)->state & NST_CLEN_FIXED) != 0)

Definition at line 149 of file regparse.h.

Referenced by get_char_length_tree1().

◆ IS_ENCLOSE_MARK1

#define IS_ENCLOSE_MARK1 (   en)    (((en)->state & NST_MARK1) != 0)

Definition at line 145 of file regparse.h.

Referenced by subexp_inf_recursive_check(), and subexp_recursive_check().

◆ IS_ENCLOSE_MARK2

#define IS_ENCLOSE_MARK2 (   en)    (((en)->state & NST_MARK2) != 0)

Definition at line 146 of file regparse.h.

Referenced by subexp_inf_recursive_check(), and subexp_recursive_check().

◆ IS_ENCLOSE_MAX_FIXED

#define IS_ENCLOSE_MAX_FIXED (   en)    (((en)->state & NST_MAX_FIXED) != 0)

Definition at line 148 of file regparse.h.

Referenced by get_max_match_length(), and optimize_node_left().

◆ IS_ENCLOSE_MIN_FIXED

#define IS_ENCLOSE_MIN_FIXED (   en)    (((en)->state & NST_MIN_FIXED) != 0)

Definition at line 147 of file regparse.h.

Referenced by get_min_match_length(), and optimize_node_left().

◆ IS_ENCLOSE_NAME_REF

#define IS_ENCLOSE_NAME_REF (   en)    (((en)->state & NST_NAME_REF) != 0)

Definition at line 153 of file regparse.h.

Referenced by setup_tree().

◆ IS_ENCLOSE_NAMED_GROUP

#define IS_ENCLOSE_NAMED_GROUP (   en)    (((en)->state & NST_NAMED_GROUP) != 0)

Definition at line 152 of file regparse.h.

Referenced by noname_disable_map().

◆ IS_ENCLOSE_RECURSION

#define IS_ENCLOSE_RECURSION (   en)    (((en)->state & NST_RECURSION) != 0)

◆ IS_ENCLOSE_STOP_BT_SIMPLE_REPEAT

#define IS_ENCLOSE_STOP_BT_SIMPLE_REPEAT (   en)    (((en)->state & NST_STOP_BT_SIMPLE_REPEAT) != 0)

Definition at line 150 of file regparse.h.

Referenced by compile_enclose_node(), and compile_length_enclose_node().

◆ IS_NODE_TYPE_SIMPLE

#define IS_NODE_TYPE_SIMPLE (   type)
Value:
BIT_NT_CANY | BIT_NT_BREF)) != 0)
#define BIT_NT_STR
Definition: regparse.h:53
#define BIT_NT_CCLASS
Definition: regparse.h:54
#define BIT_NT_CTYPE
Definition: regparse.h:55
#define BIT_NT_BREF
Definition: regparse.h:57
int type
Definition: tcltklib.c:112
#define NTYPE2BIT(type)
Definition: regparse.h:51

Definition at line 65 of file regparse.h.

Referenced by next_setup(), and setup_tree().

◆ IS_QUANTIFIER_BY_NUMBER

#define IS_QUANTIFIER_BY_NUMBER (   qn)    (((qn)->state & NST_BY_NUMBER) != 0)

Definition at line 161 of file regparse.h.

Referenced by set_quantifier().

◆ IS_QUANTIFIER_IN_REPEAT

#define IS_QUANTIFIER_IN_REPEAT (   qn)    (((qn)->state & NST_IN_REPEAT) != 0)

Definition at line 160 of file regparse.h.

Referenced by compile_range_repeat_node().

◆ IS_SYNTAX_BV

#define IS_SYNTAX_BV (   syn,
  bvm 
)    (((syn)->behavior & (bvm)) != 0)

◆ IS_SYNTAX_OP

#define IS_SYNTAX_OP (   syn,
  opm 
)    (((syn)->op & (opm)) != 0)

◆ IS_SYNTAX_OP2

#define IS_SYNTAX_OP2 (   syn,
  opm 
)    (((syn)->op2 & (opm)) != 0)

◆ NANCHOR

#define NANCHOR (   node)    (&((node)->u.anchor))

◆ NBREF

#define NBREF (   node)    (&((node)->u.bref))

◆ NCALL

#define NCALL (   node)    (&((node)->u.call))

◆ NCAR

#define NCAR (   node)    (NCONS(node)->car)

◆ NCCLASS

#define NCCLASS (   node)    (&((node)->u.cclass))

◆ NCDR

#define NCDR (   node)    (NCONS(node)->cdr)

◆ NCONS

#define NCONS (   node)    (&((node)->u.cons))

Definition at line 79 of file regparse.h.

◆ NCTYPE

#define NCTYPE (   node)    (&((node)->u.ctype))

Definition at line 74 of file regparse.h.

Referenced by compile_tree(), is_not_included(), node_new_ctype(), and optimize_node_left().

◆ NENCLOSE

#define NENCLOSE (   node)    (&((node)->u.enclose))

◆ NODE_BACKREFS_SIZE

#define NODE_BACKREFS_SIZE   6

Definition at line 97 of file regparse.h.

Referenced by node_new_backref().

◆ NODE_STR_BUF_SIZE

#define NODE_STR_BUF_SIZE   24 /* sizeof(CClassNode) - sizeof(int)*4 */

Definition at line 96 of file regparse.h.

Referenced by onig_node_str_cat().

◆ NODE_STR_MARGIN

#define NODE_STR_MARGIN   16

Definition at line 95 of file regparse.h.

Referenced by onig_node_str_cat().

◆ NQ_TARGET_IS_EMPTY

#define NQ_TARGET_IS_EMPTY   1

Definition at line 118 of file regparse.h.

Referenced by compile_tree_empty_check(), and setup_tree().

◆ NQ_TARGET_IS_EMPTY_MEM

#define NQ_TARGET_IS_EMPTY_MEM   2

Definition at line 119 of file regparse.h.

Referenced by compile_tree_empty_check(), and quantifiers_memory_node_info().

◆ NQ_TARGET_IS_EMPTY_REC

#define NQ_TARGET_IS_EMPTY_REC   3

Definition at line 120 of file regparse.h.

Referenced by compile_tree_empty_check(), and quantifiers_memory_node_info().

◆ NQ_TARGET_ISNOT_EMPTY

#define NQ_TARGET_ISNOT_EMPTY   0

Definition at line 117 of file regparse.h.

Referenced by node_new_quantifier().

◆ NQTFR

#define NQTFR (   node)    (&((node)->u.qtfr))

◆ NST_ADDR_FIXED

#define NST_ADDR_FIXED   (1<<9)

Definition at line 132 of file regparse.h.

Referenced by compile_enclose_node().

◆ NST_BY_NUMBER

#define NST_BY_NUMBER   (1<<14) /* {n,m} */

Definition at line 137 of file regparse.h.

Referenced by node_new_quantifier().

◆ NST_CALLED

#define NST_CALLED   (1<<8)

Definition at line 131 of file regparse.h.

Referenced by setup_subexp_call().

◆ NST_CLEN_FIXED

#define NST_CLEN_FIXED   (1<<2)

Definition at line 125 of file regparse.h.

Referenced by get_char_length_tree1().

◆ NST_IN_REPEAT

#define NST_IN_REPEAT   (1<<12) /* STK_REPEAT is nested in stack. */

Definition at line 135 of file regparse.h.

Referenced by setup_tree().

◆ NST_MARK1

#define NST_MARK1   (1<<3)

Definition at line 126 of file regparse.h.

Referenced by subexp_inf_recursive_check_trav(), and subexp_recursive_check_trav().

◆ NST_MARK2

#define NST_MARK2   (1<<4)

Definition at line 127 of file regparse.h.

Referenced by subexp_inf_recursive_check(), and subexp_recursive_check().

◆ NST_MAX_FIXED

#define NST_MAX_FIXED   (1<<1)

Definition at line 124 of file regparse.h.

Referenced by get_max_match_length().

◆ NST_MEM_BACKREFED

#define NST_MEM_BACKREFED   (1<<5)

Definition at line 128 of file regparse.h.

Referenced by setup_tree().

◆ NST_MIN_FIXED

#define NST_MIN_FIXED   (1<<0)

Definition at line 123 of file regparse.h.

Referenced by get_min_match_length().

◆ NST_NAME_REF

#define NST_NAME_REF   (1<<11)

Definition at line 134 of file regparse.h.

Referenced by node_new_backref(), and parse_enclose().

◆ NST_NAMED_GROUP

#define NST_NAMED_GROUP   (1<<10)

Definition at line 133 of file regparse.h.

Referenced by node_new_enclose_memory().

◆ NST_NEST_LEVEL

#define NST_NEST_LEVEL   (1<<13)

Definition at line 136 of file regparse.h.

Referenced by node_new_backref().

◆ NST_RECURSION

#define NST_RECURSION   (1<<7)

◆ NST_STOP_BT_SIMPLE_REPEAT

#define NST_STOP_BT_SIMPLE_REPEAT   (1<<6)

Definition at line 129 of file regparse.h.

Referenced by next_setup(), and setup_tree().

◆ NSTR

#define NSTR (   node)    (&((node)->u.str))

◆ NSTR_AMBIG

#define NSTR_AMBIG   (1<<1)

Definition at line 100 of file regparse.h.

◆ NSTR_DONT_GET_OPT_INFO

#define NSTR_DONT_GET_OPT_INFO   (1<<2)

Definition at line 101 of file regparse.h.

◆ NSTR_RAW

#define NSTR_RAW   (1<<0) /* by backslashed number */

Definition at line 99 of file regparse.h.

Referenced by str_node_split_last_char().

◆ NSTRING_CLEAR_RAW

#define NSTRING_CLEAR_RAW (   node)    (node)->u.str.flag &= ~NSTR_RAW

Definition at line 105 of file regparse.h.

Referenced by parse_exp().

◆ NSTRING_IS_AMBIG

#define NSTRING_IS_AMBIG (   node)    (((node)->u.str.flag & NSTR_AMBIG) != 0)

◆ NSTRING_IS_DONT_GET_OPT_INFO

#define NSTRING_IS_DONT_GET_OPT_INFO (   node)    (((node)->u.str.flag & NSTR_DONT_GET_OPT_INFO) != 0)

Definition at line 111 of file regparse.h.

Referenced by optimize_node_left().

◆ NSTRING_IS_RAW

#define NSTRING_IS_RAW (   node)    (((node)->u.str.flag & NSTR_RAW) != 0)

◆ NSTRING_LEN

#define NSTRING_LEN (   node)    (OnigDistance )((node)->u.str.end - (node)->u.str.s)

Definition at line 103 of file regparse.h.

Referenced by is_not_included(), and setup_tree().

◆ NSTRING_SET_AMBIG

#define NSTRING_SET_AMBIG (   node)    (node)->u.str.flag |= NSTR_AMBIG

◆ NSTRING_SET_DONT_GET_OPT_INFO

#define NSTRING_SET_DONT_GET_OPT_INFO (   node)    (node)->u.str.flag |= NSTR_DONT_GET_OPT_INFO

Definition at line 107 of file regparse.h.

Referenced by expand_case_fold_make_rem_string().

◆ NSTRING_SET_RAW

#define NSTRING_SET_RAW (   node)    (node)->u.str.flag |= NSTR_RAW

Definition at line 104 of file regparse.h.

Referenced by node_new_str_raw(), parse_exp(), and str_node_split_last_char().

◆ NT_ALT

#define NT_ALT   9

◆ NT_ANCHOR

#define NT_ANCHOR   7

◆ NT_BREF

#define NT_BREF   4

◆ NT_CALL

#define NT_CALL   10

◆ NT_CANY

#define NT_CANY   3

◆ NT_CCLASS

#define NT_CCLASS   1

◆ NT_CTYPE

#define NT_CTYPE   2

◆ NT_ENCLOSE

#define NT_ENCLOSE   6

◆ NT_LIST

#define NT_LIST   8

◆ NT_QTFR

#define NT_QTFR   5

◆ NT_STR

#define NT_STR   0

◆ NTYPE

#define NTYPE (   node)    ((node)->u.base.type)

◆ NTYPE2BIT

#define NTYPE2BIT (   type)    (1<<(type))

Definition at line 51 of file regparse.h.

Referenced by check_type_tree().

◆ NULL_NODE

#define NULL_NODE   ((Node* )0)

◆ SCANENV_MEM_NODES

#define SCANENV_MEM_NODES (   senv)
Value:
(IS_NOT_NULL((senv)->mem_nodes_dynamic) ? \
(senv)->mem_nodes_dynamic : (senv)->mem_nodes_static)
#define IS_NOT_NULL(p)
Definition: regint.h:277

Definition at line 281 of file regparse.h.

Referenced by disable_noname_group_capture(), fetch_named_backref_token(), fetch_token(), get_max_match_length(), get_min_match_length(), node_new_backref(), optimize_node_left(), parse_enclose(), scan_env_set_mem_node(), setup_subexp_call(), and setup_tree().

◆ SCANENV_MEMNODES_SIZE

#define SCANENV_MEMNODES_SIZE   8

Definition at line 280 of file regparse.h.

Referenced by scan_env_add_mem_entry(), and scan_env_clear().

◆ SET_CALL_RECURSION

#define SET_CALL_RECURSION (   node)    (node)->u.call.state |= NST_RECURSION

Definition at line 155 of file regparse.h.

Referenced by subexp_recursive_check().

◆ SET_ENCLOSE_STATUS

#define SET_ENCLOSE_STATUS (   node,
  f 
)    (node)->u.enclose.state |= (f)

◆ SET_NTYPE

#define SET_NTYPE (   node,
  ntype 
)    (node)->u.base.type = (ntype)

Typedef Documentation

◆ Node

typedef struct _Node Node

Function Documentation

◆ P_() [1/16]

int onig_renumber_name_table P_ ( (regex_t *reg, GroupNumRemap *map)  )

◆ P_() [2/16]

int onig_strncmp P_ ( (const UChar *s1, const UChar *s2, int n)  )

◆ P_() [3/16]

void onig_strcpy P_ ( (UChar *dest, const UChar *src, const UChar *end)  )

◆ P_() [4/16]

void onig_scan_env_set_error_string P_ ( (ScanEnv *env, int ecode, UChar *arg, UChar *arg_end)  )

◆ P_() [5/16]

int onig_scan_unsigned_number P_ ( (UChar **src, const UChar *end, OnigEncoding enc)  )

◆ P_() [6/16]

void onig_reduce_nested_quantifier P_ ( (Node *pnode, Node *cnode)  )

◆ P_() [7/16]

void onig_node_conv_to_str_node P_ ( (Node *node, int raw)  )

◆ P_() [8/16]

int onig_node_str_cat P_ ( (Node *node, const UChar *s, const UChar *end)  )

◆ P_() [9/16]

void onig_node_free P_ ( (Node *node)  )

◆ P_() [10/16]

Node* onig_node_new_enclose P_ ( (int type )

◆ P_() [11/16]

Node* onig_node_new_str P_ ( (const UChar *s, const UChar *end)  )

◆ P_() [12/16]

Node* onig_node_new_list P_ ( (Node *left, Node *right)  )

◆ P_() [13/16]

Node* onig_node_list_add P_ ( (Node *list, Node *x)  )

◆ P_() [14/16]

int onig_free_node_list P_ ( (void)  )

◆ P_() [15/16]

int onig_names_free P_ ( (regex_t *reg)  )

◆ P_() [16/16]

int onig_parse_make_tree P_ ( (Node **root, const UChar *pattern, const UChar *end, regex_t *reg, ScanEnv *env )