# Checking GLR Parsing. -*- Autotest -*-
-# Copyright (C) 2002-2012 Free Software Foundation, Inc.
+# Copyright (C) 2002-2015 Free Software Foundation, Inc.
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
stmt : expr ';' $2 { $$ = ]$[1; }
| decl $3
- | error ';' { $$ = new_nterm ("<error>", YY_NULL, YY_NULL, YY_NULL); }
+ | error ';' { $$ = new_nterm ("<error>", YY_NULLPTR, YY_NULLPTR, YY_NULLPTR); }
| '@' { YYACCEPT; }
;
expr : ID
| TYPENAME '(' expr ')'
- { $$ = new_nterm ("<cast>(%s,%s)", ]$[3, ]$[1, YY_NULL); }
- | expr '+' expr { $$ = new_nterm ("+(%s,%s)", ]$[1, ]$[3, YY_NULL); }
- | expr '=' expr { $$ = new_nterm ("=(%s,%s)", ]$[1, ]$[3, YY_NULL); }
+ { $$ = new_nterm ("<cast>(%s,%s)", ]$[3, ]$[1, YY_NULLPTR); }
+ | expr '+' expr { $$ = new_nterm ("+(%s,%s)", ]$[1, ]$[3, YY_NULLPTR); }
+ | expr '=' expr { $$ = new_nterm ("=(%s,%s)", ]$[1, ]$[3, YY_NULLPTR); }
;
decl : TYPENAME declarator ';'
- { $$ = new_nterm ("<declare>(%s,%s)", ]$[1, ]$[2, YY_NULL); }
+ { $$ = new_nterm ("<declare>(%s,%s)", ]$[1, ]$[2, YY_NULLPTR); }
| TYPENAME declarator '=' expr ';'
{ $$ = new_nterm ("<init-declare>(%s,%s,%s)", ]$[1,
]$[2, ]$[4); }
#include <stdlib.h>
#include <string.h>
#include <stdarg.h>
+#include <assert.h>
int
main (int argc, char **argv)
{
- if (argc != 2)
- abort ();
+ assert (argc == 2);
if (!freopen (argv[1], "r", stdin))
return 3;
return yyparse ();
]AT_YYERROR_DEFINE[
-int
-yylex (]AT_LEX_FORMALS[)
+]AT_YYLEX_PROTOTYPE[
{
char buffer[256];
int c;
while (1)
{
- if (feof (stdin))
- abort ();
+ assert (!feof (stdin));
c = getchar ();
switch (c)
{
{
buffer[i++] = c;
colNum += 1;
- if (i == sizeof buffer - 1)
- abort ();
+ assert (i != sizeof buffer - 1);
c = getchar ();
}
while (isalnum (c) || c == '_');
{
colNum += 1;
tok = c;
- yylval = YY_NULL;
+ yylval = YY_NULLPTR;
}]AT_LOCATION_IF([[
yylloc.last_column = colNum-1;]])[
return tok;
[[static YYSTYPE
stmtMerge (YYSTYPE x0, YYSTYPE x1)
{
- return new_nterm ("<OR>(%s,%s)", x0, x1, YY_NULL);
+ return new_nterm ("<OR>(%s,%s)", x0, x1, YY_NULLPTR);
}
]])
)
]])
m4_define([_AT_GLR_STDERR_WITH_LOC],
-[[17.5-4: syntax error
+[[17.5: syntax error
]])
m4_define([_AT_VERBOSE_GLR_STDERR],
]])
m4_define([_AT_VERBOSE_GLR_STDERR_WITH_LOC],
-[[17.5-4: syntax error, unexpected ID, expecting '=' or '+' or ')'
+[[17.5: syntax error, unexpected ID, expecting '=' or '+' or ')'
]])
## ---------------------------------------------------- ##