Skip to content
Browse files

merge trunk into branch

git-svn-id: https://svn.parrot.org/parrot/branches/html_cleanup@48299 d31e2699-5ff4-0310-a27c-f18f2fbe73fe
  • Loading branch information...
2 parents f5b71d5 + b753ee3 commit 485cd9eade4defbb0fab9af599f7221c800cfb2b @mikehh mikehh committed Aug 3, 2010
Showing with 14,582 additions and 15,025 deletions.
  1. +2 −3 MANIFEST
  2. +45 −49 compilers/imcc/pbc.c
  3. +47 −0 compilers/opsc/README.pod
  4. +4 −4 compilers/opsc/src/Ops/Trans/C.pm
  5. +2 −1 config/auto/icu.pm
  6. +18 −3 config/gen/config_pm.pm
  7. +14 −12 config/gen/makefiles/root.in
  8. +5 −1 config/init/defaults.pm
  9. +1 −5 docs/pdds/pdd27_multiple_dispatch.pod
  10. +1 −1 docs/project/release_manager_guide.pod
  11. +32 −3 docs/project/support_policy.pod
  12. +1 −0 docs/resources/parrot.css
  13. +0 −1 examples/languages/squaak/PARROT_REVISION
  14. +2 −2 examples/languages/squaak/doc/tutorial_episode_3.pod
  15. +326 −326 ext/nqp-rx/src/stage0/HLL-s0.pir
  16. +3,491 −3,476 ext/nqp-rx/src/stage0/NQP-s0.pir
  17. +8,883 −8,852 ext/nqp-rx/src/stage0/P6Regex-s0.pir
  18. +6 −1 ext/nqp-rx/src/stage0/Regex-s0.pir
  19. +1 −18 include/parrot/call.h
  20. +6 −6 include/parrot/context.h
  21. +5 −21 include/parrot/packfile.h
  22. +1 −1 include/parrot/pmc_freeze.h
  23. +3 −2 lib/Parrot/Manifest.pm
  24. +1 −1 lib/Parrot/Pmc2c/PMC/Object.pm
  25. +4 −4 lib/Parrot/Pmc2c/PMCEmitter.pm
  26. +14 −0 ports/debian/changelog
  27. +4 −4 ports/debian/control
  28. +1 −1 ports/debian/control.in
  29. +3 −1 ports/debian/parrot-devel.install.in
  30. +50 −0 ports/debian/patches/04_fix_opsc_man.patch
  31. +1 −0 ports/debian/patches/series
  32. +2 −1 ports/debian/rules
  33. BIN ports/fedora/2.3.0/parrot.desk.in.tar.gz
  34. +0 −19 ports/fedora/2.3.0/parrot.patch
  35. +0 −379 ports/fedora/2.3.0/parrot.spec
  36. +0 −19 ports/fedora/2.5.0/parrot.patch
  37. 0 ports/fedora/{2.5.0 → 2.6.0}/parrot.desk.in.tar.gz
  38. +23 −15 ports/fedora/{2.5.0 → 2.6.0}/parrot.spec
  39. +0 −47 ports/suse/2.2.0/parrot.diff
  40. +35 −0 ports/suse/2.5.0/parrot.diff
  41. +27 −4 ports/suse/{2.2.0 → 2.5.0}/parrot.spec
  42. +18 −15 runtime/parrot/library/P6object.pir
  43. +3 −5 src/call/args.c
  44. +13 −13 src/call/context_accessors.c
  45. +26 −67 src/call/pcc.c
  46. +6 −6 src/debug.c
  47. +2 −3 src/dynoplibs/Rules.in
  48. +5 −4 src/embed.c
  49. +57 −8 src/hash.c
  50. +2 −2 src/interp/inter_cb.c
  51. +2 −16 src/interp/inter_misc.c
  52. +1 −14 src/io/api.c
  53. +254 −254 src/nci/extra_thunks.c
  54. +542 −542 src/ops/core_ops.c
  55. +2 −2 src/ops/math.ops
  56. +3 −3 src/packdump.c
  57. +69 −135 src/packfile.c
  58. +2 −4 src/packfile/pf_items.c
  59. +3 −3 src/packout.c
  60. +6 −9 src/pbc_merge.c
  61. +1 −1 src/pmc/callcontext.pmc
  62. +49 −102 src/pmc/capture.pmc
  63. +2 −3 src/pmc/class.pmc
  64. +3 −3 src/pmc/eval.pmc
  65. +116 −65 src/pmc/imageio.pmc
  66. +10 −20 src/pmc/object.pmc
  67. +6 −2 src/pmc/oplib.pmc
  68. +3 −6 src/pmc/packfileconstanttable.pmc
  69. +6 −2 src/pmc/stringhandle.pmc
  70. +1 −1 src/pmc/sub.pmc
  71. +36 −45 src/pmc_freeze.c
  72. +1 −1 src/runcore/trace.c
  73. +3 −4 src/scheduler.c
  74. +3 −10 src/string/api.c
  75. +2 −54 src/string/charset/binary.c
  76. +2 −1 src/thread.c
  77. +2 −1 src/utils.c
  78. +2 −1 t/compilers/pct/complete_workflow.t
  79. +15 −1 t/library/p6object.t
  80. BIN t/native_pbc/annotations.pbc
  81. BIN t/native_pbc/integer.pbc
  82. BIN t/native_pbc/number.pbc
  83. BIN t/native_pbc/string.pbc
  84. +24 −1 t/op/64bit.t
  85. +14 −1 t/op/integer.t
  86. +1 −1 t/op/string.t
  87. +25 −1 t/pmc/capture.t
  88. +18 −8 t/pmc/exceptionhandler.t
  89. +10 −2 t/pmc/opcode.t
  90. +74 −12 t/pmc/oplib.t
  91. +26 −1 t/pmc/packfile.t
  92. +48 −1 t/tools/pbc_dump.t
  93. +2 −2 tools/dev/pbc_to_exe.pir
  94. +0 −284 tools/dev/pprof2cg.nqp
  95. 0 tools/dev/pprof2cg.pl
