Fix minor bugs (missing/misplaced markup)
authorNick Downing <downing.nick@gmail.com>
Sat, 30 Jun 2018 00:22:48 +0000 (10:22 +1000)
committerNick Downing <downing.nick@gmail.com>
Sat, 30 Jun 2018 00:22:48 +0000 (10:22 +1000)
src/parse.c
src/parse.y

index 5bc1e75..508848f 100644 (file)
@@ -601,7 +601,7 @@ static const yytype_uint16 yyrline[] =
      854,   857,   865,   883,   889,   893,   898,   900,   909,   974,
      997,  1007,  1016,  1020,  1024,  1028,  1032,  1036,  1040,  1054,
     1058,  1062,  1066,  1070,  1085,  1089,  1093,  1097,  1101,  1105,
-    1109,  1113,  1117,  1121,  1125,  1133,  1143,  1161
+    1109,  1113,  1117,  1121,  1125,  1133,  1143,  1164
 };
 #endif
 
@@ -1803,7 +1803,7 @@ yyreduce:
                                else
                                        build_eof_action();
                                }
- insert_after(0, "</EOFRule>");
+ insert_after(0, "</EOFRule><RegexNone />");
  insert_before(0, "<EOFRule>");
                        }
 #line 1780 "parse.c" /* yacc.c:1646  */
@@ -2027,7 +2027,7 @@ yyreduce:
                                else
                                        trailcnt = rulelen;
                                }
- insert_after(1, "<RegexEmpty />");
+ insert_after(0, "<RegexEmpty />");
                        }
 #line 2003 "parse.c" /* yacc.c:1646  */
     break;
@@ -2819,21 +2819,24 @@ yyreduce:
 
                        (yyval) = link_machines( (yyvsp[-1]), (yyval));
  insert_after(1, "</RegexSequence>");
+ insert_after(1, "</RegexCharacter>");
+ sprintf(piece_temp, "<RegexCharacter char_set=\"%d %d\">", (yyvsp[0]), (yyvsp[0]) + 1);
+ insert_before(1, piece_temp);
  insert_before(0, "<RegexSequence>");
                        }
-#line 2795 "parse.c" /* yacc.c:1646  */
+#line 2798 "parse.c" /* yacc.c:1646  */
     break;
 
   case 97:
-#line 1161 "parse.y" /* yacc.c:1646  */
+#line 1164 "parse.y" /* yacc.c:1646  */
     { (yyval) = mkstate( SYM_EPSILON ); /*}*/
  insert_before(0, "<RegexEmpty />");
  }
-#line 2803 "parse.c" /* yacc.c:1646  */
+#line 2806 "parse.c" /* yacc.c:1646  */
     break;
 
 
-#line 2807 "parse.c" /* yacc.c:1646  */
+#line 2810 "parse.c" /* yacc.c:1646  */
       default: break;
     }
  int i;
@@ -3078,7 +3081,7 @@ yyreturn:
 #endif
   return yyresult;
 }
-#line 1167 "parse.y" /* yacc.c:1906  */
+#line 1170 "parse.y" /* yacc.c:1906  */
 
 
 
index 38f213e..1cae5c8 100644 (file)
@@ -351,7 +351,7 @@ flexrule    :  '^' rule
                                else
                                        build_eof_action();
                                }
- insert_after(0, "</EOFRule>");
+ insert_after(0, "</EOFRule><RegexNone />");
  insert_before(0, "<EOFRule>");
                        }
 
@@ -555,7 +555,7 @@ rule                :  re2 re
                                else
                                        trailcnt = rulelen;
                                }
- insert_after(1, "<RegexEmpty />");
+ insert_after(0, "<RegexEmpty />");
                        }
                ;
 
@@ -1154,6 +1154,9 @@ string            :  string CHAR
 
                        $$ = link_machines( $1, $$);
  insert_after(1, "</RegexSequence>");
+ insert_after(1, "</RegexCharacter>");
+ sprintf(piece_temp, "<RegexCharacter char_set=\"%d %d\">", $2, $2 + 1);
+ insert_before(1, piece_temp);
  insert_before(0, "<RegexSequence>");
                        }