ast              2447 src/extlib.c     ScmObj ast;
ast              2450 src/extlib.c     ast = (ast_scm);
ast              2454 src/extlib.c   SCM_RESULT = Scm_RegCompFromAST(ast);
ast              2466 src/extlib.c     ScmObj ast;
ast              2469 src/extlib.c     ast = (ast_scm);
ast              2473 src/extlib.c   SCM_RESULT = Scm_RegOptimizeAST(ast);
ast              2519 src/gauche.h   SCM_EXTERN ScmObj Scm_RegCompFromAST(ScmObj ast);
ast              2520 src/gauche.h   SCM_EXTERN ScmObj Scm_RegOptimizeAST(ScmObj ast);
ast               733 src/regexp.c       ScmObj ast = rc1_parse(ctx, TRUE, TRUE);
ast               735 src/regexp.c           ast = SCM_LIST2(SCM_MAKE_INT(0), Scm_Cons(SCM_SYM_SEQ_UNCASE, ast));
ast               737 src/regexp.c           ast = Scm_Cons(SCM_MAKE_INT(0), ast);
ast               740 src/regexp.c       return ast;
ast               791 src/regexp.c   static ScmObj rc2_optimize(ScmObj ast, ScmObj rest);
ast               827 src/regexp.c   static ScmObj rc2_optimize(ScmObj ast, ScmObj rest)
ast               830 src/regexp.c       if (!SCM_PAIRP(ast)) return ast;
ast               831 src/regexp.c       type = SCM_CAR(ast);
ast               832 src/regexp.c       if (SCM_EQ(type, SCM_SYM_COMP)) return ast;
ast               836 src/regexp.c           SCM_FOR_EACH(sp, SCM_CDR(ast)) {
ast               840 src/regexp.c           if (SCM_NULLP(sp)) return ast;
ast               843 src/regexp.c           SCM_FOR_EACH(sp2, SCM_CDR(ast)) {
ast               852 src/regexp.c       if (SCM_EQ(type, SCM_SYM_REP_BOUND)) seq = SCM_CDDR(ast);
ast               853 src/regexp.c       else seq = SCM_CDR(ast);
ast               855 src/regexp.c       if (SCM_EQ(seq, seqo)) return ast;
ast               858 src/regexp.c               return Scm_Cons(type, Scm_Cons(SCM_CADR(ast), seqo));
ast               904 src/regexp.c   ScmObj Scm_RegOptimizeAST(ScmObj ast)
ast               906 src/regexp.c       return rc2_optimize(ast, SCM_NIL);
ast               919 src/regexp.c   static void rc3_rec(regcomp_ctx *ctx, ScmObj ast, int lastp, int toplevelp);
ast              1018 src/regexp.c   static void rc3_rec(regcomp_ctx *ctx, ScmObj ast, int lastp, int toplevelp)
ast              1024 src/regexp.c       if (!SCM_PAIRP(ast)) {
ast              1026 src/regexp.c           if (SCM_CHARP(ast)) {
ast              1028 src/regexp.c               ScmChar ch = SCM_CHAR_VALUE(ast);
ast              1042 src/regexp.c           if (SCM_CHARSETP(ast)) {
ast              1043 src/regexp.c               if (SCM_CHARSET_SMALLP(ast)) {
ast              1048 src/regexp.c               rc3_emit(ctx, rc3_charset_index(rx, ast));
ast              1052 src/regexp.c           if (SCM_SYMBOLP(ast)) {
ast              1053 src/regexp.c               if (SCM_EQ(ast, SCM_SYM_ANY)) {
ast              1057 src/regexp.c               if (SCM_EQ(ast, SCM_SYM_BOL)) {
ast              1061 src/regexp.c               if (SCM_EQ(ast, SCM_SYM_EOL)) {
ast              1070 src/regexp.c               if (SCM_EQ(ast, SCM_SYM_WB)) {
ast              1074 src/regexp.c               if (SCM_EQ(ast, SCM_SYM_NWB)) {
ast              1080 src/regexp.c           Scm_Error("internal error in regexp compilation: unrecognized AST item: %S", ast);
ast              1084 src/regexp.c       type = SCM_CAR(ast);
ast              1086 src/regexp.c           ScmObj cs = SCM_CDR(ast);
ast              1097 src/regexp.c           rc3_seq(ctx, SCM_CDR(ast), lastp, toplevelp);
ast              1104 src/regexp.c           rc3_seq(ctx, SCM_CDR(ast), lastp, toplevelp);
ast              1112 src/regexp.c           rc3_seq(ctx, SCM_CDR(ast), lastp, toplevelp);
ast              1118 src/regexp.c           if (SCM_PAIRP(SCM_CDR(ast)) && SCM_NULLP(SCM_CDDR(ast))) {
ast              1119 src/regexp.c               ScmObj elem = SCM_CADR(ast);
ast              1140 src/regexp.c           rc3_seq(ctx, SCM_CDR(ast), lastp, toplevelp);
ast              1154 src/regexp.c           rc3_seq(ctx, SCM_CDR(ast), FALSE, FALSE);
ast              1175 src/regexp.c           rc3_seq(ctx, SCM_CDR(ast), FALSE, FALSE);
ast              1198 src/regexp.c           for (clause = SCM_CDR(ast);
ast              1256 src/regexp.c           SCM_ASSERT(Scm_Length(ast) >= 3 && SCM_INTP(SCM_CADR(ast)));
ast              1257 src/regexp.c           count = SCM_INT_VALUE(SCM_CADR(ast));
ast              1259 src/regexp.c           item = SCM_CDDR(ast);
ast              1314 src/regexp.c       Scm_Error("internal error in regexp compilation: bad node: %S", ast);
ast              1317 src/regexp.c   static int is_bol_anchored(ScmObj ast)
ast              1320 src/regexp.c       if (!SCM_PAIRP(ast)) {
ast              1321 src/regexp.c           if (SCM_EQ(ast, SCM_SYM_BOL)) return TRUE;
ast              1324 src/regexp.c       type = SCM_CAR(ast);
ast              1327 src/regexp.c           if (!SCM_PAIRP(SCM_CDR(ast))) return FALSE;
ast              1328 src/regexp.c           return is_bol_anchored(SCM_CADR(ast));
ast              1332 src/regexp.c           SCM_FOR_EACH(ap, SCM_CDR(ast)) {
ast              1341 src/regexp.c   static ScmObj rc3(regcomp_ctx *ctx, ScmObj ast)
ast              1344 src/regexp.c       if (is_bol_anchored(ast)) ctx->rx->flags |= SCM_REGEXP_BOL_ANCHORED;
ast              1349 src/regexp.c       rc3_rec(ctx, ast, TRUE, TRUE);
ast              1354 src/regexp.c       rc3_rec(ctx, ast, TRUE, TRUE);
ast              1520 src/regexp.c   static ScmObj rc_setup_context(regcomp_ctx *ctx, ScmObj ast)
ast              1523 src/regexp.c       if (!SCM_PAIRP(ast)) {
ast              1524 src/regexp.c           if (SCM_CHARP(ast)) return ast;
ast              1525 src/regexp.c           if (SCM_CHARSETP(ast)) {
ast              1526 src/regexp.c               rc_register_charset(ctx, SCM_CHARSET(ast));
ast              1527 src/regexp.c               return ast;
ast              1529 src/regexp.c           if (SCM_EQ(ast, SCM_SYM_BOL) || SCM_EQ(ast, SCM_SYM_EOL)
ast              1530 src/regexp.c               || SCM_EQ(ast, SCM_SYM_WB) || SCM_EQ(ast, SCM_SYM_NWB)
ast              1531 src/regexp.c               || SCM_EQ(ast, SCM_SYM_ANY)) {
ast              1532 src/regexp.c               return ast;
ast              1536 src/regexp.c       type = SCM_CAR(ast);
ast              1539 src/regexp.c           rest = rc_setup_context_seq(ctx, SCM_CDR(ast));
ast              1540 src/regexp.c           if (SCM_INT_VALUE(type) == grpno && SCM_EQ(SCM_CDR(ast), rest)) {
ast              1541 src/regexp.c               return ast;
ast              1547 src/regexp.c           if (!SCM_CHARSETP(SCM_CDR(ast))) goto badast;
ast              1548 src/regexp.c           rc_register_charset(ctx, SCM_CHARSET(SCM_CDR(ast)));
ast              1549 src/regexp.c           return ast;
ast              1556 src/regexp.c           rest = rc_setup_context_seq(ctx, SCM_CDR(ast));
ast              1557 src/regexp.c           if (SCM_EQ(SCM_CDR(ast), rest)) return ast;
ast              1561 src/regexp.c           if (!SCM_PAIRP(SCM_CDR(ast)) || !SCM_INTP(SCM_CADR(ast))
ast              1562 src/regexp.c               || SCM_INT_VALUE(SCM_CADR(ast)) < 0) {
ast              1565 src/regexp.c           rest = rc_setup_context_seq(ctx, SCM_CDDR(ast));
ast              1566 src/regexp.c           if (SCM_EQ(SCM_CDDR(ast), rest)) return ast;
ast              1567 src/regexp.c           else return Scm_Cons(type, Scm_Cons(SCM_CADR(ast), rest));
ast              1570 src/regexp.c       Scm_Error("invalid regexp AST: %S", ast);
ast              1599 src/regexp.c       ScmObj ast;
ast              1613 src/regexp.c       ast = rc1(&cctx);
ast              1615 src/regexp.c       if (flags & SCM_REGEXP_PARSE_ONLY) return ast;
ast              1618 src/regexp.c       ast = rc2_optimize(ast, SCM_NIL);
ast              1621 src/regexp.c       return rc3(&cctx, ast);
ast              1625 src/regexp.c   ScmObj Scm_RegCompFromAST(ScmObj ast)
ast              1632 src/regexp.c       if (!SCM_PAIRP(ast) || !SCM_INTP(SCM_CAR(ast))) {
ast              1634 src/regexp.c           ast = SCM_LIST2(SCM_MAKE_INT(0), ast);
ast              1636 src/regexp.c       ast = rc_setup_context(&cctx, ast);
ast              1641 src/regexp.c       return rc3(&cctx, ast);