@@ -669,8 +669,9 @@ def handle_alt_normal(self, node: Alt, is_gather: bool, rulename: Optional[str])
669
669
self .print ("{" )
670
670
# We have parsed successfully all the conditions for the option.
671
671
with self .indent ():
672
+ node_str = str (node ).replace ('"' , '\\ "' )
672
673
self .print (
673
- f'D(fprintf(stderr, "%*c+ { rulename } [%d-%d]: %s succeeded!\\ n", p->level, \' \' , _mark, p->mark, "{ node } "));'
674
+ f'D(fprintf(stderr, "%*c+ { rulename } [%d-%d]: %s succeeded!\\ n", p->level, \' \' , _mark, p->mark, "{ node_str } "));'
674
675
)
675
676
# Prepare to emmit the rule action and do so
676
677
if node .action and "EXTRA" in node .action :
@@ -723,8 +724,9 @@ def visit_Alt(
723
724
self .print (f"{{ // { node } " )
724
725
with self .indent ():
725
726
self ._check_for_errors ()
727
+ node_str = str (node ).replace ('"' , '\\ "' )
726
728
self .print (
727
- f'D(fprintf(stderr, "%*c> { rulename } [%d-%d]: %s\\ n", p->level, \' \' , _mark, p->mark, "{ node } "));'
729
+ f'D(fprintf(stderr, "%*c> { rulename } [%d-%d]: %s\\ n", p->level, \' \' , _mark, p->mark, "{ node_str } "));'
728
730
)
729
731
# Prepare variable declarations for the alternative
730
732
vars = self .collect_vars (node )
@@ -746,9 +748,10 @@ def visit_Alt(
746
748
self .handle_alt_normal (node , is_gather , rulename )
747
749
748
750
self .print ("p->mark = _mark;" )
751
+ node_str = str (node ).replace ('"' , '\\ "' )
749
752
self .print (
750
753
f"D(fprintf(stderr, \" %*c%s { rulename } [%d-%d]: %s failed!\\ n\" , p->level, ' ',\n "
751
- f' p->error_indicator ? "ERROR!" : "-", _mark, p->mark, "{ node } "));'
754
+ f' p->error_indicator ? "ERROR!" : "-", _mark, p->mark, "{ node_str } "));'
752
755
)
753
756
if "_cut_var" in vars :
754
757
self .print ("if (_cut_var) {" )
0 commit comments