From 65ee3593bd14540513a366796b32462fba79beba Mon Sep 17 00:00:00 2001
From: "Sven M. Hallberg" <pesco@khjk.org>
Date: Wed, 8 May 2013 18:01:55 +0200
Subject: [PATCH] compile function can't take a const parser

---
 src/backends/packrat.c | 2 +-
 src/benchmark.c        | 4 ++--
 src/compile.c          | 4 ++--
 src/hammer.h           | 4 ++--
 src/internal.h         | 2 +-
 5 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/src/backends/packrat.c b/src/backends/packrat.c
index d05129d7..1f8d1135 100644
--- a/src/backends/packrat.c
+++ b/src/backends/packrat.c
@@ -190,7 +190,7 @@ HParseResult* h_do_parse(const HParser* parser, HParseState *state) {
   }
 }
 
-int h_packrat_compile(HAllocator* mm__, const HParser* parser, const void* params) {
+int h_packrat_compile(HAllocator* mm__, HParser* parser, const void* params) {
   return 0; // No compilation necessary, and everything should work
 	    // out of the box.
 }
diff --git a/src/benchmark.c b/src/benchmark.c
index 41d9164f..8bfddefa 100644
--- a/src/benchmark.c
+++ b/src/benchmark.c
@@ -21,11 +21,11 @@
 
 */
 
-HBenchmarkResults *h_benchmark(const HParser* parser, HParserTestcase* testcases) {
+HBenchmarkResults *h_benchmark(HParser* parser, HParserTestcase* testcases) {
   return h_benchmark__m(&system_allocator, parser, testcases);
 }
 
-HBenchmarkResults *h_benchmark__m(HAllocator* mm__, const HParser* parser, HParserTestcase* testcases) {
+HBenchmarkResults *h_benchmark__m(HAllocator* mm__, HParser* parser, HParserTestcase* testcases) {
   // For now, just output the results to stderr
   HParserTestcase* tc = testcases;
   HParserBackend backend = PB_MIN;
diff --git a/src/compile.c b/src/compile.c
index 8f2286a3..4673b641 100644
--- a/src/compile.c
+++ b/src/compile.c
@@ -7,10 +7,10 @@ static HParserBackendVTable *backends[PB_MAX] = {
   &h__ll_backend_vtable,
 };
 
-int h_compile(const HParser* parser, HParserBackend backend, const void* params) {
+int h_compile(HParser* parser, HParserBackend backend, const void* params) {
   return h_compile__m(&system_allocator, parser, backend, params);
 }
 
-int h_compile__m(HAllocator* mm__, const HParser* parser, HParserBackend backend, const void* params) {
+int h_compile__m(HAllocator* mm__, HParser* parser, HParserBackend backend, const void* params) {
   return backends[backend]->compile(mm__, parser, params);
 }
diff --git a/src/hammer.h b/src/hammer.h
index e75a41fd..0138c98a 100644
--- a/src/hammer.h
+++ b/src/hammer.h
@@ -565,7 +565,7 @@ HAMMER_FN_DECL(void, h_pprint, FILE* stream, const HParsedToken* tok, int indent
  *
  * Returns -1 if grammar cannot be compiled with the specified options; 0 otherwise.
  */
-HAMMER_FN_DECL(int, h_compile, const HParser* parser, HParserBackend backend, const void* params);
+HAMMER_FN_DECL(int, h_compile, HParser* parser, HParserBackend backend, const void* params);
 
 /**
  * TODO: Document me
@@ -590,7 +590,7 @@ const uint8_t* h_bit_writer_get_buffer(HBitWriter* w, size_t *len);
 void h_bit_writer_free(HBitWriter* w);
 
 // {{{ Benchmark functions
-HAMMER_FN_DECL(HBenchmarkResults *, h_benchmark, const HParser* parser, HParserTestcase* testcases);
+HAMMER_FN_DECL(HBenchmarkResults *, h_benchmark, HParser* parser, HParserTestcase* testcases);
 void h_benchmark_report(FILE* stream, HBenchmarkResults* results);
 void h_benchmark_dump_optimized_code(FILE* stream, HBenchmarkResults* results);
 // }}}
diff --git a/src/internal.h b/src/internal.h
index 4c30eb53..341f1cdc 100644
--- a/src/internal.h
+++ b/src/internal.h
@@ -130,7 +130,7 @@ struct HParseState_ {
 };
 
 typedef struct HParserBackendVTable_ {
-  int (*compile)(HAllocator *mm__, const HParser* parser, const void* params);
+  int (*compile)(HAllocator *mm__, HParser* parser, const void* params);
   HParseResult* (*parse)(HAllocator *mm__, const HParser* parser, HParseState* parse_state);
 } HParserBackendVTable;
 
-- 
GitLab