View
5 MANIFEST
@@ -63,6 +63,7 @@ compilers/imcc/symreg.c [imcc]
compilers/imcc/symreg.h [imcc]
compilers/imcc/unit.h [imcc]
compilers/opsc/Defines.mak [opsc]
+compilers/opsc/README.pod []doc
compilers/opsc/Rules.mak [opsc]
compilers/opsc/TODO [opsc]
compilers/opsc/gen/Ops/Compiler/IGNOREME [opsc]
@@ -626,7 +627,6 @@ examples/languages/abc/t/abc_functions [examples]
examples/languages/abc/t/abc_special_variables [examples]
examples/languages/abc/t/abc_statement [examples]
examples/languages/squaak/MAINTAINER [examples]
-examples/languages/squaak/PARROT_REVISION [examples]
examples/languages/squaak/README [examples]
examples/languages/squaak/doc/tutorial_episode_1.pod [examples]
examples/languages/squaak/doc/tutorial_episode_2.pod [examples]
@@ -2148,8 +2148,7 @@ tools/dev/pbc_header.pl []
tools/dev/pbc_to_exe.pir [devel]
tools/dev/pmcrenumber.pl []
tools/dev/pmctree.pl []
-tools/dev/pprof2cg.nqp []
-tools/dev/pprof2cg.pl []
+tools/dev/pprof2cg.pl [devel]
tools/dev/reconfigure.pl [devel]
tools/dev/search-ops.pl []
tools/dev/svnclobber.pl []
View
94 compilers/imcc/pbc.c
@@ -147,7 +147,7 @@ static void fixup_globals(PARROT_INTERP)
__attribute__nonnull__(1);
PARROT_WARN_UNUSED_RESULT
-static size_t get_codesize(PARROT_INTERP,
+static size_t get_code_size(PARROT_INTERP,
ARGIN(const IMC_Unit *unit),
ARGOUT(size_t *src_lines))
__attribute__nonnull__(1)
@@ -257,7 +257,7 @@ static void verify_signature(PARROT_INTERP,
, PARROT_ASSERT_ARG(pc))
#define ASSERT_ARGS_fixup_globals __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp))
-#define ASSERT_ARGS_get_codesize __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
+#define ASSERT_ARGS_get_code_size __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp) \
, PARROT_ASSERT_ARG(unit) \
, PARROT_ASSERT_ARG(src_lines))
@@ -352,14 +352,11 @@ add_const_table(PARROT_INTERP)
const size_t oldcount = interp->code->const_table->const_count;
const size_t newcount = oldcount + 1;
- /* Allocate a new constant */
- PackFile_Constant *new_constant = PackFile_Constant_new(interp);
-
/* Update the constant count and reallocate */
if (interp->code->const_table->constants) {
interp->code->const_table->constants =
mem_gc_realloc_n_typed_zeroed(interp, interp->code->const_table->constants,
- newcount, oldcount, PackFile_Constant *);
+ newcount, oldcount, PackFile_Constant);
}
else {
/* initialize rlookup cache */
@@ -369,10 +366,9 @@ add_const_table(PARROT_INTERP)
(hash_comp_fn)STRING_compare_distinct_cs_enc;
interp->code->const_table->constants =
- mem_gc_allocate_n_zeroed_typed(interp, newcount, PackFile_Constant *);
+ mem_gc_allocate_n_zeroed_typed(interp, newcount, PackFile_Constant);
}
- interp->code->const_table->constants[oldcount] = new_constant;
interp->code->const_table->const_count = newcount;
return oldcount;
@@ -394,7 +390,7 @@ add_const_table_pmc(PARROT_INTERP, ARGIN(PMC *pmc))
{
ASSERT_ARGS(add_const_table_pmc)
const int newitem = add_const_table(interp);
- PackFile_Constant * const constant = interp->code->const_table->constants[newitem];
+ PackFile_Constant * const constant = &interp->code->const_table->constants[newitem];
constant->type = PFC_PMC;
constant->u.key = pmc;
@@ -418,7 +414,7 @@ add_const_table_key(PARROT_INTERP, ARGIN(PMC *key))
{
ASSERT_ARGS(add_const_table_key)
const int newitem = add_const_table(interp);
- PackFile_Constant * const constant = interp->code->const_table->constants[newitem];
+ PackFile_Constant * const constant = &interp->code->const_table->constants[newitem];
constant->type = PFC_KEY;
constant->u.key = key;
@@ -630,7 +626,7 @@ store_key_const(PARROT_INTERP, ARGIN(const char *str), int idx)
/*
-=item C<static size_t get_codesize(PARROT_INTERP, const IMC_Unit *unit, size_t
+=item C<static size_t get_code_size(PARROT_INTERP, const IMC_Unit *unit, size_t
*src_lines)>
Stores globals for later fixup, returning the code size in number of ops.
@@ -641,9 +637,9 @@ Stores globals for later fixup, returning the code size in number of ops.
PARROT_WARN_UNUSED_RESULT
static size_t
-get_codesize(PARROT_INTERP, ARGIN(const IMC_Unit *unit), ARGOUT(size_t *src_lines))
+get_code_size(PARROT_INTERP, ARGIN(const IMC_Unit *unit), ARGOUT(size_t *src_lines))
{
- ASSERT_ARGS(get_codesize)
+ ASSERT_ARGS(get_code_size)
Instruction *ins = unit->instructions;
size_t code_size;
@@ -669,7 +665,7 @@ get_codesize(PARROT_INTERP, ARGIN(const IMC_Unit *unit), ARGOUT(size_t *src_line
else if (ins->opname && *ins->opname) {
(*src_lines)++;
if (ins->opnum < 0)
- IMCC_fatal(interp, 1, "get_codesize: "
+ IMCC_fatal(interp, 1, "get_code_size: "
"no opnum ins#%d %I\n",
ins->index, ins);
@@ -685,7 +681,7 @@ get_codesize(PARROT_INTERP, ARGIN(const IMC_Unit *unit), ARGOUT(size_t *src_line
code_size += ins->opsize;
}
else if (ins->opsize)
- IMCC_fatal(interp, 1, "get_codesize: "
+ IMCC_fatal(interp, 1, "get_code_size: "
"non instruction with size found\n");
}
@@ -1062,7 +1058,7 @@ add_const_str(PARROT_INTERP, ARGIN(STRING *s))
/* otherwise... */
{
int k = add_const_table(interp);
- PackFile_Constant *constant = table->constants[k];
+ PackFile_Constant *constant = &table->constants[k];
constant->type = PFC_STRING;
constant->u.string = s;
@@ -1091,7 +1087,7 @@ add_const_num(PARROT_INTERP, ARGIN_NULLOK(const char *buf))
const int k = add_const_table(interp);
STRING * const s = Parrot_str_new(interp, buf, 0);
- PackFile_Constant * const constant = interp->code->const_table->constants[k];
+ PackFile_Constant * const constant = &interp->code->const_table->constants[k];
constant->type = PFC_NUMBER;
constant->u.number = Parrot_str_to_num(interp, s);
@@ -1136,7 +1132,7 @@ mk_multi_sig(PARROT_INTERP, ARGIN(const SymReg *r))
r = pcc_sub->multi[i];
if (r->set == 'S') {
- STRING * const type_name = ct->constants[r->color]->u.string;
+ STRING * const type_name = ct->constants[r->color].u.string;
const INTVAL type_num = Parrot_pmc_get_type_str(interp, type_name);
if (type_num == enum_type_undef) {
@@ -1149,7 +1145,7 @@ mk_multi_sig(PARROT_INTERP, ARGIN(const SymReg *r))
}
else {
PARROT_ASSERT(r->set == 'K');
- sig_pmc = ct->constants[r->color]->u.key;
+ sig_pmc = ct->constants[r->color].u.key;
}
VTABLE_set_pmc_keyed_int(interp, multi_sig, i, sig_pmc);
@@ -1180,10 +1176,10 @@ create_lexinfo(PARROT_INTERP, ARGMOD(IMC_Unit *unit), ARGIN(PMC *sub_pmc),
int need_lex)
{
ASSERT_ARGS(create_lexinfo)
- PMC *lex_info = NULL;
- SymHash *hsh = &unit->hash;
- PackFile_Constant **constants = interp->code->const_table->constants;
- const INTVAL lex_info_id = Parrot_get_ctx_HLL_type(interp,
+ PMC *lex_info = NULL;
+ SymHash *hsh = &unit->hash;
+ PackFile_Constant *constants = interp->code->const_table->constants;
+ const INTVAL lex_info_id = Parrot_get_ctx_HLL_type(interp,
enum_class_LexInfo);
unsigned int i;
@@ -1208,7 +1204,7 @@ create_lexinfo(PARROT_INTERP, ARGMOD(IMC_Unit *unit), ARGIN(PMC *sub_pmc),
Parrot_Sub_attributes *sub;
PARROT_ASSERT(k >= 0);
- lex_name = constants[k]->u.string;
+ lex_name = constants[k].u.string;
PARROT_ASSERT(PObj_is_string_TEST(lex_name));
PMC_get_sub(interp, sub_pmc, sub);
@@ -1403,7 +1399,7 @@ add_const_pmc_sub(PARROT_INTERP, ARGMOD(SymReg *r), size_t offs, size_t end)
Sub_comp_get_FLAGS(sub) |= (r->pcc_sub->pragma & SUB_COMP_FLAG_MASK);
r->color = add_const_str(interp, IMCC_string_from_reg(interp, r));
- sub->name = ct->constants[r->color]->u.string;
+ sub->name = ct->constants[r->color].u.string;
/* If the unit has no subid, set the subid to match the name. */
if (!unit->subid)
@@ -1420,18 +1416,18 @@ add_const_pmc_sub(PARROT_INTERP, ARGMOD(SymReg *r), size_t offs, size_t end)
IMCC_string_from_reg(interp, unit->subid));
}
- sub->subid = ct->constants[unit->subid->color]->u.string;
+ sub->subid = ct->constants[unit->subid->color].u.string;
ns_pmc = NULL;
if (ns_const >= 0 && ns_const < ct->const_count) {
- switch (ct->constants[ns_const]->type) {
+ switch (ct->constants[ns_const].type) {
case PFC_KEY:
- ns_pmc = ct->constants[ns_const]->u.key;
+ ns_pmc = ct->constants[ns_const].u.key;
break;
case PFC_STRING:
ns_pmc = Parrot_pmc_new_constant(interp, enum_class_String);
VTABLE_set_string_native(interp, ns_pmc,
- ct->constants[ns_const]->u.string);
+ ct->constants[ns_const].u.string);
break;
default:
break;
@@ -1524,8 +1520,8 @@ add_const_pmc_sub(PARROT_INTERP, ARGMOD(SymReg *r), size_t offs, size_t end)
/* store the sub */
{
- const int k = add_const_table(interp);
- PackFile_Constant * const pfc = ct->constants[k];
+ const int k = add_const_table(interp);
+ PackFile_Constant * const pfc = &ct->constants[k];
pfc->type = PFC_PMC;
pfc->u.key = sub_pmc;
@@ -2150,7 +2146,7 @@ verify_signature(PARROT_INTERP, ARGIN(const Instruction *ins), ARGIN(opcode_t *p
{
ASSERT_ARGS(verify_signature)
PMC *changed_sig = NULL;
- PMC * const sig_arr = interp->code->const_table->constants[pc[-1]]->u.key;
+ PMC * const sig_arr = interp->code->const_table->constants[pc[-1]].u.key;
int needed = 0;
int no_consts = (ins->opnum == PARROT_OP_get_results_pc
|| ins->opnum == PARROT_OP_get_params_pc);
@@ -2233,50 +2229,50 @@ e_pbc_emit(PARROT_INTERP, SHIM(void *param), ARGIN(const IMC_Unit *unit),
/* first instruction, do initialisation ... */
if (ins == unit->instructions) {
- size_t ins_size;
- const size_t oldsize = get_old_size(interp,
+ size_t ins_size, seg_size;
+ const size_t old_size = get_old_size(interp,
&IMCC_INFO(interp)->ins_line);
- const size_t code_size = get_codesize(interp, unit, &ins_size);
- const size_t bytes = (oldsize + code_size) * sizeof (opcode_t);
+ const size_t code_size = get_code_size(interp, unit, &ins_size);
+ const size_t bytes = (old_size + code_size) * sizeof (opcode_t);
- IMCC_debug(interp, DEBUG_PBC, "code_size(ops) %d oldsize %d\n",
- code_size, oldsize);
+ IMCC_debug(interp, DEBUG_PBC, "code_size(ops) %d old_size %d\n",
+ code_size, old_size);
constant_folding(interp, unit);
store_sub_size(interp, code_size, ins_size);
/* allocate code */
- interp->code->base.data = (opcode_t *)
+ interp->code->base.data = (opcode_t *)
mem_sys_realloc(interp->code->base.data, bytes);
/* reallocating this removes its mmaped-ness; needs encapsulation */
interp->code->base.pf->is_mmap_ped = 0;
- interp->code->base.size = oldsize + code_size;
+ interp->code->base.size = old_size + code_size;
- IMCC_INFO(interp)->pc = (opcode_t *)interp->code->base.data + oldsize;
- IMCC_INFO(interp)->npc = 0;
+ IMCC_INFO(interp)->pc = (opcode_t *)interp->code->base.data + old_size;
+ IMCC_INFO(interp)->npc = 0;
/* FIXME length and multiple subs */
- IMCC_INFO(interp)->debug_seg = Parrot_new_debug_seg(interp,
- interp->code,
- (size_t)IMCC_INFO(interp)->ins_line + ins_size + 1);
+ seg_size = (size_t)IMCC_INFO(interp)->ins_line + ins_size + 1;
+ IMCC_INFO(interp)->debug_seg =
+ Parrot_new_debug_seg(interp, interp->code, seg_size);
Parrot_debug_add_mapping(interp, IMCC_INFO(interp)->debug_seg,
- IMCC_INFO(interp)->ins_line, unit->file);
+ old_size, unit->file);
/* if item is a PCC_SUB entry then store it constants */
if (ins->symregs[0] && ins->symregs[0]->pcc_sub) {
- add_const_pmc_sub(interp, ins->symregs[0], oldsize,
- oldsize + code_size);
+ add_const_pmc_sub(interp, ins->symregs[0], old_size,
+ old_size + code_size);
}
else {
/* need a dummy to hold register usage */
SymReg * const r = mk_sub_label(interp, "(null)");
r->type = VT_PCC_SUB;
r->pcc_sub = mem_gc_allocate_zeroed_typed(interp, pcc_sub_t);
- add_const_pmc_sub(interp, r, oldsize, oldsize + code_size);
+ add_const_pmc_sub(interp, r, old_size, old_size + code_size);
}
}
View
47 compilers/opsc/README.pod
@@ -0,0 +1,47 @@
+# Copyright (C) 2010, Parrot Foundation.
+# $Id$
+
+=head1 NAME
+
+opsc - An opcode compiler for Parrot
+
+=head1 DESCRIPTION
+
+Ops-to-C is a compiler to generate opcode definition files in C from
+Parrot's opcode definition language.
+
+=head1 SYNOPSIS
+
+ opsc [-options] <file>
+
+=head1 OPTIONS
+
+=over 4
+
+=item -c, --core
+
+Generate C code for core ops (for use only in building the Parrot VM)
+
+=item -d, --dynamic
+
+Generate C code for dynamic ops in a single file.
+
+=item -q, --quiet
+
+Only report error messages, other messages are silent.
+
+=item -h, --help
+
+Print usage information.
+
+=item -n, --no-lines
+
+Do not print #line directives in generated C code.
+
+=item -g, --debug
+
+Perform all processing but do not write to any files.
+
+=back
+
+=cut
View
8 compilers/opsc/src/Ops/Trans/C.pm
@@ -25,10 +25,10 @@ method new() {
:ki("IREG(NUM)"),
:ic("cur_opcode[NUM]"),
- :nc("CONST(NUM)->u.number"),
- :pc("CONST(NUM)->u.key"),
- :sc("CONST(NUM)->u.string"),
- :kc("CONST(NUM)->u.key"),
+ :nc("CONST(NUM).u.number"),
+ :pc("CONST(NUM).u.key"),
+ :sc("CONST(NUM).u.string"),
+ :kc("CONST(NUM).u.key"),
:kic("cur_opcode[NUM]")
);
View
3 config/auto/icu.pm
@@ -312,7 +312,8 @@ sub _handle_icushared {
else {
# on MacOS X there's sometimes an errornous \c at the end of the
# output line. Remove it.
- $icushared =~ s/\s\\c$//;
+ # see TT #1722
+ $icushared =~ s/\s\\c\s/ /g;
}
}
View
21 config/gen/config_pm.pm
@@ -1,4 +1,4 @@
-# Copyright (C) 2001-2009, Parrot Foundation.
+# Copyright (C) 2001-2010, Parrot Foundation.
# $Id$
=head1 NAME
@@ -65,6 +65,18 @@ sub runstep {
open( my $OUT, ">", $gen_pm )
or die "Can't open $gen_pm: $!";
+ # escape spaces in current directory
+ my $cwd = cwd();
+ $cwd =~ s{ }{\\ }g;
+
+ # Build directory can have non ascii characters
+ # Maybe not the better fix, but allows keep working on the issue.
+ # See TT #1717
+ my $cwdcharset = q{};
+ if ($cwd =~ /[^[:ascii:]]/) {
+ $cwdcharset = 'binary:';
+ }
+
my $pkg = __PACKAGE__;
print {$OUT} <<"END";
# ex: set ro:
@@ -117,7 +129,10 @@ END
die "type of '$k' is not supported : $type\n";
}
# String
- $v =~ s/(["\\])/\\$1/g;
+ $v =~ s/\\/\\\\/g;
+ $v =~ s/\\\\"/\\"/g;
+ # escape unescaped double quotes
+ $v =~ s/(?<!\\)"/\\"/g;
$v =~ s/\n/\\n/g;
my $charset = q{};
if ($v =~ /[^[:ascii:]]/) {
@@ -131,7 +146,7 @@ END
}
}
}
- elsif (s/\@PWD\@/cwd/e) {
+ elsif (s/\"\@PWD\@\"/$cwdcharset\"$cwd\"/) {
print {$OUT} $_;
}
else {
View
26 config/gen/makefiles/root.in
@@ -987,18 +987,9 @@ $(INSTALLABLEPROVE) : parrot-prove.pbc $(PBC_TO_EXE) src/install_config$(O)
# Parrot Debugger
#
-src/parrot_debugger$(O) : $(INC_DIR)/embed.h \
- src/parrot_debugger.c \
- $(INC_DIR)/runcore_api.h \
- compilers/imcc/imc.h $(PARROT_H_HEADERS) compilers/imcc/parser.h \
- compilers/imcc/cfg.h \
- compilers/imcc/debug.h \
- compilers/imcc/imcparser.h \
- compilers/imcc/instructions.h \
- compilers/imcc/sets.h \
- compilers/imcc/symreg.h \
- compilers/imcc/unit.h \
- $(INC_DIR)/oplib/ops.h
+src/parrot_debugger$(O) : $(PARROT_H_HEADERS) src/parrot_debugger.c \
+ $(INC_DIR)/embed.h \
+ $(INC_DIR)/runcore_api.h
$(PDB) : src/parrot_debugger$(O) src/parrot_config$(O) $(LIBPARROT)
$(LINK) @ld_out@$@ \
@@ -2472,6 +2463,12 @@ $(LIBGLUTCB_SO): $(LIBPARROT) src/glut_callbacks$(O) src/glut_nci_thunks$(O)
src/extra_nci_thunks.c : src/nci/extra_thunks.nci $(NCI_THUNK_GEN)
$(NCI_THUNK_GEN) --dynext --no-warn-dups \
--output=src/extra_nci_thunks.c <src/nci/extra_thunks.nci
+#
+# remove the following two lines commited in r48180 which cause this to be re-generated
+# every time the all target is invoked - see TT #1719
+#
+# $(NCI_THUNK_GEN) --core --loader-name=Parrot_nci_load_extra_thunks --no-warn-dups \
+# --output=src/nci/extra_thunks.c <src/nci/extra_thunks.nci
## SUFFIX OVERRIDE
src/extra_nci_thunks$(O) : $(PARROT_H_HEADERS) src/extra_nci_thunks.c \
@@ -2518,6 +2515,11 @@ tags-vi: tags.vi.dummy
tags.vi.dummy:
+tags: tags.dummy
+ @echo 'There is no "tags" target. You want tags-vi or tags-emacs.'
+
+tags.dummy:
+
CRITIC_FILES = 'lib/Parrot'
perlcritic:
View
6 config/init/defaults.pm
@@ -80,13 +80,17 @@ sub runstep {
my $ccdlflags = $Config{ccdlflags};
$ccdlflags =~ s/\s*-Wl,-rpath,\S*//g if $conf->options->get('disable-rpath');
+ # escape spaces in build directory
+ my $build_dir = abs_path($FindBin::Bin);
+ $build_dir =~ s{ }{\\ }g;
+
my $cc_option = $conf->options->get('cc');
# We need a Glossary somewhere!
$conf->data->set(
debugging => $conf->options->get('debugging') ? 1 : 0,
optimize => '',
verbose => $conf->options->get('verbose'),
- build_dir => abs_path($FindBin::Bin),
+ build_dir => $build_dir,
configured_from_file =>
$conf->options->get('configured_from_file') || '',
configuration_steps => ( join q{ } => $conf->get_list_of_steps() ),
View
6 docs/pdds/pdd27_multiple_dispatch.pod
@@ -207,11 +207,7 @@ the call signature, with the best matching candidate as the 0th element.
=item Parrot_mmd_invoke
-Make a multiple dispatch call. Similar in syntax to C<Parrot_PCCINVOKE>, but
-doesn't separate out the invocant before the signature since the call can have
-multiple invocants. A significant part of the code from C<Parrot_PCCINVOKE>
-can be factored out to helper routines used by both C<Parrot_PCCINVOKE> and
-C<Parrot_mmd_invoke>.
+Make a multiple dispatch call.
void
Parrot_mmd_invoke(PARROT_INTERP, NOTNULL(STRING *sub_name),
View
2 docs/project/release_manager_guide.pod
@@ -415,7 +415,7 @@ L<http://www.google.com/calendar/render?cid=ldhctdamsgfg5a1cord52po9h8@group.cal
- Aug 17, 2010 - 2.7 - mikehh
- Sep 21, 2010 - 2.8 - gerd
- - Oct 19, 2010 - 2.9* - ??
+ - Oct 19, 2010 - 2.9* - gerd
- Nov 16, 2010 - 2.10 - ??
- Dec 21, 2010 - 2.11 - ??
- Jan 18, 2010 - 3.0* - ??
View
35 docs/project/support_policy.pod
@@ -58,9 +58,12 @@ To allow for healthy growth in the project, in addition to adding new
features we will also regularly deprecate features and remove them. To
ease the burden of these changes on the users, our policy is to notify
users of these deprecations in at least one supported release before
-removal. Deprecation notices are listed in the file L<DEPRECATED.pod>,
-together with a version number to help us track when the feature is safe
-to remove.
+removal and to provide users with a reasonable upgrade path. Deprecation
+notices are listed in the file L<DEPRECATED.pod>, together with a version
+number to help us track when the feature is safe to remove. The suggested
+upgrade paths for deprecated features can be found on the ParrotDeprecations
+wiki page. Note that deprecation removals that are committed without an
+appropriate upgrade path are subject to reversion.
For example, if a feature exists in Parrot 2.0 (January 2010), and is
not listed for deprecation in that release, the user can be confident
@@ -77,6 +80,32 @@ deprecation notification in the 2.0 release may be removed from any monthly
developer release between 2.0 and the next supported release, though we're
likely to stagger the removals.
+=head2 Deprecation Notifications
+
+HLLs, libraries and other users of Parrot will inevitably find that we
+deprecate some core features which they depend on. In order to minimize the
+pain caused by this deprecation and the subsequent "upgrade tax" (i.e. the time
+users must spend to keep their code working after an upgrade), we now forbid
+the removal of any deprecated feature until an appropriate upgrade path has
+been documented. Any deprecated features that are removed without an
+appropriate notification are subject to reversion until such notifications have
+been added. The single (rare) exception to this rule is any core feature which
+is broken or incomplete to the point that it is deemed unusable by any user.
+
+These notifications must be listed on the ParrotDeprecations wiki page, along
+with ticket numbers, a short summary of the deprecation and the expected impact
+on users. A longer explanation of each deprecation must be put on a page
+dedicated to the deprecations for a specific supported release. This page
+provides a short description of each change, its rationale and at least one
+example of how affected code can be modified to work after the deprecation
+takes effect.
+
+The purpose of these notifications is to make life easier for users of Parrot.
+If an existing feature is incomplete or broken to the degree that no external
+projects is likely to be able to make use of it, the removal of that feature
+does not require a documented upgrade path. We expect such deprecations to be
+very rare.
+
=head2 Experimental Features
From time to time, we may add features to get feedback on their utility and
View
1 docs/resources/parrot.css
@@ -79,6 +79,7 @@ div#mainbody {
div#footer {
background: #121A28;
text-align: center;
+ color: white;
padding-top: 1px;
padding-bottom: 10px;
}
View
1 examples/languages/squaak/PARROT_REVISION
@@ -1 +0,0 @@
-47087
View
4 examples/languages/squaak/doc/tutorial_episode_3.pod
@@ -425,7 +425,7 @@ find out how you do such a binding).
method assignment($/) {
my $lhs := $<primary>.ast;
- my $rhs := $<expression>.ast;
+ my $rhs := $<EXPR>.ast;
$lhs.lvalue(1);
make PAST::Op.new( $lhs, $rhs, :pasttype('bind'), :node($/) );
}
@@ -437,7 +437,7 @@ Note that we set the lvalue flag on $lhs. See PDD26 for details on this flag.
Write the action method for stat_or_def. Simply retrieve the result object from statement and make
that the result object.
- method stat_or_def {
+ method stat_or_def($/) {
make $<statement>.ast;
}
View
652 ext/nqp-rx/src/stage0/HLL-s0.pir
@@ -902,7 +902,7 @@ An operator precedence parser.
### .include 'gen/hllgrammar-grammar.pir'
.namespace []
-.sub "_block11" :anon :subid("10_1279589159.66297")
+.sub "_block11" :anon :subid("10_1280467467.13603")
.annotate 'line', 0
get_hll_global $P14, ["HLL";"Grammar"], "_block13"
capture_lex $P14
@@ -919,15 +919,15 @@ An operator precedence parser.
$P332 = $P14()
.annotate 'line', 1
.return ($P332)
- .const 'Sub' $P334 = "106_1279589159.66297"
+ .const 'Sub' $P334 = "106_1280467467.13603"
.return ($P334)
.end
.namespace []
-.sub "" :load :init :subid("post107") :outer("10_1279589159.66297")
+.sub "" :load :init :subid("post107") :outer("10_1280467467.13603")
.annotate 'line', 0
- .const 'Sub' $P12 = "10_1279589159.66297"
+ .const 'Sub' $P12 = "10_1280467467.13603"
.local pmc block
set block, $P12
$P337 = get_root_global ["parrot"], "P6metaclass"
@@ -936,83 +936,83 @@ An operator precedence parser.
.namespace ["HLL";"Grammar"]
-.sub "_block13" :subid("11_1279589159.66297") :outer("10_1279589159.66297")
+.sub "_block13" :subid("11_1280467467.13603") :outer("10_1280467467.13603")
.annotate 'line', 5
- .const 'Sub' $P319 = "103_1279589159.66297"
+ .const 'Sub' $P319 = "103_1280467467.13603"
capture_lex $P319
- .const 'Sub' $P313 = "101_1279589159.66297"
+ .const 'Sub' $P313 = "101_1280467467.13603"
capture_lex $P313
- .const 'Sub' $P300 = "98_1279589159.66297"
+ .const 'Sub' $P300 = "98_1280467467.13603"
capture_lex $P300
- .const 'Sub' $P268 = "93_1279589159.66297"
+ .const 'Sub' $P268 = "93_1280467467.13603"
capture_lex $P268
- .const 'Sub' $P262 = "91_1279589159.66297"
+ .const 'Sub' $P262 = "91_1280467467.13603"
capture_lex $P262
- .const 'Sub' $P257 = "89_1279589159.66297"
+ .const 'Sub' $P257 = "89_1280467467.13603"
capture_lex $P257
- .const 'Sub' $P251 = "87_1279589159.66297"
+ .const 'Sub' $P251 = "87_1280467467.13603"
capture_lex $P251
- .const 'Sub' $P245 = "85_1279589159.66297"
+ .const 'Sub' $P245 = "85_1280467467.13603"
capture_lex $P245
- .const 'Sub' $P240 = "83_1279589159.66297"
+ .const 'Sub' $P240 = "83_1280467467.13603"
capture_lex $P240
- .const 'Sub' $P235 = "81_1279589159.66297"
+ .const 'Sub' $P235 = "81_1280467467.13603"
capture_lex $P235
- .const 'Sub' $P230 = "79_1279589159.66297"
+ .const 'Sub' $P230 = "79_1280467467.13603"
capture_lex $P230
- .const 'Sub' $P225 = "77_1279589159.66297"
+ .const 'Sub' $P225 = "77_1280467467.13603"
capture_lex $P225
- .const 'Sub' $P220 = "75_1279589159.66297"
+ .const 'Sub' $P220 = "75_1280467467.13603"
capture_lex $P220
- .const 'Sub' $P215 = "73_1279589159.66297"
+ .const 'Sub' $P215 = "73_1280467467.13603"
capture_lex $P215
- .const 'Sub' $P210 = "71_1279589159.66297"
+ .const 'Sub' $P210 = "71_1280467467.13603"
capture_lex $P210
- .const 'Sub' $P205 = "69_1279589159.66297"
+ .const 'Sub' $P205 = "69_1280467467.13603"
capture_lex $P205
- .const 'Sub' $P195 = "65_1279589159.66297"
+ .const 'Sub' $P195 = "65_1280467467.13603"
capture_lex $P195
- .const 'Sub' $P182 = "63_1279589159.66297"
+ .const 'Sub' $P182 = "63_1280467467.13603"
capture_lex $P182
- .const 'Sub' $P170 = "61_1279589159.66297"
+ .const 'Sub' $P170 = "61_1280467467.13603"
capture_lex $P170
- .const 'Sub' $P164 = "59_1279589159.66297"
+ .const 'Sub' $P164 = "59_1280467467.13603"
capture_lex $P164
- .const 'Sub' $P157 = "57_1279589159.66297"
+ .const 'Sub' $P157 = "57_1280467467.13603"
capture_lex $P157
- .const 'Sub' $P151 = "55_1279589159.66297"
+ .const 'Sub' $P151 = "55_1280467467.13603"
capture_lex $P151
- .const 'Sub' $P144 = "53_1279589159.66297"
+ .const 'Sub' $P144 = "53_1280467467.13603"
capture_lex $P144
- .const 'Sub' $P138 = "51_1279589159.66297"
+ .const 'Sub' $P138 = "51_1280467467.13603"
capture_lex $P138
- .const 'Sub' $P131 = "49_1279589159.66297"
+ .const 'Sub' $P131 = "49_1280467467.13603"
capture_lex $P131
- .const 'Sub' $P125 = "47_1279589159.66297"
+ .const 'Sub' $P125 = "47_1280467467.13603"
capture_lex $P125
- .const 'Sub' $P119 = "45_1279589159.66297"
+ .const 'Sub' $P119 = "45_1280467467.13603"
capture_lex $P119
- .const 'Sub' $P110 = "43_1279589159.66297"
+ .const 'Sub' $P110 = "43_1280467467.13603"
capture_lex $P110
- .const 'Sub' $P102 = "41_1279589159.66297"
+ .const 'Sub' $P102 = "41_1280467467.13603"
capture_lex $P102
- .const 'Sub' $P92 = "40_1279589159.66297"
+ .const 'Sub' $P92 = "40_1280467467.13603"
capture_lex $P92
- .const 'Sub' $P86 = "38_1279589159.66297"
+ .const 'Sub' $P86 = "38_1280467467.13603"
capture_lex $P86
- .const 'Sub' $P81 = "36_1279589159.66297"
+ .const 'Sub' $P81 = "36_1280467467.13603"
capture_lex $P81
- .const 'Sub' $P73 = "34_1279589159.66297"
+ .const 'Sub' $P73 = "34_1280467467.13603"
capture_lex $P73
- .const 'Sub' $P67 = "32_1279589159.66297"
+ .const 'Sub' $P67 = "32_1280467467.13603"
capture_lex $P67
- .const 'Sub' $P61 = "30_1279589159.66297"
+ .const 'Sub' $P61 = "30_1280467467.13603"
capture_lex $P61
- .const 'Sub' $P55 = "28_1279589159.66297"
+ .const 'Sub' $P55 = "28_1280467467.13603"
capture_lex $P55
- .const 'Sub' $P22 = "14_1279589159.66297"
+ .const 'Sub' $P22 = "14_1280467467.13603"
capture_lex $P22
- .const 'Sub' $P15 = "12_1279589159.66297"
+ .const 'Sub' $P15 = "12_1280467467.13603"
capture_lex $P15
$P0 = find_dynamic_lex "$*CTXSAVE"
if null $P0 goto ctxsave_done
@@ -1021,17 +1021,17 @@ An operator precedence parser.
$P0."ctxsave"()
ctxsave_done:
.annotate 'line', 33
- .const 'Sub' $P319 = "103_1279589159.66297"
+ .const 'Sub' $P319 = "103_1280467467.13603"
capture_lex $P319
.annotate 'line', 5
.return ($P319)
- .const 'Sub' $P329 = "105_1279589159.66297"
+ .const 'Sub' $P329 = "105_1280467467.13603"
.return ($P329)
.end
.namespace ["HLL";"Grammar"]
-.sub "ws" :subid("12_1279589159.66297") :method :outer("11_1279589159.66297")
+.sub "ws" :subid("12_1280467467.13603") :method :outer("11_1280467467.13603")
.annotate 'line', 5
.local string rx16_tgt
.local int rx16_pos
@@ -1121,7 +1121,7 @@ An operator precedence parser.
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__ws" :subid("13_1279589159.66297") :method
+.sub "!PREFIX__ws" :subid("13_1280467467.13603") :method
.annotate 'line', 5
new $P18, "ResizablePMCArray"
push $P18, ""
@@ -1130,7 +1130,7 @@ An operator precedence parser.
.namespace ["HLL";"Grammar"]
-.sub "termish" :subid("14_1279589159.66297") :method :outer("11_1279589159.66297")
+.sub "termish" :subid("14_1280467467.13603") :method :outer("11_1280467467.13603")
.annotate 'line', 5
.local string rx23_tgt
.local int rx23_pos
@@ -1139,7 +1139,7 @@ An operator precedence parser.
.local int rx23_rep
.local pmc rx23_cur
(rx23_cur, rx23_pos, rx23_tgt, $I10) = self."!cursor_start"()
- rx23_cur."!cursor_caparray"("postfixish", "prefixish")
+ rx23_cur."!cursor_caparray"("prefixish", "postfixish")
.lex unicode:"$\x{a2}", rx23_cur
.local pmc match
.lex "$/", match
@@ -1242,7 +1242,7 @@ An operator precedence parser.
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__termish" :subid("15_1279589159.66297") :method
+.sub "!PREFIX__termish" :subid("15_1280467467.13603") :method
.annotate 'line', 5
new $P25, "ResizablePMCArray"
push $P25, ""
@@ -1251,103 +1251,103 @@ An operator precedence parser.
.namespace ["HLL";"Grammar"]
-.sub "term" :subid("16_1279589159.66297") :method
+.sub "term" :subid("16_1280467467.13603") :method
.annotate 'line', 13
$P32 = self."!protoregex"("term")
.return ($P32)
.end
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__term" :subid("17_1279589159.66297") :method
+.sub "!PREFIX__term" :subid("17_1280467467.13603") :method
.annotate 'line', 13
$P34 = self."!PREFIX__!protoregex"("term")
.return ($P34)
.end
.namespace ["HLL";"Grammar"]
-.sub "infix" :subid("18_1279589159.66297") :method
+.sub "infix" :subid("18_1280467467.13603") :method
.annotate 'line', 14
$P36 = self."!protoregex"("infix")
.return ($P36)
.end
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__infix" :subid("19_1279589159.66297") :method
+.sub "!PREFIX__infix" :subid("19_1280467467.13603") :method
.annotate 'line', 14
$P38 = self."!PREFIX__!protoregex"("infix")
.return ($P38)
.end
.namespace ["HLL";"Grammar"]
-.sub "prefix" :subid("20_1279589159.66297") :method
+.sub "prefix" :subid("20_1280467467.13603") :method
.annotate 'line', 15
$P40 = self."!protoregex"("prefix")
.return ($P40)
.end
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__prefix" :subid("21_1279589159.66297") :method
+.sub "!PREFIX__prefix" :subid("21_1280467467.13603") :method
.annotate 'line', 15
$P42 = self."!PREFIX__!protoregex"("prefix")
.return ($P42)
.end
.namespace ["HLL";"Grammar"]
-.sub "postfix" :subid("22_1279589159.66297") :method
+.sub "postfix" :subid("22_1280467467.13603") :method
.annotate 'line', 16
$P44 = self."!protoregex"("postfix")
.return ($P44)
.end
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__postfix" :subid("23_1279589159.66297") :method
+.sub "!PREFIX__postfix" :subid("23_1280467467.13603") :method
.annotate 'line', 16
$P46 = self."!PREFIX__!protoregex"("postfix")
.return ($P46)
.end
.namespace ["HLL";"Grammar"]
-.sub "circumfix" :subid("24_1279589159.66297") :method
+.sub "circumfix" :subid("24_1280467467.13603") :method
.annotate 'line', 17
$P48 = self."!protoregex"("circumfix")
.return ($P48)
.end
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__circumfix" :subid("25_1279589159.66297") :method
+.sub "!PREFIX__circumfix" :subid("25_1280467467.13603") :method
.annotate 'line', 17
$P50 = self."!PREFIX__!protoregex"("circumfix")
.return ($P50)
.end
.namespace ["HLL";"Grammar"]
-.sub "postcircumfix" :subid("26_1279589159.66297") :method
+.sub "postcircumfix" :subid("26_1280467467.13603") :method
.annotate 'line', 18
$P52 = self."!protoregex"("postcircumfix")
.return ($P52)
.end
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__postcircumfix" :subid("27_1279589159.66297") :method
+.sub "!PREFIX__postcircumfix" :subid("27_1280467467.13603") :method
.annotate 'line', 18
$P54 = self."!PREFIX__!protoregex"("postcircumfix")
.return ($P54)
.end
.namespace ["HLL";"Grammar"]
-.sub "term:sym<circumfix>" :subid("28_1279589159.66297") :method :outer("11_1279589159.66297")
+.sub "term:sym<circumfix>" :subid("28_1280467467.13603") :method :outer("11_1280467467.13603")
.annotate 'line', 5
.local string rx56_tgt
.local int rx56_pos
@@ -1409,7 +1409,7 @@ An operator precedence parser.
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__term:sym<circumfix>" :subid("29_1279589159.66297") :method
+.sub "!PREFIX__term:sym<circumfix>" :subid("29_1280467467.13603") :method
.annotate 'line', 5
$P58 = self."!PREFIX__!subrule"("circumfix", "")
new $P59, "ResizablePMCArray"
@@ -1419,7 +1419,7 @@ An operator precedence parser.
.namespace ["HLL";"Grammar"]
-.sub "infixish" :subid("30_1279589159.66297") :method :outer("11_1279589159.66297")
+.sub "infixish" :subid("30_1280467467.13603") :method :outer("11_1280467467.13603")
.annotate 'line', 5
.local string rx62_tgt
.local int rx62_pos
@@ -1481,7 +1481,7 @@ An operator precedence parser.
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__infixish" :subid("31_1279589159.66297") :method
+.sub "!PREFIX__infixish" :subid("31_1280467467.13603") :method
.annotate 'line', 5
$P64 = self."!PREFIX__!subrule"("infix", "")
new $P65, "ResizablePMCArray"
@@ -1491,7 +1491,7 @@ An operator precedence parser.
.namespace ["HLL";"Grammar"]
-.sub "prefixish" :subid("32_1279589159.66297") :method :outer("11_1279589159.66297")
+.sub "prefixish" :subid("32_1280467467.13603") :method :outer("11_1280467467.13603")
.annotate 'line', 5
.local string rx68_tgt
.local int rx68_pos
@@ -1558,7 +1558,7 @@ An operator precedence parser.
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__prefixish" :subid("33_1279589159.66297") :method
+.sub "!PREFIX__prefixish" :subid("33_1280467467.13603") :method
.annotate 'line', 5
$P70 = self."!PREFIX__!subrule"("prefix", "")
new $P71, "ResizablePMCArray"
@@ -1568,7 +1568,7 @@ An operator precedence parser.
.namespace ["HLL";"Grammar"]
-.sub "postfixish" :subid("34_1279589159.66297") :method :outer("11_1279589159.66297")
+.sub "postfixish" :subid("34_1280467467.13603") :method :outer("11_1280467467.13603")
.annotate 'line', 5
.local string rx74_tgt
.local int rx74_pos
@@ -1646,7 +1646,7 @@ An operator precedence parser.
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__postfixish" :subid("35_1279589159.66297") :method
+.sub "!PREFIX__postfixish" :subid("35_1280467467.13603") :method
.annotate 'line', 5
$P76 = self."!PREFIX__!subrule"("postcircumfix", "")
$P77 = self."!PREFIX__!subrule"("postfix", "")
@@ -1658,7 +1658,7 @@ An operator precedence parser.
.namespace ["HLL";"Grammar"]
-.sub "nullterm" :subid("36_1279589159.66297") :method :outer("11_1279589159.66297")
+.sub "nullterm" :subid("36_1280467467.13603") :method :outer("11_1280467467.13603")
.annotate 'line', 5
.local string rx82_tgt
.local int rx82_pos
@@ -1713,7 +1713,7 @@ An operator precedence parser.
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__nullterm" :subid("37_1279589159.66297") :method
+.sub "!PREFIX__nullterm" :subid("37_1280467467.13603") :method
.annotate 'line', 5
new $P84, "ResizablePMCArray"
push $P84, ""
@@ -1722,7 +1722,7 @@ An operator precedence parser.
.namespace ["HLL";"Grammar"]
-.sub "nullterm_alt" :subid("38_1279589159.66297") :method :outer("11_1279589159.66297")
+.sub "nullterm_alt" :subid("38_1280467467.13603") :method :outer("11_1280467467.13603")
.annotate 'line', 5
.local string rx87_tgt
.local int rx87_pos
@@ -1784,7 +1784,7 @@ An operator precedence parser.
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__nullterm_alt" :subid("39_1279589159.66297") :method
+.sub "!PREFIX__nullterm_alt" :subid("39_1280467467.13603") :method
.annotate 'line', 5
$P89 = self."!PREFIX__!subrule"("nullterm", "")
new $P90, "ResizablePMCArray"
@@ -1795,7 +1795,7 @@ An operator precedence parser.
.namespace ["HLL";"Grammar"]
.include "except_types.pasm"
-.sub "nulltermish" :subid("40_1279589159.66297") :method :outer("11_1279589159.66297")
+.sub "nulltermish" :subid("40_1280467467.13603") :method :outer("11_1280467467.13603")
.annotate 'line', 33
new $P94, 'ExceptionHandler'
set_addr $P94, control_93
@@ -1822,7 +1822,7 @@ An operator precedence parser.
.namespace ["HLL";"Grammar"]
-.sub "quote_delimited" :subid("41_1279589159.66297") :method :outer("11_1279589159.66297")
+.sub "quote_delimited" :subid("41_1280467467.13603") :method :outer("11_1280467467.13603")
.annotate 'line', 33
.local string rx103_tgt
.local int rx103_pos
@@ -1916,7 +1916,7 @@ An operator precedence parser.
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_delimited" :subid("42_1279589159.66297") :method
+.sub "!PREFIX__quote_delimited" :subid("42_1280467467.13603") :method
.annotate 'line', 33
$P105 = self."!PREFIX__!subrule"("starter", "")
new $P106, "ResizablePMCArray"
@@ -1926,7 +1926,7 @@ An operator precedence parser.
.namespace ["HLL";"Grammar"]
-.sub "quote_atom" :subid("43_1279589159.66297") :method :outer("11_1279589159.66297")
+.sub "quote_atom" :subid("43_1280467467.13603") :method :outer("11_1280467467.13603")
.annotate 'line', 33
.local string rx111_tgt
.local int rx111_pos
@@ -2023,7 +2023,7 @@ An operator precedence parser.
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_atom" :subid("44_1279589159.66297") :method
+.sub "!PREFIX__quote_atom" :subid("44_1280467467.13603") :method
.annotate 'line', 33
new $P113, "ResizablePMCArray"
push $P113, ""
@@ -2032,7 +2032,7 @@ An operator precedence parser.
.namespace ["HLL";"Grammar"]
-.sub "decint" :subid("45_1279589159.66297") :method :outer("11_1279589159.66297")
+.sub "decint" :subid("45_1280467467.13603") :method :outer("11_1280467467.13603")
.annotate 'line', 33
.local string rx120_tgt
.local int rx120_pos
@@ -2110,7 +2110,7 @@ An operator precedence parser.
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__decint" :subid("46_1279589159.66297") :method
+.sub "!PREFIX__decint" :subid("46_1280467467.13603") :method
.annotate 'line', 33
new $P122, "ResizablePMCArray"
push $P122, ""
@@ -2119,7 +2119,7 @@ An operator precedence parser.
.namespace ["HLL";"Grammar"]
-.sub "decints" :subid("47_1279589159.66297") :method :outer("11_1279589159.66297")
+.sub "decints" :subid("47_1280467467.13603") :method :outer("11_1280467467.13603")
.annotate 'line', 33
.local string rx126_tgt
.local int rx126_pos
@@ -2209,7 +2209,7 @@ An operator precedence parser.
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__decints" :subid("48_1279589159.66297") :method
+.sub "!PREFIX__decints" :subid("48_1280467467.13603") :method
.annotate 'line', 33
new $P128, "ResizablePMCArray"
push $P128, ""
@@ -2218,7 +2218,7 @@ An operator precedence parser.
.namespace ["HLL";"Grammar"]
-.sub "hexint" :subid("49_1279589159.66297") :method :outer("11_1279589159.66297")
+.sub "hexint" :subid("49_1280467467.13603") :method :outer("11_1280467467.13603")
.annotate 'line', 33
.local string rx132_tgt
.local int rx132_pos
@@ -2307,7 +2307,7 @@ An operator precedence parser.
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__hexint" :subid("50_1279589159.66297") :method
+.sub "!PREFIX__hexint" :subid("50_1280467467.13603") :method
.annotate 'line', 33
new $P134, "ResizablePMCArray"
push $P134, ""
@@ -2316,7 +2316,7 @@ An operator precedence parser.
.namespace ["HLL";"Grammar"]
-.sub "hexints" :subid("51_1279589159.66297") :method :outer("11_1279589159.66297")
+.sub "hexints" :subid("51_1280467467.13603") :method :outer("11_1280467467.13603")
.annotate 'line', 33
.local string rx139_tgt
.local int rx139_pos
@@ -2406,7 +2406,7 @@ An operator precedence parser.
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__hexints" :subid("52_1279589159.66297") :method
+.sub "!PREFIX__hexints" :subid("52_1280467467.13603") :method
.annotate 'line', 33
new $P141, "ResizablePMCArray"
push $P141, ""
@@ -2415,7 +2415,7 @@ An operator precedence parser.
.namespace ["HLL";"Grammar"]
-.sub "octint" :subid("53_1279589159.66297") :method :outer("11_1279589159.66297")
+.sub "octint" :subid("53_1280467467.13603") :method :outer("11_1280467467.13603")
.annotate 'line', 33
.local string rx145_tgt
.local int rx145_pos
@@ -2504,7 +2504,7 @@ An operator precedence parser.
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__octint" :subid("54_1279589159.66297") :method
+.sub "!PREFIX__octint" :subid("54_1280467467.13603") :method
.annotate 'line', 33
new $P147, "ResizablePMCArray"
push $P147, ""
@@ -2513,7 +2513,7 @@ An operator precedence parser.
.namespace ["HLL";"Grammar"]
-.sub "octints" :subid("55_1279589159.66297") :method :outer("11_1279589159.66297")
+.sub "octints" :subid("55_1280467467.13603") :method :outer("11_1280467467.13603")
.annotate 'line', 33
.local string rx152_tgt
.local int rx152_pos
@@ -2603,7 +2603,7 @@ An operator precedence parser.
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__octints" :subid("56_1279589159.66297") :method
+.sub "!PREFIX__octints" :subid("56_1280467467.13603") :method
.annotate 'line', 33
new $P154, "ResizablePMCArray"
push $P154, ""
@@ -2612,7 +2612,7 @@ An operator precedence parser.
.namespace ["HLL";"Grammar"]
-.sub "binint" :subid("57_1279589159.66297") :method :outer("11_1279589159.66297")
+.sub "binint" :subid("57_1280467467.13603") :method :outer("11_1280467467.13603")
.annotate 'line', 33
.local string rx158_tgt
.local int rx158_pos
@@ -2701,7 +2701,7 @@ An operator precedence parser.
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__binint" :subid("58_1279589159.66297") :method
+.sub "!PREFIX__binint" :subid("58_1280467467.13603") :method
.annotate 'line', 33
new $P160, "ResizablePMCArray"
push $P160, ""
@@ -2710,7 +2710,7 @@ An operator precedence parser.
.namespace ["HLL";"Grammar"]
-.sub "binints" :subid("59_1279589159.66297") :method :outer("11_1279589159.66297")
+.sub "binints" :subid("59_1280467467.13603") :method :outer("11_1280467467.13603")
.annotate 'line', 33
.local string rx165_tgt
.local int rx165_pos
@@ -2800,7 +2800,7 @@ An operator precedence parser.
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__binints" :subid("60_1279589159.66297") :method
+.sub "!PREFIX__binints" :subid("60_1280467467.13603") :method
.annotate 'line', 33
new $P167, "ResizablePMCArray"
push $P167, ""
@@ -2809,7 +2809,7 @@ An operator precedence parser.
.namespace ["HLL";"Grammar"]
-.sub "integer" :subid("61_1279589159.66297") :method :outer("11_1279589159.66297")
+.sub "integer" :subid("61_1280467467.13603") :method :outer("11_1280467467.13603")
.annotate 'line', 33
.local string rx171_tgt
.local int rx171_pos
@@ -2961,7 +2961,7 @@ An operator precedence parser.
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__integer" :subid("62_1279589159.66297") :method
+.sub "!PREFIX__integer" :subid("62_1280467467.13603") :method
.annotate 'line', 33
$P173 = self."!PREFIX__!subrule"("decint", "")
$P174 = self."!PREFIX__!subrule"("decint", "0d")
@@ -2979,7 +2979,7 @@ An operator precedence parser.
.namespace ["HLL";"Grammar"]
-.sub "dec_number" :subid("63_1279589159.66297") :method :outer("11_1279589159.66297")
+.sub "dec_number" :subid("63_1280467467.13603") :method :outer("11_1280467467.13603")
.annotate 'line', 33
.local string rx183_tgt
.local int rx183_pos
@@ -3176,7 +3176,7 @@ An operator precedence parser.
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__dec_number" :subid("64_1279589159.66297") :method
+.sub "!PREFIX__dec_number" :subid("64_1280467467.13603") :method
.annotate 'line', 33
new $P185, "ResizablePMCArray"
push $P185, ""
@@ -3187,7 +3187,7 @@ An operator precedence parser.
.namespace ["HLL";"Grammar"]
-.sub "escale" :subid("65_1279589159.66297") :method :outer("11_1279589159.66297")
+.sub "escale" :subid("65_1280467467.13603") :method :outer("11_1280467467.13603")
.annotate 'line', 33
.local string rx196_tgt
.local int rx196_pos
@@ -3269,7 +3269,7 @@ An operator precedence parser.
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__escale" :subid("66_1279589159.66297") :method
+.sub "!PREFIX__escale" :subid("66_1280467467.13603") :method
.annotate 'line', 33
new $P198, "ResizablePMCArray"
push $P198, "e"
@@ -3279,23 +3279,23 @@ An operator precedence parser.
.namespace ["HLL";"Grammar"]
-.sub "quote_escape" :subid("67_1279589159.66297") :method
+.sub "quote_escape" :subid("67_1280467467.13603") :method
.annotate 'line', 79
$P202 = self."!protoregex"("quote_escape")
.return ($P202)
.end
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape" :subid("68_1279589159.66297") :method
+.sub "!PREFIX__quote_escape" :subid("68_1280467467.13603") :method
.annotate 'line', 79
$P204 = self."!PREFIX__!protoregex"("quote_escape")
.return ($P204)
.end
.namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<backslash>" :subid("69_1279589159.66297") :method :outer("11_1279589159.66297")
+.sub "quote_escape:sym<backslash>" :subid("69_1280467467.13603") :method :outer("11_1280467467.13603")
.annotate 'line', 33
.local string rx206_tgt
.local int rx206_pos
@@ -3361,7 +3361,7 @@ An operator precedence parser.
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<backslash>" :subid("70_1279589159.66297") :method
+.sub "!PREFIX__quote_escape:sym<backslash>" :subid("70_1280467467.13603") :method
.annotate 'line', 33
new $P208, "ResizablePMCArray"
push $P208, "\\\\"
@@ -3370,7 +3370,7 @@ An operator precedence parser.
.namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<stopper>" :subid("71_1279589159.66297") :method :outer("11_1279589159.66297")
+.sub "quote_escape:sym<stopper>" :subid("71_1280467467.13603") :method :outer("11_1280467467.13603")
.annotate 'line', 33
.local string rx211_tgt
.local int rx211_pos
@@ -3443,7 +3443,7 @@ An operator precedence parser.
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<stopper>" :subid("72_1279589159.66297") :method
+.sub "!PREFIX__quote_escape:sym<stopper>" :subid("72_1280467467.13603") :method
.annotate 'line', 33
new $P213, "ResizablePMCArray"
push $P213, "\\"
@@ -3452,7 +3452,7 @@ An operator precedence parser.
.namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<bs>" :subid("73_1279589159.66297") :method :outer("11_1279589159.66297")
+.sub "quote_escape:sym<bs>" :subid("73_1280467467.13603") :method :outer("11_1280467467.13603")
.annotate 'line', 33
.local string rx216_tgt
.local int rx216_pos
@@ -3518,7 +3518,7 @@ An operator precedence parser.
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<bs>" :subid("74_1279589159.66297") :method
+.sub "!PREFIX__quote_escape:sym<bs>" :subid("74_1280467467.13603") :method
.annotate 'line', 33
new $P218, "ResizablePMCArray"
push $P218, "\\b"
@@ -3527,7 +3527,7 @@ An operator precedence parser.
.namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<nl>" :subid("75_1279589159.66297") :method :outer("11_1279589159.66297")
+.sub "quote_escape:sym<nl>" :subid("75_1280467467.13603") :method :outer("11_1280467467.13603")
.annotate 'line', 33
.local string rx221_tgt
.local int rx221_pos
@@ -3593,7 +3593,7 @@ An operator precedence parser.
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<nl>" :subid("76_1279589159.66297") :method
+.sub "!PREFIX__quote_escape:sym<nl>" :subid("76_1280467467.13603") :method
.annotate 'line', 33
new $P223, "ResizablePMCArray"
push $P223, "\\n"
@@ -3602,7 +3602,7 @@ An operator precedence parser.
.namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<cr>" :subid("77_1279589159.66297") :method :outer("11_1279589159.66297")
+.sub "quote_escape:sym<cr>" :subid("77_1280467467.13603") :method :outer("11_1280467467.13603")
.annotate 'line', 33
.local string rx226_tgt
.local int rx226_pos
@@ -3668,7 +3668,7 @@ An operator precedence parser.
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<cr>" :subid("78_1279589159.66297") :method
+.sub "!PREFIX__quote_escape:sym<cr>" :subid("78_1280467467.13603") :method
.annotate 'line', 33
new $P228, "ResizablePMCArray"
push $P228, "\\r"
@@ -3677,7 +3677,7 @@ An operator precedence parser.
.namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<tab>" :subid("79_1279589159.66297") :method :outer("11_1279589159.66297")
+.sub "quote_escape:sym<tab>" :subid("79_1280467467.13603") :method :outer("11_1280467467.13603")
.annotate 'line', 33
.local string rx231_tgt
.local int rx231_pos
@@ -3743,7 +3743,7 @@ An operator precedence parser.
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<tab>" :subid("80_1279589159.66297") :method
+.sub "!PREFIX__quote_escape:sym<tab>" :subid("80_1280467467.13603") :method
.annotate 'line', 33
new $P233, "ResizablePMCArray"
push $P233, "\\t"
@@ -3752,7 +3752,7 @@ An operator precedence parser.
.namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<ff>" :subid("81_1279589159.66297") :method :outer("11_1279589159.66297")
+.sub "quote_escape:sym<ff>" :subid("81_1280467467.13603") :method :outer("11_1280467467.13603")
.annotate 'line', 33
.local string rx236_tgt
.local int rx236_pos
@@ -3818,7 +3818,7 @@ An operator precedence parser.
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<ff>" :subid("82_1279589159.66297") :method
+.sub "!PREFIX__quote_escape:sym<ff>" :subid("82_1280467467.13603") :method
.annotate 'line', 33
new $P238, "ResizablePMCArray"
push $P238, "\\f"
@@ -3827,7 +3827,7 @@ An operator precedence parser.
.namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<esc>" :subid("83_1279589159.66297") :method :outer("11_1279589159.66297")
+.sub "quote_escape:sym<esc>" :subid("83_1280467467.13603") :method :outer("11_1280467467.13603")
.annotate 'line', 33
.local string rx241_tgt
.local int rx241_pos
@@ -3893,7 +3893,7 @@ An operator precedence parser.
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<esc>" :subid("84_1279589159.66297") :method
+.sub "!PREFIX__quote_escape:sym<esc>" :subid("84_1280467467.13603") :method
.annotate 'line', 33
new $P243, "ResizablePMCArray"
push $P243, "\\e"
@@ -3902,7 +3902,7 @@ An operator precedence parser.
.namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<hex>" :subid("85_1279589159.66297") :method :outer("11_1279589159.66297")
+.sub "quote_escape:sym<hex>" :subid("85_1280467467.13603") :method :outer("11_1280467467.13603")
.annotate 'line', 33
.local string rx246_tgt
.local int rx246_pos
@@ -4004,7 +4004,7 @@ An operator precedence parser.
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<hex>" :subid("86_1279589159.66297") :method
+.sub "!PREFIX__quote_escape:sym<hex>" :subid("86_1280467467.13603") :method
.annotate 'line', 33
new $P248, "ResizablePMCArray"
push $P248, unicode:"\\x"
@@ -4013,7 +4013,7 @@ An operator precedence parser.
.namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<oct>" :subid("87_1279589159.66297") :method :outer("11_1279589159.66297")
+.sub "quote_escape:sym<oct>" :subid("87_1280467467.13603") :method :outer("11_1280467467.13603")
.annotate 'line', 33
.local string rx252_tgt
.local int rx252_pos
@@ -4115,7 +4115,7 @@ An operator precedence parser.
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<oct>" :subid("88_1279589159.66297") :method
+.sub "!PREFIX__quote_escape:sym<oct>" :subid("88_1280467467.13603") :method
.annotate 'line', 33
new $P254, "ResizablePMCArray"
push $P254, "\\o"
@@ -4124,7 +4124,7 @@ An operator precedence parser.
.namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<chr>" :subid("89_1279589159.66297") :method :outer("11_1279589159.66297")
+.sub "quote_escape:sym<chr>" :subid("89_1280467467.13603") :method :outer("11_1280467467.13603")
.annotate 'line', 33
.local string rx258_tgt
.local int rx258_pos
@@ -4197,7 +4197,7 @@ An operator precedence parser.
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<chr>" :subid("90_1279589159.66297") :method
+.sub "!PREFIX__quote_escape:sym<chr>" :subid("90_1280467467.13603") :method
.annotate 'line', 33
new $P260, "ResizablePMCArray"
push $P260, "\\c"
@@ -4206,7 +4206,7 @@ An operator precedence parser.
.namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<0>" :subid("91_1279589159.66297") :method :outer("11_1279589159.66297")
+.sub "quote_escape:sym<0>" :subid("91_1280467467.13603") :method :outer("11_1280467467.13603")
.annotate 'line', 33
.local string rx263_tgt
.local int rx263_pos
@@ -4293,7 +4293,7 @@ An operator precedence parser.
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<0>" :subid("92_1279589159.66297") :method
+.sub "!PREFIX__quote_escape:sym<0>" :subid("92_1280467467.13603") :method
.annotate 'line', 33
new $P265, "ResizablePMCArray"
push $P265, "\\0"
@@ -4302,13 +4302,13 @@ An operator precedence parser.
.namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<misc>" :subid("93_1279589159.66297") :method :outer("11_1279589159.66297")
+.sub "quote_escape:sym<misc>" :subid("93_1280467467.13603") :method :outer("11_1280467467.13603")
.annotate 'line', 33
- .const 'Sub' $P288 = "97_1279589159.66297"
+ .const 'Sub' $P288 = "97_1280467467.13603"
capture_lex $P288
- .const 'Sub' $P281 = "96_1279589159.66297"
+ .const 'Sub' $P281 = "96_1280467467.13603"
capture_lex $P281
- .const 'Sub' $P276 = "95_1279589159.66297"
+ .const 'Sub' $P276 = "95_1280467467.13603"
capture_lex $P276
.local string rx269_tgt
.local int rx269_pos
@@ -4346,7 +4346,7 @@ An operator precedence parser.
find_lex $P273, unicode:"$\x{a2}"
$P274 = $P273."MATCH"()
store_lex "$/", $P274
- .const 'Sub' $P276 = "95_1279589159.66297"
+ .const 'Sub' $P276 = "95_1280467467.13603"
capture_lex $P276
$P277 = $P276()
# rx literal "\\"
@@ -4372,7 +4372,7 @@ An operator precedence parser.
.annotate 'line', 104
# rx subrule $P281 subtype=capture negate=
rx269_cur."!cursor_pos"(rx269_pos)
- .const 'Sub' $P281 = "96_1279589159.66297"
+ .const 'Sub' $P281 = "96_1280467467.13603"
capture_lex $P281
$P10 = rx269_cur.$P281()
unless $P10, rx269_fail
@@ -4406,7 +4406,7 @@ An operator precedence parser.
find_lex $P285, unicode:"$\x{a2}"
$P286 = $P285."MATCH"()
store_lex "$/", $P286
- .const 'Sub' $P288 = "97_1279589159.66297"
+ .const 'Sub' $P288 = "97_1280467467.13603"
capture_lex $P288
$P298 = $P288()
alt279_end:
@@ -4454,7 +4454,7 @@ An operator precedence parser.
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<misc>" :subid("94_1279589159.66297") :method
+.sub "!PREFIX__quote_escape:sym<misc>" :subid("94_1280467467.13603") :method
.annotate 'line', 33
new $P271, "ResizablePMCArray"
push $P271, ""
@@ -4463,14 +4463,14 @@ An operator precedence parser.
.namespace ["HLL";"Grammar"]
-.sub "_block275" :anon :subid("95_1279589159.66297") :outer("93_1279589159.66297")
+.sub "_block275" :anon :subid("95_1280467467.13603") :outer("93_1280467467.13603")
.annotate 'line', 100
.return ()
.end
.namespace ["HLL";"Grammar"]
-.sub "_block280" :anon :subid("96_1279589159.66297") :method :outer("93_1279589159.66297")
+.sub "_block280" :anon :subid("96_1280467467.13603") :method :outer("93_1280467467.13603")
.annotate 'line', 104
.local string rx282_tgt
.local int rx282_pos
@@ -4529,7 +4529,7 @@ An operator precedence parser.
.namespace ["HLL";"Grammar"]
-.sub "_block287" :anon :subid("97_1279589159.66297") :outer("93_1279589159.66297")
+.sub "_block287" :anon :subid("97_1280467467.13603") :outer("93_1280467467.13603")
.annotate 'line', 105
find_lex $P289, "$/"
$P290 = $P289."CURSOR"()
@@ -4552,9 +4552,9 @@ An operator precedence parser.
.namespace ["HLL";"Grammar"]
-.sub "charname" :subid("98_1279589159.66297") :method :outer("11_1279589159.66297")
+.sub "charname" :subid("98_1280467467.13603") :method :outer("11_1280467467.13603")
.annotate 'line', 33
- .const 'Sub' $P310 = "100_1279589159.66297"
+ .const 'Sub' $P310 = "100_1280467467.13603"
capture_lex $P310
.local string rx301_tgt
.local int rx301_pos
@@ -4634,7 +4634,7 @@ An operator precedence parser.
.annotate 'line', 114
# rx subrule "before" subtype=zerowidth negate=
rx301_cur."!cursor_pos"(rx301_pos)
- .const 'Sub' $P310 = "100_1279589159.66297"
+ .const 'Sub' $P310 = "100_1280467467.13603"
capture_lex $P310
$P10 = rx301_cur."before"($P310)
unless $P10, rx301_fail
@@ -4661,7 +4661,7 @@ An operator precedence parser.
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__charname" :subid("99_1279589159.66297") :method
+.sub "!PREFIX__charname" :subid("99_1280467467.13603") :method
.annotate 'line', 33
$P303 = self."!PREFIX__!subrule"("integer", "")
new $P304, "ResizablePMCArray"