diff --git a/src/parsers/ignore.c b/src/parsers/ignore.c index e6768c1c8fa9fd4225adbb67c5a5d37e9eaeb07b..62f45edf4ee7e703d54136ed293a494cf5b7930a 100644 --- a/src/parsers/ignore.c +++ b/src/parsers/ignore.c @@ -23,7 +23,20 @@ static bool ignore_isValidCF(void *env) { static HCFChoice* desugar_ignore(HAllocator *mm__, void *env) { HParser *p = (HParser*)env; - return (h_desugar(mm__, p)); + + HCFChoice *ret = h_new(HCFChoice, 1); + HCFChoice *a = h_desugar(mm__, p); + + ret->type = HCF_CHOICE; + ret->seq = h_new(HCFSequence*, 2); + ret->seq[0] = h_new(HCFSequence, 1); + ret->seq[0]->items = h_new(HCFChoice*, 2); + ret->seq[0]->items[0] = a; + ret->seq[0]->items[1] = NULL; + ret->seq[1] = NULL; + ret->reshape = h_act_ignore; + + return ret; } static bool h_svm_action_pop(HArena *arena, HSVMContext *ctx, void* arg) {