From 92f2eecf6c8ef971edba87753154ec38f612eace Mon Sep 17 00:00:00 2001
From: Dan Hirsch <thequux@upstandinghackers.com>
Date: Mon, 27 May 2013 08:31:15 +0200
Subject: [PATCH] Remove unneeded desugaring code.

---
 src/desugar.c               | 2 +-
 src/parsers/unimplemented.c | 6 ------
 2 files changed, 1 insertion(+), 7 deletions(-)

diff --git a/src/desugar.c b/src/desugar.c
index ce87ca32..a613644e 100644
--- a/src/desugar.c
+++ b/src/desugar.c
@@ -8,7 +8,7 @@ HCFChoice *h_desugar(HAllocator *mm__, HCFStack *stk__, const HParser *parser) {
     if (nstk__ == NULL) {
       nstk__ = h_cfstack_new(mm__);
     }
-    // we're going to do something naughty and cast away the const to memoize
+    assert(parser->vtable->desugar != NULL);
     parser->vtable->desugar(mm__, nstk__, parser->env);
     ((HParser *)parser)->desugared = nstk__->last_completed;
     if (stk__ == NULL)
diff --git a/src/parsers/unimplemented.c b/src/parsers/unimplemented.c
index 18255ac2..7c3c6671 100644
--- a/src/parsers/unimplemented.c
+++ b/src/parsers/unimplemented.c
@@ -12,16 +12,10 @@ static HParseResult* parse_unimplemented(void* env, HParseState *state) {
   return &result;
 }
 
-static HCFChoice* desugar_unimplemented(HAllocator *mm__, HCFStack *stk__, void *env) {
-  assert_message(0, "'h_unimplemented' is not context-free, can't be desugared");
-  return NULL;
-}
-
 static const HParserVtable unimplemented_vt = {
   .parse = parse_unimplemented,
   .isValidRegular = h_false,
   .isValidCF = h_false,
-  .desugar = desugar_unimplemented,
   .compile_to_rvm = h_not_regular,
 };
 
-- 
GitLab