5.16.7.22. Regular expression matching

Start data section to src/flx_parse.mly[30 /35 ] Next Prev First Last
  2264: regmatch_expr:
  2265:   | REGMATCH expr WITH regmatch_alternatives ENDMATCH
  2266:   {
  2267:     let sr = rstoken $1 $5 in
  2268:     `AST_string_regmatch (sr,($2,$4))
  2269: 
  2270:     (*
  2271:     let pa = `PAT_as (sr,`PAT_any sr,"_a") in
  2272:     let pb = `PAT_as (sr,`PAT_any sr,"_b") in
  2273:     let p = `PAT_tuple (sr,[pa;pb]) in
  2274:     let a = `AST_name (sr,"_a",[]) in
  2275:     let b = `AST_name (sr,"_b",[]) in
  2276:     let lexmod = `AST_name(sr,"Lexer",[]) in
  2277:     let sb = `AST_lookup(sr,(lexmod,"bounds",[])) in
  2278:     let se = `AST_apply(sr,(sb,$2)) in
  2279:     `AST_letin (sr,(p,se,
  2280:       `AST_regmatch (sr,(a,b,$4)))
  2281:     )
  2282:     *)
  2283:   }
  2284: 
  2285:   | REGLEX expr TO expr WITH regmatch_alternatives ENDMATCH
  2286:   {
  2287:     `AST_reglex (rstoken $1 $7,($2,$4,$6))
  2288:   }
  2289: 
  2290: regmatch_alternatives:
  2291:   | regmatch_alternatives regmatch_alternative { $2 :: $1 }
  2292:   | regmatch_alternative { [$1] }
  2293: 
  2294: regmatch_alternative:
  2295:   | VBAR re1 EQRIGHTARROW expr { $2,$4 }
  2296: 
  2297: 
End data section to src/flx_parse.mly[30]