11 .local pmc p6rule_compile
12 .local pmc p5regexp_compile
13 .local pmc glob_compile
17 errorson .PARROT_ERRORS_PARAM_COUNT_FLAG
19 load_bytecode "PGE.pbc"
20 load_bytecode "dumper.pir"
21 load_bytecode "PGE/Dumper.pir"
22 load_bytecode "PGE/Glob.pir"
23 load_bytecode "PGE/Text.pir"
24 load_bytecode "PGE/Util.pir"
25 p6rule_compile = compreg "PGE::Perl6Regex"
26 glob_compile = compreg "PGE::Glob"
27 p5regexp_compile = compreg "PGE::P5Regex"
32 print "\ninput \"regex <pattern>\", \"glob <pattern>\", \"save <name>\",\n"
33 print "target string, \"pir\", \"exp\", \"trace\", \"next\"\n"
37 if $I0 < 1 goto end_demo
39 if $I0 > 0 goto get_cmd
42 $S0 = substr x, 0, $I0
44 if $S0 == "next" goto match_next
45 if $S0 == "regex" goto make_p6rule
46 if $S0 == "glob" goto make_glob
47 if $S0 == "save" goto save_rule
48 if $S0 == "pir" goto print_pir
49 if $S0 == "exp" goto print_exp
50 if $S0 == "trace" goto toggle_trace
51 if $S0 == "p5regex" goto make_regexp
53 if_null rulesub, match_nopattern
56 unless match goto match_fail
57 print "match succeeded\n"
58 $P0 = find_global "_dumper"
62 print "match failed\n"
65 print "no pattern entered yet\n"
74 (rulesub) = glob_compile(pattern)
79 (rulesub) = p6rule_compile(pattern)
84 (rulesub) = p5regexp_compile(pattern)
88 if_null rulesub, match_nopattern
90 store_global x, rulesub
98 if_null rulesub, match_nopattern
103 if_null rulesub, match_nopattern
104 $P0 = find_global "_dumper"
109 istrace = not istrace
111 unless istrace goto trace_off
112 print "Tracing is now on\n"
115 print "Tracing is now off\n"
125 # vim: expandtab shiftwidth=4 ft=pir: