diff options
author | Akim Demaille <akim.demaille@gmail.com> | 2021-01-10 16:28:54 +0100 |
---|---|---|
committer | Akim Demaille <akim.demaille@gmail.com> | 2021-01-10 17:02:54 +0100 |
commit | 3bcc090758845af5f013ac8aacdc29dfe43c3b51 (patch) | |
tree | 8c50caca199a13b263c2b7bc8b3e6e993e30cdc6 /examples | |
parent | 5433b0a84b1b847e2767d9074310465a5573f8a5 (diff) | |
download | bison-3bcc090758845af5f013ac8aacdc29dfe43c3b51.tar.gz |
glr: examples: fix locations
The locations are actually false: they should include the location of
the semicolon (we print statements), but they don't.
* examples/c++/glr/c++-types.test, examples/c++/glr/c++-types.yy,
* examples/c/glr/c++-types.test, examples/c/glr/c++-types.y,
* tests/cxx-type.at:
Fix locations and adjust expectations.
Diffstat (limited to 'examples')
-rw-r--r-- | examples/c++/glr/c++-types.test | 18 | ||||
-rw-r--r-- | examples/c++/glr/c++-types.yy | 2 | ||||
-rw-r--r-- | examples/c/glr/c++-types.test | 18 | ||||
-rw-r--r-- | examples/c/glr/c++-types.y | 2 |
4 files changed, 20 insertions, 20 deletions
diff --git a/examples/c++/glr/c++-types.test b/examples/c++/glr/c++-types.test index a814d363..6a00cd8c 100644 --- a/examples/c++/glr/c++-types.test +++ b/examples/c++/glr/c++-types.test @@ -25,10 +25,10 @@ T x = y; x = y; EOF run 0 "\ -1.0-4: +(z, q) -3.0-2: <declare>(T, x) -5.0-6: <init-declare>(T, x, y) -7.0-4: =(x, y)" +1.0-5: +(z, q) +3.0-3: <declare>(T, x) +5.0-7: <init-declare>(T, x, y) +7.0-5: =(x, y)" cat >input <<EOF T (x) + y; @@ -42,9 +42,9 @@ T (y y) = z + q; z + q; EOF run 0 "\ -1.0-8: +(<cast>(x, T), y) -3.0-4: <OR>(<declare>(T, x), <cast>(x, T)) -5.0-12: <OR>(<init-declare>(T, y, +(z, q)), =(<cast>(y, T), +(z, q))) -7.0-14: <error> -9.0-4: +(z, q) +1.0-9: +(<cast>(x, T), y) +3.0-5: <OR>(<declare>(T, x), <cast>(x, T)) +5.0-13: <OR>(<init-declare>(T, y, +(z, q)), =(<cast>(y, T), +(z, q))) +7.0-15: <error> +9.0-5: +(z, q) err: 7.5: syntax error, unexpected identifier, expecting '=' or '+' or ')'" diff --git a/examples/c++/glr/c++-types.yy b/examples/c++/glr/c++-types.yy index 9b649f52..975ed71f 100644 --- a/examples/c++/glr/c++-types.yy +++ b/examples/c++/glr/c++-types.yy @@ -157,7 +157,7 @@ yylex (yy::parser::value_type* lvalp, yy::parser::location_type* llocp) tok = c; lvalp = nullptr; } - llocp->end.column = colNum-1; + llocp->end.column = colNum; return tok; } } diff --git a/examples/c/glr/c++-types.test b/examples/c/glr/c++-types.test index 079538c3..a476bb86 100644 --- a/examples/c/glr/c++-types.test +++ b/examples/c/glr/c++-types.test @@ -35,13 +35,13 @@ T (y y) = z + q; z + q; EOF run 0 "\ -1.0-4: +(z, q) -3.0-2: <declare>(T, x) -5.0-6: <init-declare>(T, x, y) -7.0-4: =(x, y) -9.0-8: +(<cast>(x, T), y) -11.0-4: <OR>(<declare>(T, x), <cast>(x, T)) -13.0-12: <OR>(<init-declare>(T, y, +(z, q)), =(<cast>(y, T), +(z, q))) -15.0-14: <error> -17.0-4: +(z, q) +1.0-5: +(z, q) +3.0-3: <declare>(T, x) +5.0-7: <init-declare>(T, x, y) +7.0-5: =(x, y) +9.0-9: +(<cast>(x, T), y) +11.0-5: <OR>(<declare>(T, x), <cast>(x, T)) +13.0-13: <OR>(<init-declare>(T, y, +(z, q)), =(<cast>(y, T), +(z, q))) +15.0-15: <error> +17.0-5: +(z, q) err: 15.5: syntax error, unexpected identifier, expecting '=' or '+' or ')'" diff --git a/examples/c/glr/c++-types.y b/examples/c/glr/c++-types.y index f99e0426..46fcb171 100644 --- a/examples/c/glr/c++-types.y +++ b/examples/c/glr/c++-types.y @@ -199,7 +199,7 @@ yylex (YYSTYPE *lvalp, YYLTYPE *llocp) colNum += 1; tok = c; } - llocp->last_column = colNum-1; + llocp->last_column = colNum; return tok; } } |