glr.c: example: several improvements

* examples/c/glr/c++-types.y (node_print): New.
Use YY_LOCATION_PRINT instead of duplicating it.
And actually use it in the action instead of badly duplicating it.
(main): Add proper option support.
* examples/c/glr/c++-types.test: Adjust expectations on locations.
* examples/c++/glr/c++-types.yy: Fix bad iteration.
This commit is contained in:
Akim Demaille
2021-01-01 18:19:12 +01:00
parent 83f2eb3737
commit 5a4e606275
4 changed files with 98 additions and 61 deletions

View File

@@ -192,11 +192,11 @@ main (int argc, char **argv)
bool ran = false;
for (int i = 1; i < argc; ++i)
// Enable parse traces on option -p.
if (strcmp (argv[1], "-p") == 0)
if (strcmp (argv[i], "-p") == 0)
parse.set_debug_level (1);
else
{
int status = process (parse, argv[1]);
int status = process (parse, argv[i]);
ran = true;
if (!status)
return status;