parse.y: fix NODE_REGX dump

This commit is contained in:
fn ⌃ ⌥
2022-10-18 20:56:00 -07:00
parent 5c2f3f72a4
commit 6ba44f64d5
2 changed files with 24 additions and 8 deletions
+12 -4
View File
@@ -7603,20 +7603,28 @@ mrb_parser_dump(mrb_state *mrb, node *tree, int offset)
break;
case NODE_REGX:
printf("NODE_REGX /%s/%s\n", (char*)tree->car, (char*)tree->cdr);
printf("NODE_REGX /%s/\n", (char*)tree->car);
if (tree->cdr->car) {
dump_prefix(tree, offset+1);
printf("opt: %s\n", (char*)tree->cdr->car);
}
if (tree->cdr->cdr) {
dump_prefix(tree, offset+1);
printf("enc: %s\n", (char*)tree->cdr->cdr);
}
break;
case NODE_DREGX:
printf("NODE_DREGX:\n");
dump_recur(mrb, tree->car, offset+1);
dump_prefix(tree, offset);
dump_prefix(tree, offset+1);
printf("tail: %s\n", (char*)tree->cdr->cdr->car);
if (tree->cdr->cdr->cdr->car) {
dump_prefix(tree, offset);
dump_prefix(tree, offset+1);
printf("opt: %s\n", (char*)tree->cdr->cdr->cdr->car);
}
if (tree->cdr->cdr->cdr->cdr) {
dump_prefix(tree, offset);
dump_prefix(tree, offset+1);
printf("enc: %s\n", (char*)tree->cdr->cdr->cdr->cdr);
}
break;
+12 -4
View File
@@ -13799,20 +13799,28 @@ mrb_parser_dump(mrb_state *mrb, node *tree, int offset)
break;
case NODE_REGX:
printf("NODE_REGX /%s/%s\n", (char*)tree->car, (char*)tree->cdr);
printf("NODE_REGX /%s/\n", (char*)tree->car);
if (tree->cdr->car) {
dump_prefix(tree, offset+1);
printf("opt: %s\n", (char*)tree->cdr->car);
}
if (tree->cdr->cdr) {
dump_prefix(tree, offset+1);
printf("enc: %s\n", (char*)tree->cdr->cdr);
}
break;
case NODE_DREGX:
printf("NODE_DREGX:\n");
dump_recur(mrb, tree->car, offset+1);
dump_prefix(tree, offset);
dump_prefix(tree, offset+1);
printf("tail: %s\n", (char*)tree->cdr->cdr->car);
if (tree->cdr->cdr->cdr->car) {
dump_prefix(tree, offset);
dump_prefix(tree, offset+1);
printf("opt: %s\n", (char*)tree->cdr->cdr->cdr->car);
}
if (tree->cdr->cdr->cdr->cdr) {
dump_prefix(tree, offset);
dump_prefix(tree, offset+1);
printf("enc: %s\n", (char*)tree->cdr->cdr->cdr->cdr);
}
break;