diff --git a/src/cfgrammar.c b/src/cfgrammar.c index 0c51589ad0cf556f8837dd7a4f9accae1e11c813..bc7b3582dd03d177143c2217cc48764736403710 100644 --- a/src/cfgrammar.c +++ b/src/cfgrammar.c @@ -595,7 +595,7 @@ static void stringset_extend(HCFGrammar *g, HStringMap *ret, } -static void pprint_char(FILE *f, char c) +void h_pprint_char(FILE *f, char c) { switch(c) { case '"': fputs("\\\"", f); break; @@ -619,7 +619,7 @@ static void pprint_charset_char(FILE *f, char c) case '"': fputc(c, f); break; case '-': fputs("\\-", f); break; case ']': fputs("\\-", f); break; - default: pprint_char(f, c); + default: h_pprint_char(f, c); } } @@ -667,7 +667,7 @@ static HCFChoice **pprint_string(FILE *f, HCFChoice **x) for(; *x; x++) { if((*x)->type != HCF_CHAR) break; - pprint_char(f, (*x)->chr); + h_pprint_char(f, (*x)->chr); } fputc('"', f); return x; @@ -678,7 +678,7 @@ void h_pprint_symbol(FILE *f, const HCFGrammar *g, const HCFChoice *x) switch(x->type) { case HCF_CHAR: fputc('"', f); - pprint_char(f, x->chr); + h_pprint_char(f, x->chr); fputc('"', f); break; case HCF_END: diff --git a/src/cfgrammar.h b/src/cfgrammar.h index 6aba29cc9e1e261cf31b8d5ea2becd22079d2b55..a5de4d6b4ddea202fa8ff12afc9d7fe27fcbcbb6 100644 --- a/src/cfgrammar.h +++ b/src/cfgrammar.h @@ -93,3 +93,4 @@ void h_pprint_sequence(FILE *f, const HCFGrammar *g, const HCFSequence *seq); void h_pprint_symbol(FILE *f, const HCFGrammar *g, const HCFChoice *x); void h_pprint_symbolset(FILE *file, const HCFGrammar *g, const HHashSet *set, int indent); void h_pprint_stringset(FILE *file, const HStringMap *set, int indent); +void h_pprint_char(FILE *file, char c);