home: hub: minipeg

Download patch

ref: 84ad7eaf3508c62b534b9c940afdd1362ca81e92
parent: 4e9111b5af69e033c9dc48d13613911f014f9e51
author: Andrew Chambers <ac@acha.ninja>
date: Mon Apr 11 09:25:45 CDT 2022

Respect the -P flag.

--- a/minipeg.c
+++ b/minipeg.c
@@ -27,7 +27,7 @@
 #include <string.h>
 #include <unistd.h>
 #line 0 "version.h"
-#define MINIPEG_VERSION "f0adf43"
+#define MINIPEG_VERSION "4e9111b"
 #line 0 "tree.h"
 
 enum { Unknown= 0, Rule, Variable, Name, Dot, Character, String, Class, Action, Inline, Predicate, Error, Alternate, Sequence, PeekFor, PeekNot, Query, Star, Plus };
@@ -2793,8 +2793,11 @@
 
   Rule_compile_c_header();
 
-  for (; headers;  headers= headers->next)
-    fprintf(output, "#line %i \"%s\"\n%s\n", headers->line, fileName, headers->text);
+  for (; headers;  headers= headers->next) {
+    if (!nolinesFlag)
+      fprintf(output, "#line %i \"%s\"\n", headers->line, fileName);
+    fprintf(output, "%s\n", headers->text);
+  }
 
   if (rules)
     Rule_compile_c(rules, nolinesFlag);
--- a/peg.peg
+++ b/peg.peg
@@ -282,8 +282,11 @@
 
   Rule_compile_c_header();
 
-  for (; headers;  headers= headers->next)
-    fprintf(output, "#line %i \"%s\"\n%s\n", headers->line, fileName, headers->text);
+  for (; headers;  headers= headers->next) {
+    if (!nolinesFlag)
+      fprintf(output, "#line %i \"%s\"\n", headers->line, fileName);
+    fprintf(output, "%s\n", headers->text);
+  }
 
   if (rules)
     Rule_compile_c(rules, nolinesFlag);