diff options
| author | Mattias Andrée <m@maandree.se> | 2026-01-05 14:35:26 +0100 |
|---|---|---|
| committer | Mattias Andrée <m@maandree.se> | 2026-02-23 07:53:08 +0100 |
| commit | 208594ca9f95a87f60ff052490a4d5824dc23801 (patch) | |
| tree | 915a17b51f62b289ba4115214a057610416d755e /print-syntax.c | |
| parent | Add committed-operator (diff) | |
| download | libparser-208594ca9f95a87f60ff052490a4d5824dc23801.tar.gz libparser-208594ca9f95a87f60ff052490a4d5824dc23801.tar.bz2 libparser-208594ca9f95a87f60ff052490a4d5824dc23801.tar.xz | |
Make deterministic the default
Signed-off-by: Mattias Andrée <m@maandree.se>
Diffstat (limited to 'print-syntax.c')
| -rw-r--r-- | print-syntax.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/print-syntax.c b/print-syntax.c index 3228401..07b3858 100644 --- a/print-syntax.c +++ b/print-syntax.c @@ -26,6 +26,15 @@ print_sentence(const union libparser_sentence *sentence, int indent) indent += 1; break; + case LIBPARSER_SENTENCE_TYPE_ND_ALTERNATION: + printf("("); + print_sentence(sentence->binary.left, indent + 1); + printf(" ?| \n%*.s", indent + 1, ""); + indent = print_sentence(sentence->binary.right, indent + 1); + printf(")"); + indent += 1; + break; + case LIBPARSER_SENTENCE_TYPE_ALTERNATION: printf("("); print_sentence(sentence->binary.left, indent + 1); @@ -49,6 +58,9 @@ print_sentence(const union libparser_sentence *sentence, int indent) indent += 1; break; + case LIBPARSER_SENTENCE_TYPE_ND_OPTIONAL: + printf("?"); + /* fall through */ case LIBPARSER_SENTENCE_TYPE_OPTIONAL: printf("["); indent = print_sentence(sentence->unary.sentence, indent + 1); @@ -56,6 +68,9 @@ print_sentence(const union libparser_sentence *sentence, int indent) indent += 1; break; + case LIBPARSER_SENTENCE_TYPE_ND_REPEATED: + printf("?"); + /* fall through */ case LIBPARSER_SENTENCE_TYPE_REPEATED: printf("{"); indent = print_sentence(sentence->unary.sentence, indent + 1); |
