[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 01/17] gram: more debugging information
From: |
Akim Demaille |
Subject: |
[PATCH 01/17] gram: more debugging information |
Date: |
Sun, 20 Sep 2020 10:37:33 +0200 |
* src/gram.c (ritem_print): Show indices in ritem.
---
src/gram.c | 19 +++++++++++++++----
1 file changed, 15 insertions(+), 4 deletions(-)
diff --git a/src/gram.c b/src/gram.c
index cc5e54b5..58f62700 100644
--- a/src/gram.c
+++ b/src/gram.c
@@ -155,11 +155,22 @@ void
ritem_print (FILE *out)
{
fputs ("RITEM\n", out);
+ bool first = true;
for (int i = 0; i < nritems; ++i)
- if (ritem[i] >= 0)
- fprintf (out, " %s", symbols[ritem[i]]->tag);
- else
- fprintf (out, " (rule %d)\n", item_number_as_rule_number (ritem[i]));
+ {
+ if (first)
+ {
+ fprintf (out, " %d: ", i);
+ first = false;
+ }
+ if (ritem[i] >= 0)
+ fprintf (out, " %s", symbols[ritem[i]]->tag);
+ else
+ {
+ fprintf (out, " (rule %d)\n", item_number_as_rule_number
(ritem[i]));
+ first = true;
+ }
+ }
fputs ("\n\n", out);
}
--
2.28.0
- [PATCH 00/17] RFC: multiple start symbols, Akim Demaille, 2020/09/20
- [PATCH 01/17] gram: more debugging information,
Akim Demaille <=
- [PATCH 02/17] reader: get ready to create several initial rules, Akim Demaille, 2020/09/20
- [PATCH 03/17] parser: expose a list of symbols, Akim Demaille, 2020/09/20
- [PATCH 04/17] regen, Akim Demaille, 2020/09/20
- [PATCH 05/17] multistart: turn start symbols into rules on $accept, Akim Demaille, 2020/09/20
- [PATCH 06/17] regen, Akim Demaille, 2020/09/20
- [PATCH 07/17] multistart: adjust computation of initial core and adjust reports, Akim Demaille, 2020/09/20
- [PATCH 08/17] multistart: also check the HTML report, Akim Demaille, 2020/09/20
- [PATCH 09/17] multistart: pass the list of start symbols to the backend, Akim Demaille, 2020/09/20
- [PATCH 10/17] multistart: equip yacc.c, Akim Demaille, 2020/09/20
- [PATCH 11/17] multistart: toy with it in lexcalc, Akim Demaille, 2020/09/20