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: (T, x) -5.0-6: (T, x, y) -7.0-4: =(x, y)" +1.0-5: +(z, q) +3.0-3: (T, x) +5.0-7: (T, x, y) +7.0-5: =(x, y)" cat >input <(x, T), y) -3.0-4: ((T, x), (x, T)) -5.0-12: ((T, y, +(z, q)), =((y, T), +(z, q))) -7.0-14: -9.0-4: +(z, q) +1.0-9: +((x, T), y) +3.0-5: ((T, x), (x, T)) +5.0-13: ((T, y, +(z, q)), =((y, T), +(z, q))) +7.0-15: +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: (T, x) -5.0-6: (T, x, y) -7.0-4: =(x, y) -9.0-8: +((x, T), y) -11.0-4: ((T, x), (x, T)) -13.0-12: ((T, y, +(z, q)), =((y, T), +(z, q))) -15.0-14: -17.0-4: +(z, q) +1.0-5: +(z, q) +3.0-3: (T, x) +5.0-7: (T, x, y) +7.0-5: =(x, y) +9.0-9: +((x, T), y) +11.0-5: ((T, x), (x, T)) +13.0-13: ((T, y, +(z, q)), =((y, T), +(z, q))) +15.0-15: +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; } } diff --git a/tests/cxx-type.at b/tests/cxx-type.at index 64568ae9..3181e47a 100644 --- a/tests/cxx-type.at +++ b/tests/cxx-type.at @@ -208,7 +208,7 @@ main (int argc, char **argv) tok = c; yylval = YY_NULLPTR; }]AT_LOCATION_IF([[ - yylloc.last_column = colNum-1;]])[ + yylloc.last_column = colNum;]])[ return tok; } } @@ -344,15 +344,15 @@ m4_define([_AT_RESOLVED_GLR_OUTPUT], ]]) m4_define([_AT_RESOLVED_GLR_OUTPUT_WITH_LOC], -[[3.0-3.5: +(z,q) -5.0-5.3: (T,x) -7.0-7.7: (T,x,y) -9.0-9.5: =(x,y) -11.0-11.9: +((x,T),y) -13.0-13.5: (T,x) -15.0-15.13: (T,y,+(z,q)) -17.0-17.15: -19.0-19.5: +(z,q) +[[3.0-3.6: +(z,q) +5.0-5.4: (T,x) +7.0-7.8: (T,x,y) +9.0-9.6: =(x,y) +11.0-11.10: +((x,T),y) +13.0-13.6: (T,x) +15.0-15.14: (T,y,+(z,q)) +17.0-17.16: +19.0-19.6: +(z,q) ]]) m4_define([_AT_AMBIG_GLR_OUTPUT], @@ -368,15 +368,15 @@ m4_define([_AT_AMBIG_GLR_OUTPUT], ]]) m4_define([_AT_AMBIG_GLR_OUTPUT_WITH_LOC], -[[3.0-3.5: +(z,q) -5.0-5.3: (T,x) -7.0-7.7: (T,x,y) -9.0-9.5: =(x,y) -11.0-11.9: +((x,T),y) -13.0-13.5: ((T,x),(x,T)) -15.0-15.13: ((T,y,+(z,q)),=((y,T),+(z,q))) -17.0-17.15: -19.0-19.5: +(z,q) +[[3.0-3.6: +(z,q) +5.0-5.4: (T,x) +7.0-7.8: (T,x,y) +9.0-9.6: =(x,y) +11.0-11.10: +((x,T),y) +13.0-13.6: ((T,x),(x,T)) +15.0-15.14: ((T,y,+(z,q)),=((y,T),+(z,q))) +17.0-17.16: +19.0-19.6: +(z,q) ]]) m4_define([_AT_GLR_STDERR],