Lines Matching refs:tok

2310 fetch_range_quantifier(UChar** src, UChar* end, OnigToken* tok, ScanEnv* env)  in fetch_range_quantifier()  argument
2386 tok->type = TK_INTERVAL; in fetch_range_quantifier()
2387 tok->u.repeat.lower = low; in fetch_range_quantifier()
2388 tok->u.repeat.upper = up; in fetch_range_quantifier()
2473 static int fetch_token(OnigToken* tok, UChar** src, UChar* end, ScanEnv* env);
2903 fetch_token_in_cc(OnigToken* tok, UChar** src, UChar* end, ScanEnv* env) in fetch_token_in_cc() argument
2914 tok->type = TK_EOT; in fetch_token_in_cc()
2915 return tok->type; in fetch_token_in_cc()
2919 tok->type = TK_CHAR; in fetch_token_in_cc()
2920 tok->base = 0; in fetch_token_in_cc()
2921 tok->u.c = c; in fetch_token_in_cc()
2922 tok->escaped = 0; in fetch_token_in_cc()
2925 tok->type = TK_CC_CLOSE; in fetch_token_in_cc()
2928 tok->type = TK_CC_RANGE; in fetch_token_in_cc()
2937 tok->escaped = 1; in fetch_token_in_cc()
2938 tok->u.c = c; in fetch_token_in_cc()
2941 tok->type = TK_CHAR_TYPE; in fetch_token_in_cc()
2942 tok->u.prop.ctype = ONIGENC_CTYPE_WORD; in fetch_token_in_cc()
2943 tok->u.prop.not = 0; in fetch_token_in_cc()
2946 tok->type = TK_CHAR_TYPE; in fetch_token_in_cc()
2947 tok->u.prop.ctype = ONIGENC_CTYPE_WORD; in fetch_token_in_cc()
2948 tok->u.prop.not = 1; in fetch_token_in_cc()
2951 tok->type = TK_CHAR_TYPE; in fetch_token_in_cc()
2952 tok->u.prop.ctype = ONIGENC_CTYPE_DIGIT; in fetch_token_in_cc()
2953 tok->u.prop.not = 0; in fetch_token_in_cc()
2956 tok->type = TK_CHAR_TYPE; in fetch_token_in_cc()
2957 tok->u.prop.ctype = ONIGENC_CTYPE_DIGIT; in fetch_token_in_cc()
2958 tok->u.prop.not = 1; in fetch_token_in_cc()
2961 tok->type = TK_CHAR_TYPE; in fetch_token_in_cc()
2962 tok->u.prop.ctype = ONIGENC_CTYPE_SPACE; in fetch_token_in_cc()
2963 tok->u.prop.not = 0; in fetch_token_in_cc()
2966 tok->type = TK_CHAR_TYPE; in fetch_token_in_cc()
2967 tok->u.prop.ctype = ONIGENC_CTYPE_SPACE; in fetch_token_in_cc()
2968 tok->u.prop.not = 1; in fetch_token_in_cc()
2972 tok->type = TK_CHAR_TYPE; in fetch_token_in_cc()
2973 tok->u.prop.ctype = ONIGENC_CTYPE_XDIGIT; in fetch_token_in_cc()
2974 tok->u.prop.not = 0; in fetch_token_in_cc()
2978 tok->type = TK_CHAR_TYPE; in fetch_token_in_cc()
2979 tok->u.prop.ctype = ONIGENC_CTYPE_XDIGIT; in fetch_token_in_cc()
2980 tok->u.prop.not = 1; in fetch_token_in_cc()
2989 tok->type = TK_CHAR_PROPERTY; in fetch_token_in_cc()
2990 tok->u.prop.not = (c == 'P' ? 1 : 0); in fetch_token_in_cc()
2995 tok->u.prop.not = (tok->u.prop.not == 0 ? 1 : 0); in fetch_token_in_cc()
3019 tok->type = TK_CODE_POINT; in fetch_token_in_cc()
3020 tok->base = 16; in fetch_token_in_cc()
3021 tok->u.code = (OnigCodePoint )num; in fetch_token_in_cc()
3034 tok->type = TK_RAW_BYTE; in fetch_token_in_cc()
3035 tok->base = 16; in fetch_token_in_cc()
3036 tok->u.c = num; in fetch_token_in_cc()
3050 tok->type = TK_CODE_POINT; in fetch_token_in_cc()
3051 tok->base = 16; in fetch_token_in_cc()
3052 tok->u.code = (OnigCodePoint )num; in fetch_token_in_cc()
3066 tok->type = TK_RAW_BYTE; in fetch_token_in_cc()
3067 tok->base = 8; in fetch_token_in_cc()
3068 tok->u.c = num; in fetch_token_in_cc()
3076 if (tok->u.c != num) { in fetch_token_in_cc()
3077 tok->u.code = (OnigCodePoint )num; in fetch_token_in_cc()
3078 tok->type = TK_CODE_POINT; in fetch_token_in_cc()
3086 tok->backp = p; /* point at '[' is readed */ in fetch_token_in_cc()
3090 tok->type = TK_POSIX_BRACKET_OPEN; in fetch_token_in_cc()
3100 tok->type = TK_CC_CC_OPEN; in fetch_token_in_cc()
3111 tok->type = TK_CC_AND; in fetch_token_in_cc()
3117 return tok->type; in fetch_token_in_cc()
3121 fetch_token(OnigToken* tok, UChar** src, UChar* end, ScanEnv* env) in fetch_token() argument
3133 tok->type = TK_EOT; in fetch_token()
3134 return tok->type; in fetch_token()
3137 tok->type = TK_STRING; in fetch_token()
3138 tok->base = 0; in fetch_token()
3139 tok->backp = p; in fetch_token()
3145 tok->backp = p; in fetch_token()
3148 tok->u.c = c; in fetch_token()
3149 tok->escaped = 1; in fetch_token()
3153 tok->type = TK_OP_REPEAT; in fetch_token()
3154 tok->u.repeat.lower = 0; in fetch_token()
3155 tok->u.repeat.upper = REPEAT_INFINITE; in fetch_token()
3161 tok->type = TK_OP_REPEAT; in fetch_token()
3162 tok->u.repeat.lower = 1; in fetch_token()
3163 tok->u.repeat.upper = REPEAT_INFINITE; in fetch_token()
3169 tok->type = TK_OP_REPEAT; in fetch_token()
3170 tok->u.repeat.lower = 0; in fetch_token()
3171 tok->u.repeat.upper = 1; in fetch_token()
3176 tok->u.repeat.greedy = 0; in fetch_token()
3177 tok->u.repeat.possessive = 0; in fetch_token()
3183 tok->type != TK_INTERVAL) || in fetch_token()
3185 tok->type == TK_INTERVAL))) { in fetch_token()
3187 tok->u.repeat.greedy = 1; in fetch_token()
3188 tok->u.repeat.possessive = 1; in fetch_token()
3191 tok->u.repeat.greedy = 1; in fetch_token()
3192 tok->u.repeat.possessive = 0; in fetch_token()
3199 r = fetch_range_quantifier(&p, end, tok, env); in fetch_token()
3213 tok->type = TK_ALT; in fetch_token()
3218 tok->type = TK_SUBEXP_OPEN; in fetch_token()
3223 tok->type = TK_SUBEXP_CLOSE; in fetch_token()
3228 tok->type = TK_CHAR_TYPE; in fetch_token()
3229 tok->u.prop.ctype = ONIGENC_CTYPE_WORD; in fetch_token()
3230 tok->u.prop.not = 0; in fetch_token()
3235 tok->type = TK_CHAR_TYPE; in fetch_token()
3236 tok->u.prop.ctype = ONIGENC_CTYPE_WORD; in fetch_token()
3237 tok->u.prop.not = 1; in fetch_token()
3242 tok->type = TK_ANCHOR; in fetch_token()
3243 tok->u.anchor = ANCHOR_WORD_BOUND; in fetch_token()
3248 tok->type = TK_ANCHOR; in fetch_token()
3249 tok->u.anchor = ANCHOR_NOT_WORD_BOUND; in fetch_token()
3255 tok->type = TK_ANCHOR; in fetch_token()
3256 tok->u.anchor = ANCHOR_WORD_BEGIN; in fetch_token()
3261 tok->type = TK_ANCHOR; in fetch_token()
3262 tok->u.anchor = ANCHOR_WORD_END; in fetch_token()
3268 tok->type = TK_CHAR_TYPE; in fetch_token()
3269 tok->u.prop.ctype = ONIGENC_CTYPE_SPACE; in fetch_token()
3270 tok->u.prop.not = 0; in fetch_token()
3275 tok->type = TK_CHAR_TYPE; in fetch_token()
3276 tok->u.prop.ctype = ONIGENC_CTYPE_SPACE; in fetch_token()
3277 tok->u.prop.not = 1; in fetch_token()
3282 tok->type = TK_CHAR_TYPE; in fetch_token()
3283 tok->u.prop.ctype = ONIGENC_CTYPE_DIGIT; in fetch_token()
3284 tok->u.prop.not = 0; in fetch_token()
3289 tok->type = TK_CHAR_TYPE; in fetch_token()
3290 tok->u.prop.ctype = ONIGENC_CTYPE_DIGIT; in fetch_token()
3291 tok->u.prop.not = 1; in fetch_token()
3296 tok->type = TK_CHAR_TYPE; in fetch_token()
3297 tok->u.prop.ctype = ONIGENC_CTYPE_XDIGIT; in fetch_token()
3298 tok->u.prop.not = 0; in fetch_token()
3303 tok->type = TK_CHAR_TYPE; in fetch_token()
3304 tok->u.prop.ctype = ONIGENC_CTYPE_XDIGIT; in fetch_token()
3305 tok->u.prop.not = 1; in fetch_token()
3311 tok->type = TK_ANCHOR; in fetch_token()
3312 tok->u.subtype = ANCHOR_BEGIN_BUF; in fetch_token()
3317 tok->type = TK_ANCHOR; in fetch_token()
3318 tok->u.subtype = ANCHOR_SEMI_END_BUF; in fetch_token()
3324 tok->type = TK_ANCHOR; in fetch_token()
3325 tok->u.subtype = ANCHOR_END_BUF; in fetch_token()
3330 tok->type = TK_ANCHOR; in fetch_token()
3331 tok->u.subtype = ANCHOR_BEGIN_POSITION; in fetch_token()
3359 tok->type = TK_CODE_POINT; in fetch_token()
3360 tok->u.code = (OnigCodePoint )num; in fetch_token()
3373 tok->type = TK_RAW_BYTE; in fetch_token()
3374 tok->base = 16; in fetch_token()
3375 tok->u.c = num; in fetch_token()
3389 tok->type = TK_CODE_POINT; in fetch_token()
3390 tok->base = 16; in fetch_token()
3391 tok->u.code = (OnigCodePoint )num; in fetch_token()
3411 tok->type = TK_BACKREF; in fetch_token()
3412 tok->u.backref.num = 1; in fetch_token()
3413 tok->u.backref.ref1 = num; in fetch_token()
3414 tok->u.backref.by_name = 0; in fetch_token()
3416 tok->u.backref.exist_level = 0; in fetch_token()
3438 tok->type = TK_RAW_BYTE; in fetch_token()
3439 tok->base = 8; in fetch_token()
3440 tok->u.c = num; in fetch_token()
3461 env, &back_num, &tok->u.backref.level); in fetch_token()
3462 if (r == 1) tok->u.backref.exist_level = 1; in fetch_token()
3463 else tok->u.backref.exist_level = 0; in fetch_token()
3481 tok->type = TK_BACKREF; in fetch_token()
3482 tok->u.backref.by_name = 0; in fetch_token()
3483 tok->u.backref.num = 1; in fetch_token()
3484 tok->u.backref.ref1 = back_num; in fetch_token()
3502 tok->type = TK_BACKREF; in fetch_token()
3503 tok->u.backref.by_name = 1; in fetch_token()
3505 tok->u.backref.num = 1; in fetch_token()
3506 tok->u.backref.ref1 = backs[0]; in fetch_token()
3509 tok->u.backref.num = num; in fetch_token()
3510 tok->u.backref.refs = backs; in fetch_token()
3532 tok->type = TK_CALL; in fetch_token()
3533 tok->u.call.name = prev; in fetch_token()
3534 tok->u.call.name_end = name_end; in fetch_token()
3535 tok->u.call.gnum = gnum; in fetch_token()
3545 tok->type = TK_QUOTE_OPEN; in fetch_token()
3554 tok->type = TK_CHAR_PROPERTY; in fetch_token()
3555 tok->u.prop.not = (c == 'P' ? 1 : 0); in fetch_token()
3560 tok->u.prop.not = (tok->u.prop.not == 0 ? 1 : 0); in fetch_token()
3573 if (tok->u.c != num) { in fetch_token()
3574 tok->type = TK_CODE_POINT; in fetch_token()
3575 tok->u.code = (OnigCodePoint )num; in fetch_token()
3578 p = tok->backp + enclen(enc, tok->backp); in fetch_token()
3584 tok->u.c = c; in fetch_token()
3585 tok->escaped = 0; in fetch_token()
3599 tok->type = TK_ANYCHAR_ANYTIME; in fetch_token()
3611 tok->type = TK_ANYCHAR; in fetch_token()
3619 tok->type = TK_OP_REPEAT; in fetch_token()
3620 tok->u.repeat.lower = 0; in fetch_token()
3621 tok->u.repeat.upper = REPEAT_INFINITE; in fetch_token()
3630 tok->type = TK_OP_REPEAT; in fetch_token()
3631 tok->u.repeat.lower = 1; in fetch_token()
3632 tok->u.repeat.upper = REPEAT_INFINITE; in fetch_token()
3641 tok->type = TK_OP_REPEAT; in fetch_token()
3642 tok->u.repeat.lower = 0; in fetch_token()
3643 tok->u.repeat.upper = 1; in fetch_token()
3649 r = fetch_range_quantifier(&p, end, tok, env); in fetch_token()
3663 tok->type = TK_ALT; in fetch_token()
3688 tok->type = TK_SUBEXP_OPEN; in fetch_token()
3693 tok->type = TK_SUBEXP_CLOSE; in fetch_token()
3698 tok->type = TK_ANCHOR; in fetch_token()
3699 tok->u.subtype = (IS_SINGLELINE(env->option) in fetch_token()
3705 tok->type = TK_ANCHOR; in fetch_token()
3706 tok->u.subtype = (IS_SINGLELINE(env->option) in fetch_token()
3712 tok->type = TK_CC_OPEN; in fetch_token()
3747 return tok->type; in fetch_token()
4017 parse_char_property(Node** np, OnigToken* tok, UChar** src, UChar* end, in parse_char_property() argument
4031 if (tok->u.prop.not != 0) NCCLASS_SET_NOT(cc); in parse_char_property()
4173 parse_char_class(Node** np, OnigToken* tok, UChar** src, UChar* end, in parse_char_class() argument
4189 r = fetch_token_in_cc(tok, src, end, env); in parse_char_class()
4190 if (r == TK_CHAR && tok->u.c == '^' && tok->escaped == 0) { in parse_char_class()
4192 r = fetch_token_in_cc(tok, src, end, env); in parse_char_class()
4205 r = tok->type = TK_CHAR; /* allow []...] */ in parse_char_class()
4219 len = ONIGENC_CODE_TO_MBCLEN(env->enc, tok->u.c); in parse_char_class()
4231 v = (OnigCodePoint )tok->u.c; in parse_char_class()
4238 if (! ONIGENC_IS_SINGLEBYTE(env->enc) && tok->base != 0) { in parse_char_class()
4242 int i, base = tok->base; in parse_char_class()
4244 buf[0] = tok->u.c; in parse_char_class()
4246 r = fetch_token_in_cc(tok, &p, end, env); in parse_char_class()
4248 if (r != TK_RAW_BYTE || tok->base != base) { in parse_char_class()
4252 buf[i] = tok->u.c; in parse_char_class()
4268 r = fetch_token_in_cc(tok, &p, end, env); in parse_char_class()
4283 v = (OnigCodePoint )tok->u.c; in parse_char_class()
4292 v = tok->u.code; in parse_char_class()
4312 p = tok->backp; in parse_char_class()
4313 v = (OnigCodePoint )tok->u.c; in parse_char_class()
4321 r = add_ctype_to_cc(cc, tok->u.prop.ctype, tok->u.prop.not, env); in parse_char_class()
4335 r = add_ctype_to_cc(cc, ctype, tok->u.prop.not, env); in parse_char_class()
4343 r = fetch_token_in_cc(tok, &p, end, env); in parse_char_class()
4360 v = (OnigCodePoint )tok->u.c; in parse_char_class()
4363 r = fetch_token_in_cc(tok, &p, end, env); in parse_char_class()
4377 r = fetch_token_in_cc(tok, &p, end, env); in parse_char_class()
4400 r = parse_char_class(&anode, tok, &p, end, env); in parse_char_class()
4446 r = tok->type; in parse_char_class()
4448 r = fetch_token_in_cc(tok, &p, end, env); in parse_char_class()
4499 static int parse_subexp(Node** top, OnigToken* tok, int term,
4503 parse_enclose(Node** np, OnigToken* tok, int term, UChar** src, UChar* end, in parse_enclose() argument
4532 r = fetch_token(tok, &p, end, env); in parse_enclose()
4534 r = parse_subexp(np, tok, term, &p, end, env); in parse_enclose()
4692 r = fetch_token(tok, &p, end, env); in parse_enclose()
4694 r = parse_subexp(&target, tok, term, &p, end, env); in parse_enclose()
4726 r = fetch_token(tok, &p, end, env); in parse_enclose()
4728 r = parse_subexp(&target, tok, term, &p, end, env); in parse_enclose()
5035 parse_exp(Node** np, OnigToken* tok, int term, in parse_exp() argument
5043 if (tok->type == (enum TokenSyms )term) in parse_exp()
5046 switch (tok->type) { in parse_exp()
5051 return tok->type; in parse_exp()
5055 r = parse_enclose(np, tok, TK_SUBEXP_CLOSE, src, end, env); in parse_exp()
5063 r = fetch_token(tok, src, end, env); in parse_exp()
5065 r = parse_subexp(&target, tok, term, src, end, env); in parse_exp()
5069 return tok->type; in parse_exp()
5077 if (tok->escaped) goto tk_raw_byte; in parse_exp()
5084 *np = node_new_str(tok->backp, *src); in parse_exp()
5088 r = fetch_token(tok, src, end, env); in parse_exp()
5092 r = onig_node_str_cat(*np, tok->backp, *src); in parse_exp()
5105 *np = node_new_str_raw_char((UChar )tok->u.c); in parse_exp()
5111 r = fetch_token(tok, src, end, env); in parse_exp()
5117 r = fetch_token(tok, src, end, env); in parse_exp()
5135 r = node_str_cat_char(*np, (UChar )tok->u.c); in parse_exp()
5146 int num = ONIGENC_CODE_TO_MBC(env->enc, tok->u.code, buf); in parse_exp()
5177 switch (tok->u.prop.ctype) { in parse_exp()
5179 *np = node_new_ctype(tok->u.prop.ctype, tok->u.prop.not); in parse_exp()
5193 r = ONIGENC_GET_CTYPE_CODE_RANGE(env->enc, tok->u.prop.ctype, in parse_exp()
5202 key.not = tok->u.prop.not; in parse_exp()
5203 key.type = tok->u.prop.ctype; in parse_exp()
5223 *np = node_new_cclass_by_codepoint_range(tok->u.prop.not, in parse_exp()
5244 add_ctype_to_cc(cc, tok->u.prop.ctype, 0, env); in parse_exp()
5245 if (tok->u.prop.not != 0) NCCLASS_SET_NOT(cc); in parse_exp()
5260 r = parse_char_property(np, tok, src, end, env); in parse_exp()
5268 r = parse_char_class(np, tok, src, end, env); in parse_exp()
5313 len = tok->u.backref.num; in parse_exp()
5315 (len > 1 ? tok->u.backref.refs : &(tok->u.backref.ref1)), in parse_exp()
5316 tok->u.backref.by_name, in parse_exp()
5318 tok->u.backref.exist_level, in parse_exp()
5319 tok->u.backref.level, in parse_exp()
5328 int gnum = tok->u.call.gnum; in parse_exp()
5335 *np = node_new_call(tok->u.call.name, tok->u.call.name_end, gnum); in parse_exp()
5343 *np = onig_node_new_anchor(tok->u.anchor); in parse_exp()
5368 r = fetch_token(tok, src, end, env); in parse_exp()
5376 qn = node_new_quantifier(tok->u.repeat.lower, tok->u.repeat.upper, in parse_exp()
5379 NQTFR(qn)->greedy = tok->u.repeat.greedy; in parse_exp()
5386 if (tok->u.repeat.possessive != 0) { in parse_exp()
5426 parse_branch(Node** top, OnigToken* tok, int term, in parse_branch() argument
5433 r = parse_exp(&node, tok, term, src, end, env); in parse_branch()
5443 r = parse_exp(&node, tok, term, src, end, env); in parse_branch()
5463 parse_subexp(Node** top, OnigToken* tok, int term, in parse_subexp() argument
5470 r = parse_branch(&node, tok, term, src, end, env); in parse_subexp()
5483 r = fetch_token(tok, src, end, env); in parse_subexp()
5485 r = parse_branch(&node, tok, term, src, end, env); in parse_subexp()
5492 if (tok->type != (enum TokenSyms )term) in parse_subexp()
5510 OnigToken tok; in parse_regexp() local
5512 r = fetch_token(&tok, src, end, env); in parse_regexp()
5514 r = parse_subexp(top, &tok, TK_EOT, src, end, env); in parse_regexp()