rm 2697 src/extlib.c ScmRegMatch* rm; rm 2701 src/extlib.c rm = SCM_REGMATCH(rm_scm); rm 2703 src/extlib.c Scm_RegMatchDump(rm); rm 2543 src/gauche.h SCM_EXTERN ScmObj Scm_RegMatchSubstr(ScmRegMatch *rm, int i); rm 2544 src/gauche.h SCM_EXTERN ScmObj Scm_RegMatchStart(ScmRegMatch *rm, int i); rm 2545 src/gauche.h SCM_EXTERN ScmObj Scm_RegMatchEnd(ScmRegMatch *rm, int i); rm 2546 src/gauche.h SCM_EXTERN ScmObj Scm_RegMatchAfter(ScmRegMatch *rm, int i); rm 2547 src/gauche.h SCM_EXTERN ScmObj Scm_RegMatchBefore(ScmRegMatch *rm, int i); rm 1922 src/regexp.c ScmRegMatch *rm = SCM_NEW(ScmRegMatch); rm 1924 src/regexp.c SCM_SET_CLASS(rm, SCM_CLASS_REGMATCH); rm 1925 src/regexp.c rm->numMatches = rx->numGroups; rm 1926 src/regexp.c rm->matches = SCM_NEW_ARRAY(struct ScmRegMatchSub, rx->numGroups); rm 1931 src/regexp.c rm->input = SCM_STRING_BODY_START(origb); rm 1932 src/regexp.c rm->inputLen = SCM_STRING_BODY_LENGTH(origb); rm 1933 src/regexp.c rm->inputSize = SCM_STRING_BODY_SIZE(origb); rm 1935 src/regexp.c rm->matches[i].start = -1; rm 1936 src/regexp.c rm->matches[i].length = -1; rm 1937 src/regexp.c rm->matches[i].startp = NULL; rm 1938 src/regexp.c rm->matches[i].endp = NULL; rm 1941 src/regexp.c rm->matches[0].endp = ctx->last; rm 1945 src/regexp.c rm->matches[ml->grpnum].startp = ml->ptr; rm 1947 src/regexp.c rm->matches[-ml->grpnum].endp = ml->ptr; rm 1953 src/regexp.c if ((rm->matches[i].startp && !rm->matches[i].endp) rm 1954 src/regexp.c || (!rm->matches[i].startp && rm->matches[i].endp)) { rm 1958 src/regexp.c return SCM_OBJ(rm); rm 2031 src/regexp.c ScmObj Scm_RegMatchSubstr(ScmRegMatch *rm, int i) rm 2034 src/regexp.c if (i < 0 || i >= rm->numMatches) rm 2036 src/regexp.c sub = &rm->matches[i]; rm 2049 src/regexp.c ScmObj Scm_RegMatchStart(ScmRegMatch *rm, int i) rm 2052 src/regexp.c if (i < 0 || i >= rm->numMatches) rm 2054 src/regexp.c sub = &rm->matches[i]; rm 2058 src/regexp.c sub->start = Scm_MBLen(rm->input, sub->startp); rm 2063 src/regexp.c ScmObj Scm_RegMatchEnd(ScmRegMatch *rm, int i) rm 2066 src/regexp.c if (i < 0 || i >= rm->numMatches) rm 2068 src/regexp.c sub = &rm->matches[i]; rm 2072 src/regexp.c sub->start = Scm_MBLen(rm->input, sub->startp); rm 2080 src/regexp.c ScmObj Scm_RegMatchBefore(ScmRegMatch *rm, int i) rm 2083 src/regexp.c if (i < 0 || i >= rm->numMatches) rm 2085 src/regexp.c sub = &rm->matches[i]; rm 2087 src/regexp.c return Scm_MakeString(rm->input, sub->startp - rm->input, -1, 0); rm 2090 src/regexp.c ScmObj Scm_RegMatchAfter(ScmRegMatch *rm, int i) rm 2093 src/regexp.c if (i < 0 || i >= rm->numMatches) rm 2095 src/regexp.c sub = &rm->matches[i]; rm 2098 src/regexp.c rm->input + rm->inputSize - sub->endp, -1, 0); rm 2103 src/regexp.c void Scm_RegMatchDump(ScmRegMatch *rm) rm 2107 src/regexp.c Scm_Printf(SCM_CUROUT, "RegMatch %p\n", rm); rm 2108 src/regexp.c Scm_Printf(SCM_CUROUT, " numMatches = %d\n", rm->numMatches); rm 2109 src/regexp.c Scm_Printf(SCM_CUROUT, " input = %S\n", rm->input); rm 2110 src/regexp.c for (i=0; i<rm->numMatches; i++) { rm 2111 src/regexp.c struct ScmRegMatchSub *sub = &rm->matches[i]; rm 2114 src/regexp.c sub->startp - rm->input, rm 2115 src/regexp.c sub->endp - rm->input,