mirror of
https://github.com/ThomasDickey/byacc-snapshots.git
synced 2026-01-26 13:14:29 +00:00
snapshot of project "byacc", label t20140321-gcov
This commit is contained in:
parent
fea4f2c9ec
commit
96df580920
65
CHANGES
65
CHANGES
@ -1,3 +1,68 @@
|
||||
2014-03-19 Tom.Shields
|
||||
|
||||
* output.c: rename MAXSHORT to MAXYYINT
|
||||
|
||||
2014-03-18 Tom.Shields
|
||||
|
||||
* yaccpar.skel: skeleton with btyacc additions
|
||||
|
||||
* NOTES-btyacc-Changes: byacc-btyacc-20140323
|
||||
|
||||
* defs.h:
|
||||
several changes to help decouple the use of 'short' as the type of value
|
||||
used in yacc parsers.
|
||||
|
||||
* NOTES-btyacc-Disposition: byacc-btyacc-20140323
|
||||
|
||||
2014-03-17 Tom.Shields
|
||||
|
||||
* skel2c, yaccpar.skel, yaccpar.skel.old: RCS_BASE
|
||||
|
||||
* configure.in: add --with-max-table-size and --enable-btyacc options
|
||||
|
||||
2014-03-16 Tom.Shields
|
||||
|
||||
* main.c: use Value_t rather than short
|
||||
|
||||
2014-02-18 Tom.Shields
|
||||
|
||||
* lr0.c, graph.c: use Value_t rather than short
|
||||
|
||||
* closure.c: use Value_t rather than short
|
||||
ifdef'd forward-reference prototypes to match ifdef'ing of the actual functions
|
||||
|
||||
* lalr.c: rename MAXSHORT to MAXYYINT
|
||||
|
||||
2014-01-01 Thomas E. Dickey <dickey@invisible-island.net>
|
||||
|
||||
* yacc.1: document %token-table, improve presentation of double-quotes
|
||||
|
||||
* VERSION: bump
|
||||
|
||||
* output.c, skeleton.c:
|
||||
amend the last change so that yytname is #define'd as needed rather than
|
||||
permanent - to avoid breaking cproto for instance.
|
||||
|
||||
2014-01-01 Christos.Zoulas
|
||||
|
||||
* output.c, defs.h, main.c, reader.c, skeleton.c:
|
||||
changes to build ntpd using byacc:
|
||||
- rename yyname[] to yytname[]
|
||||
- add YYTRANSLATE() macro
|
||||
- recognize bison's %token-table declaration
|
||||
|
||||
2014-01-01 Thomas E. Dickey <dickey@invisible-island.net>
|
||||
|
||||
* configure: regen
|
||||
|
||||
* yacc.1: s/EE/XE/ to work around groff bug on Debian 6
|
||||
|
||||
* makefile.in: use CF_MAKE_DOCS
|
||||
|
||||
* aclocal.m4: add CF_MAKE_DOCS
|
||||
|
||||
* configure.in: use CF_MAKE_DOCS
|
||||
|
||||
2013-12-26 Thomas E. Dickey <dickey@invisible-island.net>
|
||||
|
||||
* config.guess: 2013-11-29
|
||||
|
||||
85
MANIFEST
85
MANIFEST
@ -1,4 +1,4 @@
|
||||
MANIFEST for byacc, version t20140101
|
||||
MANIFEST for byacc, version t20140321-gcov
|
||||
--------------------------------------------------------------------------------
|
||||
MANIFEST this file
|
||||
ACKNOWLEDGEMENTS original version of byacc - 1993
|
||||
@ -58,76 +58,151 @@ package/pkgsrc/PLIST scripts from NetBSD pkgsrc, for test-builds
|
||||
package/pkgsrc/distinfo scripts from NetBSD pkgsrc, for test-builds
|
||||
test subdirectory
|
||||
test/README describe contents of "test" subdirectory
|
||||
test/calc.error reference output for testing
|
||||
test/calc.output "-v" output from byacc
|
||||
test/calc.tab.c c-file for calc.y
|
||||
test/calc.tab.h header-file for calc.y
|
||||
test/calc.y example from VMS freeware version of byacc
|
||||
test/calc1.error reference output for testing
|
||||
test/calc1.output output from calc1.y
|
||||
test/calc1.tab.c output from calc1.y
|
||||
test/calc1.tab.h output from calc1.y
|
||||
test/calc1.y advanced example from Steve Johnson's paper.
|
||||
test/calc2.error reference output for testing
|
||||
test/calc2.output test-cases and reference files for %lex-param / %parse-param
|
||||
test/calc2.tab.c test-cases and reference files for %lex-param / %parse-param
|
||||
test/calc2.tab.h test-cases and reference files for %lex-param / %parse-param
|
||||
test/calc2.y test-cases and reference files for %lex-param / %parse-param
|
||||
test/calc3.error reference output for testing
|
||||
test/calc3.output test-cases and reference files for %lex-param / %parse-param
|
||||
test/calc3.tab.c test-cases and reference files for %lex-param / %parse-param
|
||||
test/calc3.tab.h test-cases and reference files for %lex-param / %parse-param
|
||||
test/calc3.y test-cases and reference files for %lex-param / %parse-param
|
||||
test/code_calc.code.c reference output for testing
|
||||
test/code_calc.error reference output for testing
|
||||
test/code_calc.output reference output for testing
|
||||
test/code_calc.tab.c reference output for testing
|
||||
test/code_calc.tab.h reference output for testing
|
||||
test/code_calc.y reference input for testing
|
||||
test/code_error.code.c reference output for testing
|
||||
test/code_error.error reference output for testing
|
||||
test/code_error.output reference output for testing
|
||||
test/code_error.tab.c reference output for testing
|
||||
test/code_error.tab.h reference output for testing
|
||||
test/code_error.y reference input for testing
|
||||
test/err_syntax1.error reference output for testing
|
||||
test/err_syntax1.output reference output for testing
|
||||
test/err_syntax1.tab.c reference output for testing
|
||||
test/err_syntax1.tab.h reference output for testing
|
||||
test/err_syntax1.y test-case with syntax error (and nonprinting character)
|
||||
test/err_syntax2.error reference output for testing
|
||||
test/err_syntax2.output reference output for testing
|
||||
test/err_syntax2.tab.c reference output for testing
|
||||
test/err_syntax2.tab.h reference output for testing
|
||||
test/err_syntax2.y testcase for unterminated_comment()
|
||||
test/err_syntax3.error reference output for testing
|
||||
test/err_syntax3.output reference output for testing
|
||||
test/err_syntax3.tab.c reference output for testing
|
||||
test/err_syntax3.tab.h reference output for testing
|
||||
test/err_syntax3.y testcase for unterminated_string()
|
||||
test/err_syntax4.error reference output for testing
|
||||
test/err_syntax4.output reference output for testing
|
||||
test/err_syntax4.tab.c reference output for testing
|
||||
test/err_syntax4.tab.h reference output for testing
|
||||
test/err_syntax4.y testcase for unterminated_text()
|
||||
test/err_syntax5.error reference output for testing
|
||||
test/err_syntax5.output reference output for testing
|
||||
test/err_syntax5.tab.c reference output for testing
|
||||
test/err_syntax5.tab.h reference output for testing
|
||||
test/err_syntax5.y testcase for unterminated_union()
|
||||
test/err_syntax6.error reference output for testing
|
||||
test/err_syntax6.output reference output for testing
|
||||
test/err_syntax6.tab.c reference output for testing
|
||||
test/err_syntax6.tab.h reference output for testing
|
||||
test/err_syntax6.y testcase for illegal_tag()
|
||||
test/err_syntax7.error reference output for testing
|
||||
test/err_syntax7.output reference output for testing
|
||||
test/err_syntax7.tab.c reference output for testing
|
||||
test/err_syntax7.tab.h reference output for testing
|
||||
test/err_syntax7.y testcase for illegal_character()
|
||||
test/err_syntax7a.error reference output for testing
|
||||
test/err_syntax7a.output reference output for testing
|
||||
test/err_syntax7a.tab.c reference output for testing
|
||||
test/err_syntax7a.tab.h reference output for testing
|
||||
test/err_syntax7a.y testcase for illegal_character()
|
||||
test/err_syntax7b.error reference output for testing
|
||||
test/err_syntax7b.output reference output for testing
|
||||
test/err_syntax7b.tab.c reference output for testing
|
||||
test/err_syntax7b.tab.h reference output for testing
|
||||
test/err_syntax7b.y testcase for illegal_character()
|
||||
test/err_syntax8.error reference output for testing
|
||||
test/err_syntax8.output reference output for testing
|
||||
test/err_syntax8.tab.c reference output for testing
|
||||
test/err_syntax8.tab.h reference output for testing
|
||||
test/err_syntax8.y testcase for used_reserved()
|
||||
test/err_syntax8a.error reference output for testing
|
||||
test/err_syntax8a.output reference output for testing
|
||||
test/err_syntax8a.tab.c reference output for testing
|
||||
test/err_syntax8a.tab.h reference output for testing
|
||||
test/err_syntax8a.y testcase for used_reserved()
|
||||
test/err_syntax9.error reference output for testing
|
||||
test/err_syntax9.output reference output for testing
|
||||
test/err_syntax9.tab.c reference output for testing
|
||||
test/err_syntax9.tab.h reference output for testing
|
||||
test/err_syntax9.y testcase for tokenized_start()
|
||||
test/error.error reference output for testing
|
||||
test/error.output original version of byacc - 1993
|
||||
test/error.tab.c original version of byacc - 1993
|
||||
test/error.tab.h original version of byacc - 1993
|
||||
test/error.y original version of byacc - 1993
|
||||
test/ftp.output original version of byacc - 1993
|
||||
test/ftp.tab.c original version of byacc - 1993
|
||||
test/ftp.tab.h original version of byacc - 1993
|
||||
test/ftp.y original version of byacc - 1993
|
||||
test/grammar.dot generated dot-file
|
||||
test/grammar.error reference output for testing
|
||||
test/grammar.output "-v" output from grammar.y
|
||||
test/grammar.tab.c c-file for grammar.y
|
||||
test/grammar.tab.h h-file for grammar.y
|
||||
test/grammar.y grammar from cproto
|
||||
test/pure_calc.error reference output for testing
|
||||
test/pure_calc.output reference output for testing
|
||||
test/pure_calc.tab.c reference output for testing
|
||||
test/pure_calc.tab.h reference output for testing
|
||||
test/pure_calc.y reference input for testing
|
||||
test/pure_error.error reference output for testing
|
||||
test/pure_error.output reference output for testing
|
||||
test/pure_error.tab.c reference output for testing
|
||||
test/pure_error.tab.h reference output for testing
|
||||
test/pure_error.y reference input for testing
|
||||
test/quote_calc-s.error reference output for testing
|
||||
test/quote_calc-s.output test reference with -s option
|
||||
test/quote_calc-s.tab.c test reference with -s option
|
||||
test/quote_calc-s.tab.h test reference with -s option
|
||||
test/quote_calc.error reference output for testing
|
||||
test/quote_calc.output test-reference for %token using quoted name
|
||||
test/quote_calc.tab.c test-reference for %token using quoted name
|
||||
test/quote_calc.tab.h test-reference for %token using quoted name
|
||||
test/quote_calc.y test-case for %token using quoted name
|
||||
test/quote_calc2-s.error reference output for testing
|
||||
test/quote_calc2-s.output test reference with -s option
|
||||
test/quote_calc2-s.tab.c test reference with -s option
|
||||
test/quote_calc2-s.tab.h test reference with -s option
|
||||
test/quote_calc2.error reference output for testing
|
||||
test/quote_calc2.output test-reference for %token using quoted name
|
||||
test/quote_calc2.tab.c test-reference for %token using quoted name
|
||||
test/quote_calc2.tab.h test-reference for %token using quoted name
|
||||
test/quote_calc2.y test-case for %token using quoted name
|
||||
test/quote_calc3-s.error reference output for testing
|
||||
test/quote_calc3-s.output test reference with -s option
|
||||
test/quote_calc3-s.tab.c test reference with -s option
|
||||
test/quote_calc3-s.tab.h test reference with -s option
|
||||
test/quote_calc3.error reference output for testing
|
||||
test/quote_calc3.output test-reference for %token using quoted name
|
||||
test/quote_calc3.tab.c test-reference for %token using quoted name
|
||||
test/quote_calc3.tab.h test-reference for %token using quoted name
|
||||
test/quote_calc3.y test-case for %token using quoted name
|
||||
test/quote_calc4-s.error reference output for testing
|
||||
test/quote_calc4-s.output test reference with -s option
|
||||
test/quote_calc4-s.tab.c test reference with -s option
|
||||
test/quote_calc4-s.tab.h test reference with -s option
|
||||
test/quote_calc4.error reference output for testing
|
||||
test/quote_calc4.output test-reference for %token using quoted name
|
||||
test/quote_calc4.tab.c test-reference for %token using quoted name
|
||||
test/quote_calc4.tab.h test-reference for %token using quoted name
|
||||
|
||||
0
test/calc.error
Normal file
0
test/calc.error
Normal file
2
test/calc1.error
Normal file
2
test/calc1.error
Normal file
@ -0,0 +1,2 @@
|
||||
YACC: 2 rules never reduced
|
||||
YACC: 18 shift/reduce conflicts, 26 reduce/reduce conflicts.
|
||||
0
test/calc2.error
Normal file
0
test/calc2.error
Normal file
0
test/calc3.error
Normal file
0
test/calc3.error
Normal file
0
test/code_calc.error
Normal file
0
test/code_calc.error
Normal file
0
test/code_error.error
Normal file
0
test/code_error.error
Normal file
3
test/err_syntax1.error
Normal file
3
test/err_syntax1.error
Normal file
@ -0,0 +1,3 @@
|
||||
YACC: e - line 1 of "./test/err_syntax1.y", syntax error
|
||||
?% {
|
||||
^
|
||||
0
test/err_syntax1.output
Normal file
0
test/err_syntax1.output
Normal file
13
test/err_syntax1.tab.c
Normal file
13
test/err_syntax1.tab.c
Normal file
@ -0,0 +1,13 @@
|
||||
#ifndef lint
|
||||
static const char yysccsid[] = "@(#)yaccpar 1.9 (Berkeley) 02/21/93";
|
||||
#endif
|
||||
|
||||
#define YYBYACC 1
|
||||
#define YYMAJOR 1
|
||||
#define YYMINOR 9
|
||||
|
||||
#define YYEMPTY (-1)
|
||||
#define yyclearin (yychar = YYEMPTY)
|
||||
#define yyerrok (yyerrflag = 0)
|
||||
#define YYRECOVERING() (yyerrflag != 0)
|
||||
|
||||
0
test/err_syntax1.tab.h
Normal file
0
test/err_syntax1.tab.h
Normal file
28
test/err_syntax1.y
Normal file
28
test/err_syntax1.y
Normal file
@ -0,0 +1,28 @@
|
||||
% {
|
||||
int yylex(void);
|
||||
static void yyerror(const char *);
|
||||
%}
|
||||
%%
|
||||
S: error
|
||||
%%
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
int
|
||||
main(void)
|
||||
{
|
||||
printf("yyparse() = %d\n", yyparse());
|
||||
return 0;
|
||||
}
|
||||
|
||||
int
|
||||
yylex(void)
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
|
||||
static void
|
||||
yyerror(const char* s)
|
||||
{
|
||||
printf("%s\n", s);
|
||||
}
|
||||
3
test/err_syntax2.error
Normal file
3
test/err_syntax2.error
Normal file
@ -0,0 +1,3 @@
|
||||
YACC: e - line 1 of "./test/err_syntax2.y", unmatched /*
|
||||
%{ /*
|
||||
^
|
||||
0
test/err_syntax2.output
Normal file
0
test/err_syntax2.output
Normal file
13
test/err_syntax2.tab.c
Normal file
13
test/err_syntax2.tab.c
Normal file
@ -0,0 +1,13 @@
|
||||
#ifndef lint
|
||||
static const char yysccsid[] = "@(#)yaccpar 1.9 (Berkeley) 02/21/93";
|
||||
#endif
|
||||
|
||||
#define YYBYACC 1
|
||||
#define YYMAJOR 1
|
||||
#define YYMINOR 9
|
||||
|
||||
#define YYEMPTY (-1)
|
||||
#define yyclearin (yychar = YYEMPTY)
|
||||
#define yyerrok (yyerrflag = 0)
|
||||
#define YYRECOVERING() (yyerrflag != 0)
|
||||
|
||||
0
test/err_syntax2.tab.h
Normal file
0
test/err_syntax2.tab.h
Normal file
28
test/err_syntax2.y
Normal file
28
test/err_syntax2.y
Normal file
@ -0,0 +1,28 @@
|
||||
%{ /*
|
||||
int yylex(void);
|
||||
static void yyerror(const char *);
|
||||
%}
|
||||
%%
|
||||
S: error
|
||||
%%
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
int
|
||||
main(void)
|
||||
{
|
||||
printf("yyparse() = %d\n", yyparse());
|
||||
return 0;
|
||||
}
|
||||
|
||||
int
|
||||
yylex(void)
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
|
||||
static void
|
||||
yyerror(const char* s)
|
||||
{
|
||||
printf("%s\n", s);
|
||||
}
|
||||
3
test/err_syntax3.error
Normal file
3
test/err_syntax3.error
Normal file
@ -0,0 +1,3 @@
|
||||
YACC: e - line 6 of "./test/err_syntax3.y", unterminated string
|
||||
%token <text> '(' '*' '&
|
||||
^
|
||||
0
test/err_syntax3.output
Normal file
0
test/err_syntax3.output
Normal file
13
test/err_syntax3.tab.c
Normal file
13
test/err_syntax3.tab.c
Normal file
@ -0,0 +1,13 @@
|
||||
#ifndef lint
|
||||
static const char yysccsid[] = "@(#)yaccpar 1.9 (Berkeley) 02/21/93";
|
||||
#endif
|
||||
|
||||
#define YYBYACC 1
|
||||
#define YYMAJOR 1
|
||||
#define YYMINOR 9
|
||||
|
||||
#define YYEMPTY (-1)
|
||||
#define yyclearin (yychar = YYEMPTY)
|
||||
#define yyerrok (yyerrflag = 0)
|
||||
#define YYRECOVERING() (yyerrflag != 0)
|
||||
|
||||
0
test/err_syntax3.tab.h
Normal file
0
test/err_syntax3.tab.h
Normal file
31
test/err_syntax3.y
Normal file
31
test/err_syntax3.y
Normal file
@ -0,0 +1,31 @@
|
||||
%{
|
||||
int yylex(void);
|
||||
static void yyerror(const char *);
|
||||
%}
|
||||
|
||||
%token <text> '(' '*' '&
|
||||
|
||||
%%
|
||||
S: error
|
||||
%%
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
int
|
||||
main(void)
|
||||
{
|
||||
printf("yyparse() = %d\n", yyparse());
|
||||
return 0;
|
||||
}
|
||||
|
||||
int
|
||||
yylex(void)
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
|
||||
static void
|
||||
yyerror(const char* s)
|
||||
{
|
||||
printf("%s\n", s);
|
||||
}
|
||||
3
test/err_syntax4.error
Normal file
3
test/err_syntax4.error
Normal file
@ -0,0 +1,3 @@
|
||||
YACC: e - line 1 of "./test/err_syntax4.y", unmatched %{
|
||||
%{
|
||||
^
|
||||
0
test/err_syntax4.output
Normal file
0
test/err_syntax4.output
Normal file
13
test/err_syntax4.tab.c
Normal file
13
test/err_syntax4.tab.c
Normal file
@ -0,0 +1,13 @@
|
||||
#ifndef lint
|
||||
static const char yysccsid[] = "@(#)yaccpar 1.9 (Berkeley) 02/21/93";
|
||||
#endif
|
||||
|
||||
#define YYBYACC 1
|
||||
#define YYMAJOR 1
|
||||
#define YYMINOR 9
|
||||
|
||||
#define YYEMPTY (-1)
|
||||
#define yyclearin (yychar = YYEMPTY)
|
||||
#define yyerrok (yyerrflag = 0)
|
||||
#define YYRECOVERING() (yyerrflag != 0)
|
||||
|
||||
0
test/err_syntax4.tab.h
Normal file
0
test/err_syntax4.tab.h
Normal file
28
test/err_syntax4.y
Normal file
28
test/err_syntax4.y
Normal file
@ -0,0 +1,28 @@
|
||||
%{
|
||||
int yylex(void);
|
||||
static void yyerror(const char *);
|
||||
}
|
||||
%%
|
||||
S: error
|
||||
%%
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
int
|
||||
main(void)
|
||||
{
|
||||
printf("yyparse() = %d\n", yyparse());
|
||||
return 0;
|
||||
}
|
||||
|
||||
int
|
||||
yylex(void)
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
|
||||
static void
|
||||
yyerror(const char* s)
|
||||
{
|
||||
printf("%s\n", s);
|
||||
}
|
||||
3
test/err_syntax5.error
Normal file
3
test/err_syntax5.error
Normal file
@ -0,0 +1,3 @@
|
||||
YACC: e - line 6 of "./test/err_syntax5.y", unterminated %union declaration
|
||||
%union {
|
||||
^
|
||||
0
test/err_syntax5.output
Normal file
0
test/err_syntax5.output
Normal file
13
test/err_syntax5.tab.c
Normal file
13
test/err_syntax5.tab.c
Normal file
@ -0,0 +1,13 @@
|
||||
#ifndef lint
|
||||
static const char yysccsid[] = "@(#)yaccpar 1.9 (Berkeley) 02/21/93";
|
||||
#endif
|
||||
|
||||
#define YYBYACC 1
|
||||
#define YYMAJOR 1
|
||||
#define YYMINOR 9
|
||||
|
||||
#define YYEMPTY (-1)
|
||||
#define yyclearin (yychar = YYEMPTY)
|
||||
#define yyerrok (yyerrflag = 0)
|
||||
#define YYRECOVERING() (yyerrflag != 0)
|
||||
|
||||
0
test/err_syntax5.tab.h
Normal file
0
test/err_syntax5.tab.h
Normal file
33
test/err_syntax5.y
Normal file
33
test/err_syntax5.y
Normal file
@ -0,0 +1,33 @@
|
||||
%{
|
||||
int yylex(void);
|
||||
static void yyerror(const char *);
|
||||
%}
|
||||
|
||||
%union {
|
||||
char *str;
|
||||
int num
|
||||
|
||||
%%
|
||||
S: error
|
||||
%%
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
int
|
||||
main(void)
|
||||
{
|
||||
printf("yyparse() = %d\n", yyparse());
|
||||
return 0;
|
||||
}
|
||||
|
||||
int
|
||||
yylex(void)
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
|
||||
static void
|
||||
yyerror(const char* s)
|
||||
{
|
||||
printf("%s\n", s);
|
||||
}
|
||||
3
test/err_syntax6.error
Normal file
3
test/err_syntax6.error
Normal file
@ -0,0 +1,3 @@
|
||||
YACC: e - line 6 of "./test/err_syntax6.y", illegal tag
|
||||
%token <text) '(' '*' '&
|
||||
^
|
||||
0
test/err_syntax6.output
Normal file
0
test/err_syntax6.output
Normal file
13
test/err_syntax6.tab.c
Normal file
13
test/err_syntax6.tab.c
Normal file
@ -0,0 +1,13 @@
|
||||
#ifndef lint
|
||||
static const char yysccsid[] = "@(#)yaccpar 1.9 (Berkeley) 02/21/93";
|
||||
#endif
|
||||
|
||||
#define YYBYACC 1
|
||||
#define YYMAJOR 1
|
||||
#define YYMINOR 9
|
||||
|
||||
#define YYEMPTY (-1)
|
||||
#define yyclearin (yychar = YYEMPTY)
|
||||
#define yyerrok (yyerrflag = 0)
|
||||
#define YYRECOVERING() (yyerrflag != 0)
|
||||
|
||||
0
test/err_syntax6.tab.h
Normal file
0
test/err_syntax6.tab.h
Normal file
31
test/err_syntax6.y
Normal file
31
test/err_syntax6.y
Normal file
@ -0,0 +1,31 @@
|
||||
%{
|
||||
int yylex(void);
|
||||
static void yyerror(const char *);
|
||||
%}
|
||||
|
||||
%token <text) '(' '*' '&
|
||||
|
||||
%%
|
||||
S: error
|
||||
%%
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
int
|
||||
main(void)
|
||||
{
|
||||
printf("yyparse() = %d\n", yyparse());
|
||||
return 0;
|
||||
}
|
||||
|
||||
int
|
||||
yylex(void)
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
|
||||
static void
|
||||
yyerror(const char* s)
|
||||
{
|
||||
printf("%s\n", s);
|
||||
}
|
||||
3
test/err_syntax7.error
Normal file
3
test/err_syntax7.error
Normal file
@ -0,0 +1,3 @@
|
||||
YACC: e - line 6 of "./test/err_syntax7.y", illegal character
|
||||
%token <text> '\777'
|
||||
^
|
||||
0
test/err_syntax7.output
Normal file
0
test/err_syntax7.output
Normal file
13
test/err_syntax7.tab.c
Normal file
13
test/err_syntax7.tab.c
Normal file
@ -0,0 +1,13 @@
|
||||
#ifndef lint
|
||||
static const char yysccsid[] = "@(#)yaccpar 1.9 (Berkeley) 02/21/93";
|
||||
#endif
|
||||
|
||||
#define YYBYACC 1
|
||||
#define YYMAJOR 1
|
||||
#define YYMINOR 9
|
||||
|
||||
#define YYEMPTY (-1)
|
||||
#define yyclearin (yychar = YYEMPTY)
|
||||
#define yyerrok (yyerrflag = 0)
|
||||
#define YYRECOVERING() (yyerrflag != 0)
|
||||
|
||||
0
test/err_syntax7.tab.h
Normal file
0
test/err_syntax7.tab.h
Normal file
31
test/err_syntax7.y
Normal file
31
test/err_syntax7.y
Normal file
@ -0,0 +1,31 @@
|
||||
%{
|
||||
int yylex(void);
|
||||
static void yyerror(const char *);
|
||||
%}
|
||||
|
||||
%token <text> '\777'
|
||||
|
||||
%%
|
||||
S: error
|
||||
%%
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
int
|
||||
main(void)
|
||||
{
|
||||
printf("yyparse() = %d\n", yyparse());
|
||||
return 0;
|
||||
}
|
||||
|
||||
int
|
||||
yylex(void)
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
|
||||
static void
|
||||
yyerror(const char* s)
|
||||
{
|
||||
printf("%s\n", s);
|
||||
}
|
||||
3
test/err_syntax7a.error
Normal file
3
test/err_syntax7a.error
Normal file
@ -0,0 +1,3 @@
|
||||
YACC: e - line 6 of "./test/err_syntax7a.y", illegal character
|
||||
%token <text> '\xfff'
|
||||
^
|
||||
0
test/err_syntax7a.output
Normal file
0
test/err_syntax7a.output
Normal file
13
test/err_syntax7a.tab.c
Normal file
13
test/err_syntax7a.tab.c
Normal file
@ -0,0 +1,13 @@
|
||||
#ifndef lint
|
||||
static const char yysccsid[] = "@(#)yaccpar 1.9 (Berkeley) 02/21/93";
|
||||
#endif
|
||||
|
||||
#define YYBYACC 1
|
||||
#define YYMAJOR 1
|
||||
#define YYMINOR 9
|
||||
|
||||
#define YYEMPTY (-1)
|
||||
#define yyclearin (yychar = YYEMPTY)
|
||||
#define yyerrok (yyerrflag = 0)
|
||||
#define YYRECOVERING() (yyerrflag != 0)
|
||||
|
||||
0
test/err_syntax7a.tab.h
Normal file
0
test/err_syntax7a.tab.h
Normal file
31
test/err_syntax7a.y
Normal file
31
test/err_syntax7a.y
Normal file
@ -0,0 +1,31 @@
|
||||
%{
|
||||
int yylex(void);
|
||||
static void yyerror(const char *);
|
||||
%}
|
||||
|
||||
%token <text> '\xfff'
|
||||
|
||||
%%
|
||||
S: error
|
||||
%%
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
int
|
||||
main(void)
|
||||
{
|
||||
printf("yyparse() = %d\n", yyparse());
|
||||
return 0;
|
||||
}
|
||||
|
||||
int
|
||||
yylex(void)
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
|
||||
static void
|
||||
yyerror(const char* s)
|
||||
{
|
||||
printf("%s\n", s);
|
||||
}
|
||||
3
test/err_syntax7b.error
Normal file
3
test/err_syntax7b.error
Normal file
@ -0,0 +1,3 @@
|
||||
YACC: e - line 6 of "./test/err_syntax7b.y", illegal character
|
||||
%token <text> '\x.'
|
||||
^
|
||||
0
test/err_syntax7b.output
Normal file
0
test/err_syntax7b.output
Normal file
13
test/err_syntax7b.tab.c
Normal file
13
test/err_syntax7b.tab.c
Normal file
@ -0,0 +1,13 @@
|
||||
#ifndef lint
|
||||
static const char yysccsid[] = "@(#)yaccpar 1.9 (Berkeley) 02/21/93";
|
||||
#endif
|
||||
|
||||
#define YYBYACC 1
|
||||
#define YYMAJOR 1
|
||||
#define YYMINOR 9
|
||||
|
||||
#define YYEMPTY (-1)
|
||||
#define yyclearin (yychar = YYEMPTY)
|
||||
#define yyerrok (yyerrflag = 0)
|
||||
#define YYRECOVERING() (yyerrflag != 0)
|
||||
|
||||
0
test/err_syntax7b.tab.h
Normal file
0
test/err_syntax7b.tab.h
Normal file
31
test/err_syntax7b.y
Normal file
31
test/err_syntax7b.y
Normal file
@ -0,0 +1,31 @@
|
||||
%{
|
||||
int yylex(void);
|
||||
static void yyerror(const char *);
|
||||
%}
|
||||
|
||||
%token <text> '\x.'
|
||||
|
||||
%%
|
||||
S: error
|
||||
%%
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
int
|
||||
main(void)
|
||||
{
|
||||
printf("yyparse() = %d\n", yyparse());
|
||||
return 0;
|
||||
}
|
||||
|
||||
int
|
||||
yylex(void)
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
|
||||
static void
|
||||
yyerror(const char* s)
|
||||
{
|
||||
printf("%s\n", s);
|
||||
}
|
||||
1
test/err_syntax8.error
Normal file
1
test/err_syntax8.error
Normal file
@ -0,0 +1 @@
|
||||
YACC: e - line 6 of "./test/err_syntax8.y", illegal use of reserved symbol .
|
||||
0
test/err_syntax8.output
Normal file
0
test/err_syntax8.output
Normal file
13
test/err_syntax8.tab.c
Normal file
13
test/err_syntax8.tab.c
Normal file
@ -0,0 +1,13 @@
|
||||
#ifndef lint
|
||||
static const char yysccsid[] = "@(#)yaccpar 1.9 (Berkeley) 02/21/93";
|
||||
#endif
|
||||
|
||||
#define YYBYACC 1
|
||||
#define YYMAJOR 1
|
||||
#define YYMINOR 9
|
||||
|
||||
#define YYEMPTY (-1)
|
||||
#define yyclearin (yychar = YYEMPTY)
|
||||
#define yyerrok (yyerrflag = 0)
|
||||
#define YYRECOVERING() (yyerrflag != 0)
|
||||
|
||||
0
test/err_syntax8.tab.h
Normal file
0
test/err_syntax8.tab.h
Normal file
31
test/err_syntax8.y
Normal file
31
test/err_syntax8.y
Normal file
@ -0,0 +1,31 @@
|
||||
%{
|
||||
int yylex(void);
|
||||
static void yyerror(const char *);
|
||||
%}
|
||||
|
||||
%token . '\777'
|
||||
|
||||
%%
|
||||
S: error
|
||||
%%
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
int
|
||||
main(void)
|
||||
{
|
||||
printf("yyparse() = %d\n", yyparse());
|
||||
return 0;
|
||||
}
|
||||
|
||||
int
|
||||
yylex(void)
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
|
||||
static void
|
||||
yyerror(const char* s)
|
||||
{
|
||||
printf("%s\n", s);
|
||||
}
|
||||
1
test/err_syntax8a.error
Normal file
1
test/err_syntax8a.error
Normal file
@ -0,0 +1 @@
|
||||
YACC: e - line 6 of "./test/err_syntax8a.y", illegal use of reserved symbol $$123
|
||||
0
test/err_syntax8a.output
Normal file
0
test/err_syntax8a.output
Normal file
13
test/err_syntax8a.tab.c
Normal file
13
test/err_syntax8a.tab.c
Normal file
@ -0,0 +1,13 @@
|
||||
#ifndef lint
|
||||
static const char yysccsid[] = "@(#)yaccpar 1.9 (Berkeley) 02/21/93";
|
||||
#endif
|
||||
|
||||
#define YYBYACC 1
|
||||
#define YYMAJOR 1
|
||||
#define YYMINOR 9
|
||||
|
||||
#define YYEMPTY (-1)
|
||||
#define yyclearin (yychar = YYEMPTY)
|
||||
#define yyerrok (yyerrflag = 0)
|
||||
#define YYRECOVERING() (yyerrflag != 0)
|
||||
|
||||
0
test/err_syntax8a.tab.h
Normal file
0
test/err_syntax8a.tab.h
Normal file
31
test/err_syntax8a.y
Normal file
31
test/err_syntax8a.y
Normal file
@ -0,0 +1,31 @@
|
||||
%{
|
||||
int yylex(void);
|
||||
static void yyerror(const char *);
|
||||
%}
|
||||
|
||||
%token $$123 '\777'
|
||||
|
||||
%%
|
||||
S: error
|
||||
%%
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
int
|
||||
main(void)
|
||||
{
|
||||
printf("yyparse() = %d\n", yyparse());
|
||||
return 0;
|
||||
}
|
||||
|
||||
int
|
||||
yylex(void)
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
|
||||
static void
|
||||
yyerror(const char* s)
|
||||
{
|
||||
printf("%s\n", s);
|
||||
}
|
||||
1
test/err_syntax9.error
Normal file
1
test/err_syntax9.error
Normal file
@ -0,0 +1 @@
|
||||
YACC: e - line 7 of "./test/err_syntax9.y", the start symbol text cannot be declared to be a token
|
||||
0
test/err_syntax9.output
Normal file
0
test/err_syntax9.output
Normal file
13
test/err_syntax9.tab.c
Normal file
13
test/err_syntax9.tab.c
Normal file
@ -0,0 +1,13 @@
|
||||
#ifndef lint
|
||||
static const char yysccsid[] = "@(#)yaccpar 1.9 (Berkeley) 02/21/93";
|
||||
#endif
|
||||
|
||||
#define YYBYACC 1
|
||||
#define YYMAJOR 1
|
||||
#define YYMINOR 9
|
||||
|
||||
#define YYEMPTY (-1)
|
||||
#define yyclearin (yychar = YYEMPTY)
|
||||
#define yyerrok (yyerrflag = 0)
|
||||
#define YYRECOVERING() (yyerrflag != 0)
|
||||
|
||||
0
test/err_syntax9.tab.h
Normal file
0
test/err_syntax9.tab.h
Normal file
32
test/err_syntax9.y
Normal file
32
test/err_syntax9.y
Normal file
@ -0,0 +1,32 @@
|
||||
%{
|
||||
int yylex(void);
|
||||
static void yyerror(const char *);
|
||||
%}
|
||||
|
||||
%start text
|
||||
%token text '(' '*' '&'
|
||||
|
||||
%%
|
||||
S: error
|
||||
%%
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
int
|
||||
main(void)
|
||||
{
|
||||
printf("yyparse() = %d\n", yyparse());
|
||||
return 0;
|
||||
}
|
||||
|
||||
int
|
||||
yylex(void)
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
|
||||
static void
|
||||
yyerror(const char* s)
|
||||
{
|
||||
printf("%s\n", s);
|
||||
}
|
||||
0
test/error.error
Normal file
0
test/error.error
Normal file
1625
test/ftp.output
1625
test/ftp.output
File diff suppressed because it is too large
Load Diff
2005
test/ftp.tab.c
2005
test/ftp.tab.c
File diff suppressed because it is too large
Load Diff
@ -1,76 +0,0 @@
|
||||
#define NUMBER 257
|
||||
#define STRING 258
|
||||
#define A 259
|
||||
#define B 260
|
||||
#define C 261
|
||||
#define E 262
|
||||
#define F 263
|
||||
#define I 264
|
||||
#define L 265
|
||||
#define N 266
|
||||
#define P 267
|
||||
#define R 268
|
||||
#define S 269
|
||||
#define T 270
|
||||
#define SP 271
|
||||
#define CRLF 272
|
||||
#define COMMA 273
|
||||
#define USER 274
|
||||
#define PASS 275
|
||||
#define ACCT 276
|
||||
#define REIN 277
|
||||
#define QUIT 278
|
||||
#define PORT 279
|
||||
#define PASV 280
|
||||
#define TYPE 281
|
||||
#define STRU 282
|
||||
#define MODE 283
|
||||
#define RETR 284
|
||||
#define STOR 285
|
||||
#define APPE 286
|
||||
#define MLFL 287
|
||||
#define MAIL 288
|
||||
#define MSND 289
|
||||
#define MSOM 290
|
||||
#define MSAM 291
|
||||
#define MRSQ 292
|
||||
#define MRCP 293
|
||||
#define ALLO 294
|
||||
#define REST 295
|
||||
#define RNFR 296
|
||||
#define RNTO 297
|
||||
#define ABOR 298
|
||||
#define DELE 299
|
||||
#define CWD 300
|
||||
#define LIST 301
|
||||
#define NLST 302
|
||||
#define SITE 303
|
||||
#define STAT 304
|
||||
#define HELP 305
|
||||
#define NOOP 306
|
||||
#define MKD 307
|
||||
#define RMD 308
|
||||
#define PWD 309
|
||||
#define CDUP 310
|
||||
#define STOU 311
|
||||
#define SMNT 312
|
||||
#define SYST 313
|
||||
#define SIZE 314
|
||||
#define MDTM 315
|
||||
#define UMASK 316
|
||||
#define IDLE 317
|
||||
#define CHMOD 318
|
||||
#define LEXERR 319
|
||||
#ifdef YYSTYPE
|
||||
#undef YYSTYPE_IS_DECLARED
|
||||
#define YYSTYPE_IS_DECLARED 1
|
||||
#endif
|
||||
#ifndef YYSTYPE_IS_DECLARED
|
||||
#define YYSTYPE_IS_DECLARED 1
|
||||
typedef union
|
||||
{
|
||||
int ival;
|
||||
char *sval;
|
||||
} YYSTYPE;
|
||||
#endif /* !YYSTYPE_IS_DECLARED */
|
||||
extern YYSTYPE ftp_lval;
|
||||
1254
test/ftp.y
1254
test/ftp.y
File diff suppressed because it is too large
Load Diff
906
test/grammar.dot
Normal file
906
test/grammar.dot
Normal file
@ -0,0 +1,906 @@
|
||||
digraph test-grammar {
|
||||
edge [fontsize=10];
|
||||
node [shape=box,fontsize=10];
|
||||
orientation=landscape;
|
||||
rankdir=LR;
|
||||
/*
|
||||
margin=0.2;
|
||||
page="8.27,11.69"; // for A4 printing
|
||||
ratio=auto;
|
||||
*/
|
||||
|
||||
q0 [label="0:\l $accept -> . program $end\l program -> . { $end }\l program -> . translation_unit\l translation_unit -> . external_declaration\l translation_unit -> . translation_unit external_declaration\l external_declaration -> . declaration\l external_declaration -> . function_definition\l external_declaration -> . ';'\l external_declaration -> . linkage_specification\l external_declaration -> . T_ASM T_ASMARG ';'\l external_declaration -> . error T_MATCHRBRACE\l external_declaration -> . error ';'\l linkage_specification -> . T_EXTERN T_STRING_LITERAL braces\l linkage_specification -> . T_EXTERN T_STRING_LITERAL declaration\l declaration -> . decl_specifiers ';'\l declaration -> . decl_specifiers init_declarator_list ';'\l declaration -> . any_typedef decl_specifiers $$1 opt_declarator_list ';'\l any_typedef -> . T_EXTENSION T_TYPEDEF\l any_typedef -> . T_TYPEDEF\l function_definition -> . decl_specifiers declarator $$2 opt_declaration_list T_LBRACE $$3 T_MATCHRBRACE\l function_definition -> . declarator $$4 opt_declaration_list T_LBRACE T_MATCHRBRACE\l decl_specifiers -> . decl_specifier\l decl_specifiers -> . decl_specifiers decl_specifier\l decl_specifier -> . storage_class\l decl_specifier -> . type_specifier\l decl_specifier -> . type_qualifier\l storage_class -> . T_AUTO\l storage_class -> . T_EXTERN\l storage_class -> . T_REGISTER\l storage_class -> . T_STATIC\l storage_class -> . T_INLINE\l storage_class -> . T_EXTENSION\l type_specifier -> . T_CHAR\l type_specifier -> . T_DOUBLE\l type_specifier -> . T_FLOAT\l type_specifier -> . T_INT\l type_specifier -> . T_LONG\l type_specifier -> . T_SHORT\l type_specifier -> . T_SIGNED\l type_specifier -> . T_UNSIGNED\l type_specifier -> . T_VOID\l type_specifier -> . T_Bool\l type_specifier -> . T_Complex\l type_specifier -> . T_Imaginary\l type_specifier -> . T_TYPEDEF_NAME\l type_specifier -> . struct_or_union_specifier\l type_specifier -> . enum_specifier\l type_qualifier -> . T_TYPE_QUALIFIER\l type_qualifier -> . T_DEFINE_NAME\l struct_or_union_specifier -> . struct_or_union any_id braces\l struct_or_union_specifier -> . struct_or_union braces\l struct_or_union_specifier -> . struct_or_union any_id\l struct_or_union -> . T_STRUCT\l struct_or_union -> . T_UNION\l enum_specifier -> . enumeration any_id braces\l enum_specifier -> . enumeration braces\l enum_specifier -> . enumeration any_id\l enumeration -> . T_ENUM\l any_id -> . T_IDENTIFIER\l any_id -> . T_TYPEDEF_NAME\l declarator -> . pointer direct_declarator\l declarator -> . direct_declarator\l direct_declarator -> . identifier_or_ref\l direct_declarator -> . '(' declarator ')'\l direct_declarator -> . direct_declarator T_BRACKETS\l direct_declarator -> . direct_declarator '(' parameter_type_list ')'\l direct_declarator -> . direct_declarator '(' opt_identifier_list ')'\l pointer -> . '*' opt_type_qualifiers\l pointer -> . '*' opt_type_qualifiers pointer\l identifier_or_ref -> . any_id\l identifier_or_ref -> . '&' any_id\l"];
|
||||
q1 [label="1:\l external_declaration -> error . T_MATCHRBRACE\l external_declaration -> error . ';'\l"];
|
||||
q2 [label="2:\l any_id -> . T_IDENTIFIER\l any_id -> . T_TYPEDEF_NAME\l declarator -> . pointer direct_declarator\l declarator -> . direct_declarator\l direct_declarator -> . identifier_or_ref\l direct_declarator -> . '(' declarator ')'\l direct_declarator -> '(' . declarator ')'\l direct_declarator -> . direct_declarator T_BRACKETS\l direct_declarator -> . direct_declarator '(' parameter_type_list ')'\l direct_declarator -> . direct_declarator '(' opt_identifier_list ')'\l pointer -> . '*' opt_type_qualifiers\l pointer -> . '*' opt_type_qualifiers pointer\l identifier_or_ref -> . any_id\l identifier_or_ref -> . '&' any_id\l"];
|
||||
q3 [label="3:\l type_qualifier -> . T_TYPE_QUALIFIER\l type_qualifier -> . T_DEFINE_NAME\l pointer -> '*' . opt_type_qualifiers\l pointer -> '*' . opt_type_qualifiers pointer\l opt_type_qualifiers -> . { ')' ',' T_BRACKETS T_TYPEDEF_NAME T_IDENTIFIER '&' '*' '(' }\l opt_type_qualifiers -> . type_qualifier_list\l type_qualifier_list -> . type_qualifier\l type_qualifier_list -> . type_qualifier_list type_qualifier\l"];
|
||||
q4 [label="4:\l any_id -> . T_IDENTIFIER\l any_id -> . T_TYPEDEF_NAME\l identifier_or_ref -> '&' . any_id\l"];
|
||||
q5 [label="5:\l any_id -> T_IDENTIFIER . { ')' '=' ',' ';' T_VA_DCL T_LBRACE T_BRACKETS T_TYPE_QUALIFIER T_Imaginary T_Complex T_Bool T_UNION T_STRUCT T_ENUM T_UNSIGNED T_SIGNED T_SHORT T_LONG T_VOID T_INT T_FLOAT T_DOUBLE T_CHAR T_EXTENSION T_INLINE T_TYPEDEF T_STATIC T_REGISTER T_EXTERN T_AUTO T_DEFINE_NAME T_TYPEDEF_NAME T_IDENTIFIER '&' '*' '(' }\l"];
|
||||
q6 [label="6:\l type_specifier -> T_TYPEDEF_NAME . { ')' ',' ';' T_BRACKETS T_TYPE_QUALIFIER T_Imaginary T_Complex T_Bool T_UNION T_STRUCT T_ENUM T_UNSIGNED T_SIGNED T_SHORT T_LONG T_VOID T_INT T_FLOAT T_DOUBLE T_CHAR T_EXTENSION T_INLINE T_STATIC T_REGISTER T_EXTERN T_AUTO T_DEFINE_NAME T_TYPEDEF_NAME T_IDENTIFIER '&' '*' '(' }\l any_id -> T_TYPEDEF_NAME . { ')' '=' ',' ';' T_VA_DCL T_LBRACE T_BRACKETS T_TYPE_QUALIFIER T_Imaginary T_Complex T_Bool T_UNION T_STRUCT T_ENUM T_UNSIGNED T_SIGNED T_SHORT T_LONG T_VOID T_INT T_FLOAT T_DOUBLE T_CHAR T_EXTENSION T_INLINE T_TYPEDEF T_STATIC T_REGISTER T_EXTERN T_AUTO T_DEFINE_NAME T_TYPEDEF_NAME '(' }\l"];
|
||||
q7 [label="7:\l type_qualifier -> T_DEFINE_NAME . { ')' ',' ';' T_BRACKETS T_TYPE_QUALIFIER T_Imaginary T_Complex T_Bool T_UNION T_STRUCT T_ENUM T_UNSIGNED T_SIGNED T_SHORT T_LONG T_VOID T_INT T_FLOAT T_DOUBLE T_CHAR T_EXTENSION T_INLINE T_STATIC T_REGISTER T_EXTERN T_AUTO T_DEFINE_NAME T_TYPEDEF_NAME T_IDENTIFIER '&' '*' '(' }\l"];
|
||||
q8 [label="8:\l storage_class -> T_AUTO . { ')' ',' ';' T_BRACKETS T_TYPE_QUALIFIER T_Imaginary T_Complex T_Bool T_UNION T_STRUCT T_ENUM T_UNSIGNED T_SIGNED T_SHORT T_LONG T_VOID T_INT T_FLOAT T_DOUBLE T_CHAR T_EXTENSION T_INLINE T_STATIC T_REGISTER T_EXTERN T_AUTO T_DEFINE_NAME T_TYPEDEF_NAME T_IDENTIFIER '&' '*' '(' }\l"];
|
||||
q9 [label="9:\l linkage_specification -> T_EXTERN . T_STRING_LITERAL braces\l linkage_specification -> T_EXTERN . T_STRING_LITERAL declaration\l storage_class -> T_EXTERN . { ';' T_TYPE_QUALIFIER T_Imaginary T_Complex T_Bool T_UNION T_STRUCT T_ENUM T_UNSIGNED T_SIGNED T_SHORT T_LONG T_VOID T_INT T_FLOAT T_DOUBLE T_CHAR T_EXTENSION T_INLINE T_STATIC T_REGISTER T_EXTERN T_AUTO T_DEFINE_NAME T_TYPEDEF_NAME T_IDENTIFIER '&' '*' '(' }\l"];
|
||||
q10 [label="10:\l storage_class -> T_REGISTER . { ')' ',' ';' T_BRACKETS T_TYPE_QUALIFIER T_Imaginary T_Complex T_Bool T_UNION T_STRUCT T_ENUM T_UNSIGNED T_SIGNED T_SHORT T_LONG T_VOID T_INT T_FLOAT T_DOUBLE T_CHAR T_EXTENSION T_INLINE T_STATIC T_REGISTER T_EXTERN T_AUTO T_DEFINE_NAME T_TYPEDEF_NAME T_IDENTIFIER '&' '*' '(' }\l"];
|
||||
q11 [label="11:\l storage_class -> T_STATIC . { ')' ',' ';' T_BRACKETS T_TYPE_QUALIFIER T_Imaginary T_Complex T_Bool T_UNION T_STRUCT T_ENUM T_UNSIGNED T_SIGNED T_SHORT T_LONG T_VOID T_INT T_FLOAT T_DOUBLE T_CHAR T_EXTENSION T_INLINE T_STATIC T_REGISTER T_EXTERN T_AUTO T_DEFINE_NAME T_TYPEDEF_NAME T_IDENTIFIER '&' '*' '(' }\l"];
|
||||
q12 [label="12:\l any_typedef -> T_TYPEDEF . { T_TYPE_QUALIFIER T_Imaginary T_Complex T_Bool T_UNION T_STRUCT T_ENUM T_UNSIGNED T_SIGNED T_SHORT T_LONG T_VOID T_INT T_FLOAT T_DOUBLE T_CHAR T_EXTENSION T_INLINE T_STATIC T_REGISTER T_EXTERN T_AUTO T_DEFINE_NAME T_TYPEDEF_NAME }\l"];
|
||||
q13 [label="13:\l storage_class -> T_INLINE . { ')' ',' ';' T_BRACKETS T_TYPE_QUALIFIER T_Imaginary T_Complex T_Bool T_UNION T_STRUCT T_ENUM T_UNSIGNED T_SIGNED T_SHORT T_LONG T_VOID T_INT T_FLOAT T_DOUBLE T_CHAR T_EXTENSION T_INLINE T_STATIC T_REGISTER T_EXTERN T_AUTO T_DEFINE_NAME T_TYPEDEF_NAME T_IDENTIFIER '&' '*' '(' }\l"];
|
||||
q14 [label="14:\l any_typedef -> T_EXTENSION . T_TYPEDEF\l storage_class -> T_EXTENSION . { ';' T_TYPE_QUALIFIER T_Imaginary T_Complex T_Bool T_UNION T_STRUCT T_ENUM T_UNSIGNED T_SIGNED T_SHORT T_LONG T_VOID T_INT T_FLOAT T_DOUBLE T_CHAR T_EXTENSION T_INLINE T_STATIC T_REGISTER T_EXTERN T_AUTO T_DEFINE_NAME T_TYPEDEF_NAME T_IDENTIFIER '&' '*' '(' }\l"];
|
||||
q15 [label="15:\l type_specifier -> T_CHAR . { ')' ',' ';' T_BRACKETS T_TYPE_QUALIFIER T_Imaginary T_Complex T_Bool T_UNION T_STRUCT T_ENUM T_UNSIGNED T_SIGNED T_SHORT T_LONG T_VOID T_INT T_FLOAT T_DOUBLE T_CHAR T_EXTENSION T_INLINE T_STATIC T_REGISTER T_EXTERN T_AUTO T_DEFINE_NAME T_TYPEDEF_NAME T_IDENTIFIER '&' '*' '(' }\l"];
|
||||
q16 [label="16:\l type_specifier -> T_DOUBLE . { ')' ',' ';' T_BRACKETS T_TYPE_QUALIFIER T_Imaginary T_Complex T_Bool T_UNION T_STRUCT T_ENUM T_UNSIGNED T_SIGNED T_SHORT T_LONG T_VOID T_INT T_FLOAT T_DOUBLE T_CHAR T_EXTENSION T_INLINE T_STATIC T_REGISTER T_EXTERN T_AUTO T_DEFINE_NAME T_TYPEDEF_NAME T_IDENTIFIER '&' '*' '(' }\l"];
|
||||
q17 [label="17:\l type_specifier -> T_FLOAT . { ')' ',' ';' T_BRACKETS T_TYPE_QUALIFIER T_Imaginary T_Complex T_Bool T_UNION T_STRUCT T_ENUM T_UNSIGNED T_SIGNED T_SHORT T_LONG T_VOID T_INT T_FLOAT T_DOUBLE T_CHAR T_EXTENSION T_INLINE T_STATIC T_REGISTER T_EXTERN T_AUTO T_DEFINE_NAME T_TYPEDEF_NAME T_IDENTIFIER '&' '*' '(' }\l"];
|
||||
q18 [label="18:\l type_specifier -> T_INT . { ')' ',' ';' T_BRACKETS T_TYPE_QUALIFIER T_Imaginary T_Complex T_Bool T_UNION T_STRUCT T_ENUM T_UNSIGNED T_SIGNED T_SHORT T_LONG T_VOID T_INT T_FLOAT T_DOUBLE T_CHAR T_EXTENSION T_INLINE T_STATIC T_REGISTER T_EXTERN T_AUTO T_DEFINE_NAME T_TYPEDEF_NAME T_IDENTIFIER '&' '*' '(' }\l"];
|
||||
q19 [label="19:\l type_specifier -> T_VOID . { ')' ',' ';' T_BRACKETS T_TYPE_QUALIFIER T_Imaginary T_Complex T_Bool T_UNION T_STRUCT T_ENUM T_UNSIGNED T_SIGNED T_SHORT T_LONG T_VOID T_INT T_FLOAT T_DOUBLE T_CHAR T_EXTENSION T_INLINE T_STATIC T_REGISTER T_EXTERN T_AUTO T_DEFINE_NAME T_TYPEDEF_NAME T_IDENTIFIER '&' '*' '(' }\l"];
|
||||
q20 [label="20:\l type_specifier -> T_LONG . { ')' ',' ';' T_BRACKETS T_TYPE_QUALIFIER T_Imaginary T_Complex T_Bool T_UNION T_STRUCT T_ENUM T_UNSIGNED T_SIGNED T_SHORT T_LONG T_VOID T_INT T_FLOAT T_DOUBLE T_CHAR T_EXTENSION T_INLINE T_STATIC T_REGISTER T_EXTERN T_AUTO T_DEFINE_NAME T_TYPEDEF_NAME T_IDENTIFIER '&' '*' '(' }\l"];
|
||||
q21 [label="21:\l type_specifier -> T_SHORT . { ')' ',' ';' T_BRACKETS T_TYPE_QUALIFIER T_Imaginary T_Complex T_Bool T_UNION T_STRUCT T_ENUM T_UNSIGNED T_SIGNED T_SHORT T_LONG T_VOID T_INT T_FLOAT T_DOUBLE T_CHAR T_EXTENSION T_INLINE T_STATIC T_REGISTER T_EXTERN T_AUTO T_DEFINE_NAME T_TYPEDEF_NAME T_IDENTIFIER '&' '*' '(' }\l"];
|
||||
q22 [label="22:\l type_specifier -> T_SIGNED . { ')' ',' ';' T_BRACKETS T_TYPE_QUALIFIER T_Imaginary T_Complex T_Bool T_UNION T_STRUCT T_ENUM T_UNSIGNED T_SIGNED T_SHORT T_LONG T_VOID T_INT T_FLOAT T_DOUBLE T_CHAR T_EXTENSION T_INLINE T_STATIC T_REGISTER T_EXTERN T_AUTO T_DEFINE_NAME T_TYPEDEF_NAME T_IDENTIFIER '&' '*' '(' }\l"];
|
||||
q23 [label="23:\l type_specifier -> T_UNSIGNED . { ')' ',' ';' T_BRACKETS T_TYPE_QUALIFIER T_Imaginary T_Complex T_Bool T_UNION T_STRUCT T_ENUM T_UNSIGNED T_SIGNED T_SHORT T_LONG T_VOID T_INT T_FLOAT T_DOUBLE T_CHAR T_EXTENSION T_INLINE T_STATIC T_REGISTER T_EXTERN T_AUTO T_DEFINE_NAME T_TYPEDEF_NAME T_IDENTIFIER '&' '*' '(' }\l"];
|
||||
q24 [label="24:\l enumeration -> T_ENUM . { T_LBRACE T_TYPEDEF_NAME T_IDENTIFIER }\l"];
|
||||
q25 [label="25:\l struct_or_union -> T_STRUCT . { T_LBRACE T_TYPEDEF_NAME T_IDENTIFIER }\l"];
|
||||
q26 [label="26:\l struct_or_union -> T_UNION . { T_LBRACE T_TYPEDEF_NAME T_IDENTIFIER }\l"];
|
||||
q27 [label="27:\l type_specifier -> T_Bool . { ')' ',' ';' T_BRACKETS T_TYPE_QUALIFIER T_Imaginary T_Complex T_Bool T_UNION T_STRUCT T_ENUM T_UNSIGNED T_SIGNED T_SHORT T_LONG T_VOID T_INT T_FLOAT T_DOUBLE T_CHAR T_EXTENSION T_INLINE T_STATIC T_REGISTER T_EXTERN T_AUTO T_DEFINE_NAME T_TYPEDEF_NAME T_IDENTIFIER '&' '*' '(' }\l"];
|
||||
q28 [label="28:\l type_specifier -> T_Complex . { ')' ',' ';' T_BRACKETS T_TYPE_QUALIFIER T_Imaginary T_Complex T_Bool T_UNION T_STRUCT T_ENUM T_UNSIGNED T_SIGNED T_SHORT T_LONG T_VOID T_INT T_FLOAT T_DOUBLE T_CHAR T_EXTENSION T_INLINE T_STATIC T_REGISTER T_EXTERN T_AUTO T_DEFINE_NAME T_TYPEDEF_NAME T_IDENTIFIER '&' '*' '(' }\l"];
|
||||
q29 [label="29:\l type_specifier -> T_Imaginary . { ')' ',' ';' T_BRACKETS T_TYPE_QUALIFIER T_Imaginary T_Complex T_Bool T_UNION T_STRUCT T_ENUM T_UNSIGNED T_SIGNED T_SHORT T_LONG T_VOID T_INT T_FLOAT T_DOUBLE T_CHAR T_EXTENSION T_INLINE T_STATIC T_REGISTER T_EXTERN T_AUTO T_DEFINE_NAME T_TYPEDEF_NAME T_IDENTIFIER '&' '*' '(' }\l"];
|
||||
q30 [label="30:\l type_qualifier -> T_TYPE_QUALIFIER . { ')' ',' ';' T_BRACKETS T_TYPE_QUALIFIER T_Imaginary T_Complex T_Bool T_UNION T_STRUCT T_ENUM T_UNSIGNED T_SIGNED T_SHORT T_LONG T_VOID T_INT T_FLOAT T_DOUBLE T_CHAR T_EXTENSION T_INLINE T_STATIC T_REGISTER T_EXTERN T_AUTO T_DEFINE_NAME T_TYPEDEF_NAME T_IDENTIFIER '&' '*' '(' }\l"];
|
||||
q31 [label="31:\l external_declaration -> T_ASM . T_ASMARG ';'\l"];
|
||||
q32 [label="32:\l external_declaration -> ';' . { ';' T_ASM T_TYPE_QUALIFIER T_Imaginary T_Complex T_Bool T_UNION T_STRUCT T_ENUM T_UNSIGNED T_SIGNED T_SHORT T_LONG T_VOID T_INT T_FLOAT T_DOUBLE T_CHAR T_EXTENSION T_INLINE T_TYPEDEF T_STATIC T_REGISTER T_EXTERN T_AUTO T_DEFINE_NAME T_TYPEDEF_NAME T_IDENTIFIER '&' '*' '(' error $end }\l"];
|
||||
q33 [label="33:\l $accept -> program . $end\l"];
|
||||
q34 [label="34:\l declaration -> decl_specifiers . ';'\l declaration -> decl_specifiers . init_declarator_list ';'\l function_definition -> decl_specifiers . declarator $$2 opt_declaration_list T_LBRACE $$3 T_MATCHRBRACE\l decl_specifiers -> decl_specifiers . decl_specifier\l decl_specifier -> . storage_class\l decl_specifier -> . type_specifier\l decl_specifier -> . type_qualifier\l storage_class -> . T_AUTO\l storage_class -> . T_EXTERN\l storage_class -> . T_REGISTER\l storage_class -> . T_STATIC\l storage_class -> . T_INLINE\l storage_class -> . T_EXTENSION\l type_specifier -> . T_CHAR\l type_specifier -> . T_DOUBLE\l type_specifier -> . T_FLOAT\l type_specifier -> . T_INT\l type_specifier -> . T_LONG\l type_specifier -> . T_SHORT\l type_specifier -> . T_SIGNED\l type_specifier -> . T_UNSIGNED\l type_specifier -> . T_VOID\l type_specifier -> . T_Bool\l type_specifier -> . T_Complex\l type_specifier -> . T_Imaginary\l type_specifier -> . T_TYPEDEF_NAME\l type_specifier -> . struct_or_union_specifier\l type_specifier -> . enum_specifier\l type_qualifier -> . T_TYPE_QUALIFIER\l type_qualifier -> . T_DEFINE_NAME\l struct_or_union_specifier -> . struct_or_union any_id braces\l struct_or_union_specifier -> . struct_or_union braces\l struct_or_union_specifier -> . struct_or_union any_id\l struct_or_union -> . T_STRUCT\l struct_or_union -> . T_UNION\l init_declarator_list -> . init_declarator\l init_declarator_list -> . init_declarator_list ',' init_declarator\l init_declarator -> . declarator\l init_declarator -> . declarator '=' $$5 T_INITIALIZER\l enum_specifier -> . enumeration any_id braces\l enum_specifier -> . enumeration braces\l enum_specifier -> . enumeration any_id\l enumeration -> . T_ENUM\l any_id -> . T_IDENTIFIER\l any_id -> . T_TYPEDEF_NAME\l declarator -> . pointer direct_declarator\l declarator -> . direct_declarator\l direct_declarator -> . identifier_or_ref\l direct_declarator -> . '(' declarator ')'\l direct_declarator -> . direct_declarator T_BRACKETS\l direct_declarator -> . direct_declarator '(' parameter_type_list ')'\l direct_declarator -> . direct_declarator '(' opt_identifier_list ')'\l pointer -> . '*' opt_type_qualifiers\l pointer -> . '*' opt_type_qualifiers pointer\l identifier_or_ref -> . any_id\l identifier_or_ref -> . '&' any_id\l"];
|
||||
q35 [label="35:\l decl_specifiers -> decl_specifier . { ')' ',' ';' T_BRACKETS T_TYPE_QUALIFIER T_Imaginary T_Complex T_Bool T_UNION T_STRUCT T_ENUM T_UNSIGNED T_SIGNED T_SHORT T_LONG T_VOID T_INT T_FLOAT T_DOUBLE T_CHAR T_EXTENSION T_INLINE T_STATIC T_REGISTER T_EXTERN T_AUTO T_DEFINE_NAME T_TYPEDEF_NAME T_IDENTIFIER '&' '*' '(' }\l"];
|
||||
q36 [label="36:\l decl_specifier -> storage_class . { ')' ',' ';' T_BRACKETS T_TYPE_QUALIFIER T_Imaginary T_Complex T_Bool T_UNION T_STRUCT T_ENUM T_UNSIGNED T_SIGNED T_SHORT T_LONG T_VOID T_INT T_FLOAT T_DOUBLE T_CHAR T_EXTENSION T_INLINE T_STATIC T_REGISTER T_EXTERN T_AUTO T_DEFINE_NAME T_TYPEDEF_NAME T_IDENTIFIER '&' '*' '(' }\l"];
|
||||
q37 [label="37:\l decl_specifier -> type_specifier . { ')' ',' ';' T_BRACKETS T_TYPE_QUALIFIER T_Imaginary T_Complex T_Bool T_UNION T_STRUCT T_ENUM T_UNSIGNED T_SIGNED T_SHORT T_LONG T_VOID T_INT T_FLOAT T_DOUBLE T_CHAR T_EXTENSION T_INLINE T_STATIC T_REGISTER T_EXTERN T_AUTO T_DEFINE_NAME T_TYPEDEF_NAME T_IDENTIFIER '&' '*' '(' }\l"];
|
||||
q38 [label="38:\l decl_specifier -> type_qualifier . { ')' ',' ';' T_BRACKETS T_TYPE_QUALIFIER T_Imaginary T_Complex T_Bool T_UNION T_STRUCT T_ENUM T_UNSIGNED T_SIGNED T_SHORT T_LONG T_VOID T_INT T_FLOAT T_DOUBLE T_CHAR T_EXTENSION T_INLINE T_STATIC T_REGISTER T_EXTERN T_AUTO T_DEFINE_NAME T_TYPEDEF_NAME T_IDENTIFIER '&' '*' '(' }\l"];
|
||||
q39 [label="39:\l type_specifier -> struct_or_union_specifier . { ')' ',' ';' T_BRACKETS T_TYPE_QUALIFIER T_Imaginary T_Complex T_Bool T_UNION T_STRUCT T_ENUM T_UNSIGNED T_SIGNED T_SHORT T_LONG T_VOID T_INT T_FLOAT T_DOUBLE T_CHAR T_EXTENSION T_INLINE T_STATIC T_REGISTER T_EXTERN T_AUTO T_DEFINE_NAME T_TYPEDEF_NAME T_IDENTIFIER '&' '*' '(' }\l"];
|
||||
q40 [label="40:\l type_specifier -> enum_specifier . { ')' ',' ';' T_BRACKETS T_TYPE_QUALIFIER T_Imaginary T_Complex T_Bool T_UNION T_STRUCT T_ENUM T_UNSIGNED T_SIGNED T_SHORT T_LONG T_VOID T_INT T_FLOAT T_DOUBLE T_CHAR T_EXTENSION T_INLINE T_STATIC T_REGISTER T_EXTERN T_AUTO T_DEFINE_NAME T_TYPEDEF_NAME T_IDENTIFIER '&' '*' '(' }\l"];
|
||||
q41 [label="41:\l $$4 -> . { T_VA_DCL T_LBRACE T_TYPE_QUALIFIER T_Imaginary T_Complex T_Bool T_UNION T_STRUCT T_ENUM T_UNSIGNED T_SIGNED T_SHORT T_LONG T_VOID T_INT T_FLOAT T_DOUBLE T_CHAR T_EXTENSION T_INLINE T_TYPEDEF T_STATIC T_REGISTER T_EXTERN T_AUTO T_DEFINE_NAME T_TYPEDEF_NAME }\l function_definition -> declarator . $$4 opt_declaration_list T_LBRACE T_MATCHRBRACE\l"];
|
||||
q42 [label="42:\l declarator -> direct_declarator . { ')' '=' ',' ';' T_VA_DCL T_LBRACE T_TYPE_QUALIFIER T_Imaginary T_Complex T_Bool T_UNION T_STRUCT T_ENUM T_UNSIGNED T_SIGNED T_SHORT T_LONG T_VOID T_INT T_FLOAT T_DOUBLE T_CHAR T_EXTENSION T_INLINE T_TYPEDEF T_STATIC T_REGISTER T_EXTERN T_AUTO T_DEFINE_NAME T_TYPEDEF_NAME }\l direct_declarator -> direct_declarator . T_BRACKETS\l direct_declarator -> direct_declarator . '(' parameter_type_list ')'\l direct_declarator -> direct_declarator . '(' opt_identifier_list ')'\l"];
|
||||
q43 [label="43:\l braces -> . T_LBRACE T_MATCHRBRACE\l struct_or_union_specifier -> struct_or_union . any_id braces\l struct_or_union_specifier -> struct_or_union . braces\l struct_or_union_specifier -> struct_or_union . any_id\l any_id -> . T_IDENTIFIER\l any_id -> . T_TYPEDEF_NAME\l"];
|
||||
q44 [label="44:\l any_id -> . T_IDENTIFIER\l any_id -> . T_TYPEDEF_NAME\l declarator -> pointer . direct_declarator\l direct_declarator -> . identifier_or_ref\l direct_declarator -> . '(' declarator ')'\l direct_declarator -> . direct_declarator T_BRACKETS\l direct_declarator -> . direct_declarator '(' parameter_type_list ')'\l direct_declarator -> . direct_declarator '(' opt_identifier_list ')'\l identifier_or_ref -> . any_id\l identifier_or_ref -> . '&' any_id\l"];
|
||||
q45 [label="45:\l identifier_or_ref -> any_id . { ')' '=' ',' ';' T_VA_DCL T_LBRACE T_BRACKETS T_TYPE_QUALIFIER T_Imaginary T_Complex T_Bool T_UNION T_STRUCT T_ENUM T_UNSIGNED T_SIGNED T_SHORT T_LONG T_VOID T_INT T_FLOAT T_DOUBLE T_CHAR T_EXTENSION T_INLINE T_TYPEDEF T_STATIC T_REGISTER T_EXTERN T_AUTO T_DEFINE_NAME T_TYPEDEF_NAME '(' }\l"];
|
||||
q46 [label="46:\l direct_declarator -> identifier_or_ref . { ')' '=' ',' ';' T_VA_DCL T_LBRACE T_BRACKETS T_TYPE_QUALIFIER T_Imaginary T_Complex T_Bool T_UNION T_STRUCT T_ENUM T_UNSIGNED T_SIGNED T_SHORT T_LONG T_VOID T_INT T_FLOAT T_DOUBLE T_CHAR T_EXTENSION T_INLINE T_TYPEDEF T_STATIC T_REGISTER T_EXTERN T_AUTO T_DEFINE_NAME T_TYPEDEF_NAME '(' }\l"];
|
||||
q47 [label="47:\l braces -> . T_LBRACE T_MATCHRBRACE\l enum_specifier -> enumeration . any_id braces\l enum_specifier -> enumeration . braces\l enum_specifier -> enumeration . any_id\l any_id -> . T_IDENTIFIER\l any_id -> . T_TYPEDEF_NAME\l"];
|
||||
q48 [label="48:\l program -> translation_unit . { $end }\l translation_unit -> translation_unit . external_declaration\l external_declaration -> . declaration\l external_declaration -> . function_definition\l external_declaration -> . ';'\l external_declaration -> . linkage_specification\l external_declaration -> . T_ASM T_ASMARG ';'\l external_declaration -> . error T_MATCHRBRACE\l external_declaration -> . error ';'\l linkage_specification -> . T_EXTERN T_STRING_LITERAL braces\l linkage_specification -> . T_EXTERN T_STRING_LITERAL declaration\l declaration -> . decl_specifiers ';'\l declaration -> . decl_specifiers init_declarator_list ';'\l declaration -> . any_typedef decl_specifiers $$1 opt_declarator_list ';'\l any_typedef -> . T_EXTENSION T_TYPEDEF\l any_typedef -> . T_TYPEDEF\l function_definition -> . decl_specifiers declarator $$2 opt_declaration_list T_LBRACE $$3 T_MATCHRBRACE\l function_definition -> . declarator $$4 opt_declaration_list T_LBRACE T_MATCHRBRACE\l decl_specifiers -> . decl_specifier\l decl_specifiers -> . decl_specifiers decl_specifier\l decl_specifier -> . storage_class\l decl_specifier -> . type_specifier\l decl_specifier -> . type_qualifier\l storage_class -> . T_AUTO\l storage_class -> . T_EXTERN\l storage_class -> . T_REGISTER\l storage_class -> . T_STATIC\l storage_class -> . T_INLINE\l storage_class -> . T_EXTENSION\l type_specifier -> . T_CHAR\l type_specifier -> . T_DOUBLE\l type_specifier -> . T_FLOAT\l type_specifier -> . T_INT\l type_specifier -> . T_LONG\l type_specifier -> . T_SHORT\l type_specifier -> . T_SIGNED\l type_specifier -> . T_UNSIGNED\l type_specifier -> . T_VOID\l type_specifier -> . T_Bool\l type_specifier -> . T_Complex\l type_specifier -> . T_Imaginary\l type_specifier -> . T_TYPEDEF_NAME\l type_specifier -> . struct_or_union_specifier\l type_specifier -> . enum_specifier\l type_qualifier -> . T_TYPE_QUALIFIER\l type_qualifier -> . T_DEFINE_NAME\l struct_or_union_specifier -> . struct_or_union any_id braces\l struct_or_union_specifier -> . struct_or_union braces\l struct_or_union_specifier -> . struct_or_union any_id\l struct_or_union -> . T_STRUCT\l struct_or_union -> . T_UNION\l enum_specifier -> . enumeration any_id braces\l enum_specifier -> . enumeration braces\l enum_specifier -> . enumeration any_id\l enumeration -> . T_ENUM\l any_id -> . T_IDENTIFIER\l any_id -> . T_TYPEDEF_NAME\l declarator -> . pointer direct_declarator\l declarator -> . direct_declarator\l direct_declarator -> . identifier_or_ref\l direct_declarator -> . '(' declarator ')'\l direct_declarator -> . direct_declarator T_BRACKETS\l direct_declarator -> . direct_declarator '(' parameter_type_list ')'\l direct_declarator -> . direct_declarator '(' opt_identifier_list ')'\l pointer -> . '*' opt_type_qualifiers\l pointer -> . '*' opt_type_qualifiers pointer\l identifier_or_ref -> . any_id\l identifier_or_ref -> . '&' any_id\l"];
|
||||
q49 [label="49:\l translation_unit -> external_declaration . { ';' T_ASM T_TYPE_QUALIFIER T_Imaginary T_Complex T_Bool T_UNION T_STRUCT T_ENUM T_UNSIGNED T_SIGNED T_SHORT T_LONG T_VOID T_INT T_FLOAT T_DOUBLE T_CHAR T_EXTENSION T_INLINE T_TYPEDEF T_STATIC T_REGISTER T_EXTERN T_AUTO T_DEFINE_NAME T_TYPEDEF_NAME T_IDENTIFIER '&' '*' '(' error $end }\l"];
|
||||
q50 [label="50:\l external_declaration -> declaration . { ';' T_ASM T_TYPE_QUALIFIER T_Imaginary T_Complex T_Bool T_UNION T_STRUCT T_ENUM T_UNSIGNED T_SIGNED T_SHORT T_LONG T_VOID T_INT T_FLOAT T_DOUBLE T_CHAR T_EXTENSION T_INLINE T_TYPEDEF T_STATIC T_REGISTER T_EXTERN T_AUTO T_DEFINE_NAME T_TYPEDEF_NAME T_IDENTIFIER '&' '*' '(' error $end }\l"];
|
||||
q51 [label="51:\l external_declaration -> function_definition . { ';' T_ASM T_TYPE_QUALIFIER T_Imaginary T_Complex T_Bool T_UNION T_STRUCT T_ENUM T_UNSIGNED T_SIGNED T_SHORT T_LONG T_VOID T_INT T_FLOAT T_DOUBLE T_CHAR T_EXTENSION T_INLINE T_TYPEDEF T_STATIC T_REGISTER T_EXTERN T_AUTO T_DEFINE_NAME T_TYPEDEF_NAME T_IDENTIFIER '&' '*' '(' error $end }\l"];
|
||||
q52 [label="52:\l external_declaration -> linkage_specification . { ';' T_ASM T_TYPE_QUALIFIER T_Imaginary T_Complex T_Bool T_UNION T_STRUCT T_ENUM T_UNSIGNED T_SIGNED T_SHORT T_LONG T_VOID T_INT T_FLOAT T_DOUBLE T_CHAR T_EXTENSION T_INLINE T_TYPEDEF T_STATIC T_REGISTER T_EXTERN T_AUTO T_DEFINE_NAME T_TYPEDEF_NAME T_IDENTIFIER '&' '*' '(' error $end }\l"];
|
||||
q53 [label="53:\l declaration -> any_typedef . decl_specifiers $$1 opt_declarator_list ';'\l decl_specifiers -> . decl_specifier\l decl_specifiers -> . decl_specifiers decl_specifier\l decl_specifier -> . storage_class\l decl_specifier -> . type_specifier\l decl_specifier -> . type_qualifier\l storage_class -> . T_AUTO\l storage_class -> . T_EXTERN\l storage_class -> . T_REGISTER\l storage_class -> . T_STATIC\l storage_class -> . T_INLINE\l storage_class -> . T_EXTENSION\l type_specifier -> . T_CHAR\l type_specifier -> . T_DOUBLE\l type_specifier -> . T_FLOAT\l type_specifier -> . T_INT\l type_specifier -> . T_LONG\l type_specifier -> . T_SHORT\l type_specifier -> . T_SIGNED\l type_specifier -> . T_UNSIGNED\l type_specifier -> . T_VOID\l type_specifier -> . T_Bool\l type_specifier -> . T_Complex\l type_specifier -> . T_Imaginary\l type_specifier -> . T_TYPEDEF_NAME\l type_specifier -> . struct_or_union_specifier\l type_specifier -> . enum_specifier\l type_qualifier -> . T_TYPE_QUALIFIER\l type_qualifier -> . T_DEFINE_NAME\l struct_or_union_specifier -> . struct_or_union any_id braces\l struct_or_union_specifier -> . struct_or_union braces\l struct_or_union_specifier -> . struct_or_union any_id\l struct_or_union -> . T_STRUCT\l struct_or_union -> . T_UNION\l enum_specifier -> . enumeration any_id braces\l enum_specifier -> . enumeration braces\l enum_specifier -> . enumeration any_id\l enumeration -> . T_ENUM\l"];
|
||||
q54 [label="54:\l external_declaration -> error T_MATCHRBRACE . { ';' T_ASM T_TYPE_QUALIFIER T_Imaginary T_Complex T_Bool T_UNION T_STRUCT T_ENUM T_UNSIGNED T_SIGNED T_SHORT T_LONG T_VOID T_INT T_FLOAT T_DOUBLE T_CHAR T_EXTENSION T_INLINE T_TYPEDEF T_STATIC T_REGISTER T_EXTERN T_AUTO T_DEFINE_NAME T_TYPEDEF_NAME T_IDENTIFIER '&' '*' '(' error $end }\l"];
|
||||
q55 [label="55:\l external_declaration -> error ';' . { ';' T_ASM T_TYPE_QUALIFIER T_Imaginary T_Complex T_Bool T_UNION T_STRUCT T_ENUM T_UNSIGNED T_SIGNED T_SHORT T_LONG T_VOID T_INT T_FLOAT T_DOUBLE T_CHAR T_EXTENSION T_INLINE T_TYPEDEF T_STATIC T_REGISTER T_EXTERN T_AUTO T_DEFINE_NAME T_TYPEDEF_NAME T_IDENTIFIER '&' '*' '(' error $end }\l"];
|
||||
q56 [label="56:\l any_id -> T_TYPEDEF_NAME . { ')' '=' ',' ';' T_VA_DCL T_LBRACE T_BRACKETS T_TYPE_QUALIFIER T_Imaginary T_Complex T_Bool T_UNION T_STRUCT T_ENUM T_UNSIGNED T_SIGNED T_SHORT T_LONG T_VOID T_INT T_FLOAT T_DOUBLE T_CHAR T_EXTENSION T_INLINE T_TYPEDEF T_STATIC T_REGISTER T_EXTERN T_AUTO T_DEFINE_NAME T_TYPEDEF_NAME T_IDENTIFIER '&' '*' '(' }\l"];
|
||||
q57 [label="57:\l direct_declarator -> '(' declarator . ')'\l"];
|
||||
q58 [label="58:\l type_qualifier_list -> type_qualifier . { ')' ',' T_BRACKETS T_TYPE_QUALIFIER T_DEFINE_NAME T_TYPEDEF_NAME T_IDENTIFIER '&' '*' '(' }\l"];
|
||||
q59 [label="59:\l pointer -> . '*' opt_type_qualifiers\l pointer -> '*' opt_type_qualifiers . { ')' ',' T_BRACKETS T_TYPEDEF_NAME T_IDENTIFIER '&' '(' }\l pointer -> . '*' opt_type_qualifiers pointer\l pointer -> '*' opt_type_qualifiers . pointer\l"];
|
||||
q60 [label="60:\l type_qualifier -> . T_TYPE_QUALIFIER\l type_qualifier -> . T_DEFINE_NAME\l opt_type_qualifiers -> type_qualifier_list . { ')' ',' T_BRACKETS T_TYPEDEF_NAME T_IDENTIFIER '&' '*' '(' }\l type_qualifier_list -> type_qualifier_list . type_qualifier\l"];
|
||||
q61 [label="61:\l identifier_or_ref -> '&' any_id . { ')' '=' ',' ';' T_VA_DCL T_LBRACE T_BRACKETS T_TYPE_QUALIFIER T_Imaginary T_Complex T_Bool T_UNION T_STRUCT T_ENUM T_UNSIGNED T_SIGNED T_SHORT T_LONG T_VOID T_INT T_FLOAT T_DOUBLE T_CHAR T_EXTENSION T_INLINE T_TYPEDEF T_STATIC T_REGISTER T_EXTERN T_AUTO T_DEFINE_NAME T_TYPEDEF_NAME '(' }\l"];
|
||||
q62 [label="62:\l braces -> . T_LBRACE T_MATCHRBRACE\l linkage_specification -> T_EXTERN T_STRING_LITERAL . braces\l linkage_specification -> T_EXTERN T_STRING_LITERAL . declaration\l declaration -> . decl_specifiers ';'\l declaration -> . decl_specifiers init_declarator_list ';'\l declaration -> . any_typedef decl_specifiers $$1 opt_declarator_list ';'\l any_typedef -> . T_EXTENSION T_TYPEDEF\l any_typedef -> . T_TYPEDEF\l decl_specifiers -> . decl_specifier\l decl_specifiers -> . decl_specifiers decl_specifier\l decl_specifier -> . storage_class\l decl_specifier -> . type_specifier\l decl_specifier -> . type_qualifier\l storage_class -> . T_AUTO\l storage_class -> . T_EXTERN\l storage_class -> . T_REGISTER\l storage_class -> . T_STATIC\l storage_class -> . T_INLINE\l storage_class -> . T_EXTENSION\l type_specifier -> . T_CHAR\l type_specifier -> . T_DOUBLE\l type_specifier -> . T_FLOAT\l type_specifier -> . T_INT\l type_specifier -> . T_LONG\l type_specifier -> . T_SHORT\l type_specifier -> . T_SIGNED\l type_specifier -> . T_UNSIGNED\l type_specifier -> . T_VOID\l type_specifier -> . T_Bool\l type_specifier -> . T_Complex\l type_specifier -> . T_Imaginary\l type_specifier -> . T_TYPEDEF_NAME\l type_specifier -> . struct_or_union_specifier\l type_specifier -> . enum_specifier\l type_qualifier -> . T_TYPE_QUALIFIER\l type_qualifier -> . T_DEFINE_NAME\l struct_or_union_specifier -> . struct_or_union any_id braces\l struct_or_union_specifier -> . struct_or_union braces\l struct_or_union_specifier -> . struct_or_union any_id\l struct_or_union -> . T_STRUCT\l struct_or_union -> . T_UNION\l enum_specifier -> . enumeration any_id braces\l enum_specifier -> . enumeration braces\l enum_specifier -> . enumeration any_id\l enumeration -> . T_ENUM\l"];
|
||||
q63 [label="63:\l any_typedef -> T_EXTENSION T_TYPEDEF . { T_TYPE_QUALIFIER T_Imaginary T_Complex T_Bool T_UNION T_STRUCT T_ENUM T_UNSIGNED T_SIGNED T_SHORT T_LONG T_VOID T_INT T_FLOAT T_DOUBLE T_CHAR T_EXTENSION T_INLINE T_STATIC T_REGISTER T_EXTERN T_AUTO T_DEFINE_NAME T_TYPEDEF_NAME }\l"];
|
||||
q64 [label="64:\l external_declaration -> T_ASM T_ASMARG . ';'\l"];
|
||||
q65 [label="65:\l storage_class -> T_EXTERN . { ')' ',' ';' T_BRACKETS T_TYPE_QUALIFIER T_Imaginary T_Complex T_Bool T_UNION T_STRUCT T_ENUM T_UNSIGNED T_SIGNED T_SHORT T_LONG T_VOID T_INT T_FLOAT T_DOUBLE T_CHAR T_EXTENSION T_INLINE T_STATIC T_REGISTER T_EXTERN T_AUTO T_DEFINE_NAME T_TYPEDEF_NAME T_IDENTIFIER '&' '*' '(' }\l"];
|
||||
q66 [label="66:\l storage_class -> T_EXTENSION . { ')' ',' ';' T_BRACKETS T_TYPE_QUALIFIER T_Imaginary T_Complex T_Bool T_UNION T_STRUCT T_ENUM T_UNSIGNED T_SIGNED T_SHORT T_LONG T_VOID T_INT T_FLOAT T_DOUBLE T_CHAR T_EXTENSION T_INLINE T_STATIC T_REGISTER T_EXTERN T_AUTO T_DEFINE_NAME T_TYPEDEF_NAME T_IDENTIFIER '&' '*' '(' }\l"];
|
||||
q67 [label="67:\l declaration -> decl_specifiers ';' . { ';' T_ASM T_LBRACE T_TYPE_QUALIFIER T_Imaginary T_Complex T_Bool T_UNION T_STRUCT T_ENUM T_UNSIGNED T_SIGNED T_SHORT T_LONG T_VOID T_INT T_FLOAT T_DOUBLE T_CHAR T_EXTENSION T_INLINE T_TYPEDEF T_STATIC T_REGISTER T_EXTERN T_AUTO T_DEFINE_NAME T_TYPEDEF_NAME T_IDENTIFIER '&' '*' '(' error $end }\l"];
|
||||
q68 [label="68:\l decl_specifiers -> decl_specifiers decl_specifier . { ')' ',' ';' T_BRACKETS T_TYPE_QUALIFIER T_Imaginary T_Complex T_Bool T_UNION T_STRUCT T_ENUM T_UNSIGNED T_SIGNED T_SHORT T_LONG T_VOID T_INT T_FLOAT T_DOUBLE T_CHAR T_EXTENSION T_INLINE T_STATIC T_REGISTER T_EXTERN T_AUTO T_DEFINE_NAME T_TYPEDEF_NAME T_IDENTIFIER '&' '*' '(' }\l"];
|
||||
q69 [label="69:\l declaration -> decl_specifiers init_declarator_list . ';'\l init_declarator_list -> init_declarator_list . ',' init_declarator\l"];
|
||||
q70 [label="70:\l init_declarator_list -> init_declarator . { ',' ';' }\l"];
|
||||
q71 [label="71:\l $$2 -> . { T_VA_DCL T_LBRACE T_TYPE_QUALIFIER T_Imaginary T_Complex T_Bool T_UNION T_STRUCT T_ENUM T_UNSIGNED T_SIGNED T_SHORT T_LONG T_VOID T_INT T_FLOAT T_DOUBLE T_CHAR T_EXTENSION T_INLINE T_TYPEDEF T_STATIC T_REGISTER T_EXTERN T_AUTO T_DEFINE_NAME T_TYPEDEF_NAME }\l function_definition -> decl_specifiers declarator . $$2 opt_declaration_list T_LBRACE $$3 T_MATCHRBRACE\l init_declarator -> declarator . { ',' ';' }\l init_declarator -> declarator . '=' $$5 T_INITIALIZER\l"];
|
||||
q72 [label="72:\l declaration -> . decl_specifiers ';'\l declaration -> . decl_specifiers init_declarator_list ';'\l declaration -> . any_typedef decl_specifiers $$1 opt_declarator_list ';'\l any_typedef -> . T_EXTENSION T_TYPEDEF\l any_typedef -> . T_TYPEDEF\l function_definition -> declarator $$4 . opt_declaration_list T_LBRACE T_MATCHRBRACE\l opt_declaration_list -> . { T_LBRACE }\l opt_declaration_list -> . T_VA_DCL\l opt_declaration_list -> . declaration_list\l declaration_list -> . declaration\l declaration_list -> . declaration_list declaration\l decl_specifiers -> . decl_specifier\l decl_specifiers -> . decl_specifiers decl_specifier\l decl_specifier -> . storage_class\l decl_specifier -> . type_specifier\l decl_specifier -> . type_qualifier\l storage_class -> . T_AUTO\l storage_class -> . T_EXTERN\l storage_class -> . T_REGISTER\l storage_class -> . T_STATIC\l storage_class -> . T_INLINE\l storage_class -> . T_EXTENSION\l type_specifier -> . T_CHAR\l type_specifier -> . T_DOUBLE\l type_specifier -> . T_FLOAT\l type_specifier -> . T_INT\l type_specifier -> . T_LONG\l type_specifier -> . T_SHORT\l type_specifier -> . T_SIGNED\l type_specifier -> . T_UNSIGNED\l type_specifier -> . T_VOID\l type_specifier -> . T_Bool\l type_specifier -> . T_Complex\l type_specifier -> . T_Imaginary\l type_specifier -> . T_TYPEDEF_NAME\l type_specifier -> . struct_or_union_specifier\l type_specifier -> . enum_specifier\l type_qualifier -> . T_TYPE_QUALIFIER\l type_qualifier -> . T_DEFINE_NAME\l struct_or_union_specifier -> . struct_or_union any_id braces\l struct_or_union_specifier -> . struct_or_union braces\l struct_or_union_specifier -> . struct_or_union any_id\l struct_or_union -> . T_STRUCT\l struct_or_union -> . T_UNION\l enum_specifier -> . enumeration any_id braces\l enum_specifier -> . enumeration braces\l enum_specifier -> . enumeration any_id\l enumeration -> . T_ENUM\l"];
|
||||
q73 [label="73:\l decl_specifiers -> . decl_specifier\l decl_specifiers -> . decl_specifiers decl_specifier\l decl_specifier -> . storage_class\l decl_specifier -> . type_specifier\l decl_specifier -> . type_qualifier\l storage_class -> . T_AUTO\l storage_class -> . T_EXTERN\l storage_class -> . T_REGISTER\l storage_class -> . T_STATIC\l storage_class -> . T_INLINE\l storage_class -> . T_EXTENSION\l type_specifier -> . T_CHAR\l type_specifier -> . T_DOUBLE\l type_specifier -> . T_FLOAT\l type_specifier -> . T_INT\l type_specifier -> . T_LONG\l type_specifier -> . T_SHORT\l type_specifier -> . T_SIGNED\l type_specifier -> . T_UNSIGNED\l type_specifier -> . T_VOID\l type_specifier -> . T_Bool\l type_specifier -> . T_Complex\l type_specifier -> . T_Imaginary\l type_specifier -> . T_TYPEDEF_NAME\l type_specifier -> . struct_or_union_specifier\l type_specifier -> . enum_specifier\l type_qualifier -> . T_TYPE_QUALIFIER\l type_qualifier -> . T_DEFINE_NAME\l struct_or_union_specifier -> . struct_or_union any_id braces\l struct_or_union_specifier -> . struct_or_union braces\l struct_or_union_specifier -> . struct_or_union any_id\l struct_or_union -> . T_STRUCT\l struct_or_union -> . T_UNION\l enum_specifier -> . enumeration any_id braces\l enum_specifier -> . enumeration braces\l enum_specifier -> . enumeration any_id\l enumeration -> . T_ENUM\l any_id -> . T_IDENTIFIER\l any_id -> . T_TYPEDEF_NAME\l direct_declarator -> direct_declarator '(' . parameter_type_list ')'\l direct_declarator -> direct_declarator '(' . opt_identifier_list ')'\l parameter_type_list -> . parameter_list\l parameter_type_list -> . parameter_list ',' T_ELLIPSIS\l parameter_list -> . parameter_declaration\l parameter_list -> . parameter_list ',' parameter_declaration\l parameter_declaration -> . decl_specifiers declarator\l parameter_declaration -> . decl_specifiers abs_declarator\l parameter_declaration -> . decl_specifiers\l opt_identifier_list -> . { ')' }\l opt_identifier_list -> . identifier_list\l identifier_list -> . any_id\l identifier_list -> . identifier_list ',' any_id\l"];
|
||||
q74 [label="74:\l direct_declarator -> direct_declarator T_BRACKETS . { ')' '=' ',' ';' T_VA_DCL T_LBRACE T_BRACKETS T_TYPE_QUALIFIER T_Imaginary T_Complex T_Bool T_UNION T_STRUCT T_ENUM T_UNSIGNED T_SIGNED T_SHORT T_LONG T_VOID T_INT T_FLOAT T_DOUBLE T_CHAR T_EXTENSION T_INLINE T_TYPEDEF T_STATIC T_REGISTER T_EXTERN T_AUTO T_DEFINE_NAME T_TYPEDEF_NAME '(' }\l"];
|
||||
q75 [label="75:\l braces -> T_LBRACE . T_MATCHRBRACE\l"];
|
||||
q76 [label="76:\l braces -> . T_LBRACE T_MATCHRBRACE\l struct_or_union_specifier -> struct_or_union any_id . braces\l struct_or_union_specifier -> struct_or_union any_id . { ')' ',' ';' T_BRACKETS T_TYPE_QUALIFIER T_Imaginary T_Complex T_Bool T_UNION T_STRUCT T_ENUM T_UNSIGNED T_SIGNED T_SHORT T_LONG T_VOID T_INT T_FLOAT T_DOUBLE T_CHAR T_EXTENSION T_INLINE T_STATIC T_REGISTER T_EXTERN T_AUTO T_DEFINE_NAME T_TYPEDEF_NAME T_IDENTIFIER '&' '*' '(' }\l"];
|
||||
q77 [label="77:\l struct_or_union_specifier -> struct_or_union braces . { ')' ',' ';' T_BRACKETS T_TYPE_QUALIFIER T_Imaginary T_Complex T_Bool T_UNION T_STRUCT T_ENUM T_UNSIGNED T_SIGNED T_SHORT T_LONG T_VOID T_INT T_FLOAT T_DOUBLE T_CHAR T_EXTENSION T_INLINE T_STATIC T_REGISTER T_EXTERN T_AUTO T_DEFINE_NAME T_TYPEDEF_NAME T_IDENTIFIER '&' '*' '(' }\l"];
|
||||
q78 [label="78:\l declarator -> pointer direct_declarator . { ')' '=' ',' ';' T_VA_DCL T_LBRACE T_TYPE_QUALIFIER T_Imaginary T_Complex T_Bool T_UNION T_STRUCT T_ENUM T_UNSIGNED T_SIGNED T_SHORT T_LONG T_VOID T_INT T_FLOAT T_DOUBLE T_CHAR T_EXTENSION T_INLINE T_TYPEDEF T_STATIC T_REGISTER T_EXTERN T_AUTO T_DEFINE_NAME T_TYPEDEF_NAME }\l direct_declarator -> direct_declarator . T_BRACKETS\l direct_declarator -> direct_declarator . '(' parameter_type_list ')'\l direct_declarator -> direct_declarator . '(' opt_identifier_list ')'\l"];
|
||||
q79 [label="79:\l braces -> . T_LBRACE T_MATCHRBRACE\l enum_specifier -> enumeration any_id . braces\l enum_specifier -> enumeration any_id . { ')' ',' ';' T_BRACKETS T_TYPE_QUALIFIER T_Imaginary T_Complex T_Bool T_UNION T_STRUCT T_ENUM T_UNSIGNED T_SIGNED T_SHORT T_LONG T_VOID T_INT T_FLOAT T_DOUBLE T_CHAR T_EXTENSION T_INLINE T_STATIC T_REGISTER T_EXTERN T_AUTO T_DEFINE_NAME T_TYPEDEF_NAME T_IDENTIFIER '&' '*' '(' }\l"];
|
||||
q80 [label="80:\l enum_specifier -> enumeration braces . { ')' ',' ';' T_BRACKETS T_TYPE_QUALIFIER T_Imaginary T_Complex T_Bool T_UNION T_STRUCT T_ENUM T_UNSIGNED T_SIGNED T_SHORT T_LONG T_VOID T_INT T_FLOAT T_DOUBLE T_CHAR T_EXTENSION T_INLINE T_STATIC T_REGISTER T_EXTERN T_AUTO T_DEFINE_NAME T_TYPEDEF_NAME T_IDENTIFIER '&' '*' '(' }\l"];
|
||||
q81 [label="81:\l translation_unit -> translation_unit external_declaration . { ';' T_ASM T_TYPE_QUALIFIER T_Imaginary T_Complex T_Bool T_UNION T_STRUCT T_ENUM T_UNSIGNED T_SIGNED T_SHORT T_LONG T_VOID T_INT T_FLOAT T_DOUBLE T_CHAR T_EXTENSION T_INLINE T_TYPEDEF T_STATIC T_REGISTER T_EXTERN T_AUTO T_DEFINE_NAME T_TYPEDEF_NAME T_IDENTIFIER '&' '*' '(' error $end }\l"];
|
||||
q82 [label="82:\l type_specifier -> T_TYPEDEF_NAME . { ')' ',' ';' T_BRACKETS T_TYPE_QUALIFIER T_Imaginary T_Complex T_Bool T_UNION T_STRUCT T_ENUM T_UNSIGNED T_SIGNED T_SHORT T_LONG T_VOID T_INT T_FLOAT T_DOUBLE T_CHAR T_EXTENSION T_INLINE T_STATIC T_REGISTER T_EXTERN T_AUTO T_DEFINE_NAME T_TYPEDEF_NAME T_IDENTIFIER '&' '*' '(' }\l"];
|
||||
q83 [label="83:\l $$1 -> . { ';' T_TYPEDEF_NAME T_IDENTIFIER '&' '*' '(' }\l declaration -> any_typedef decl_specifiers . $$1 opt_declarator_list ';'\l decl_specifiers -> decl_specifiers . decl_specifier\l decl_specifier -> . storage_class\l decl_specifier -> . type_specifier\l decl_specifier -> . type_qualifier\l storage_class -> . T_AUTO\l storage_class -> . T_EXTERN\l storage_class -> . T_REGISTER\l storage_class -> . T_STATIC\l storage_class -> . T_INLINE\l storage_class -> . T_EXTENSION\l type_specifier -> . T_CHAR\l type_specifier -> . T_DOUBLE\l type_specifier -> . T_FLOAT\l type_specifier -> . T_INT\l type_specifier -> . T_LONG\l type_specifier -> . T_SHORT\l type_specifier -> . T_SIGNED\l type_specifier -> . T_UNSIGNED\l type_specifier -> . T_VOID\l type_specifier -> . T_Bool\l type_specifier -> . T_Complex\l type_specifier -> . T_Imaginary\l type_specifier -> . T_TYPEDEF_NAME\l type_specifier -> . struct_or_union_specifier\l type_specifier -> . enum_specifier\l type_qualifier -> . T_TYPE_QUALIFIER\l type_qualifier -> . T_DEFINE_NAME\l struct_or_union_specifier -> . struct_or_union any_id braces\l struct_or_union_specifier -> . struct_or_union braces\l struct_or_union_specifier -> . struct_or_union any_id\l struct_or_union -> . T_STRUCT\l struct_or_union -> . T_UNION\l enum_specifier -> . enumeration any_id braces\l enum_specifier -> . enumeration braces\l enum_specifier -> . enumeration any_id\l enumeration -> . T_ENUM\l"];
|
||||
q84 [label="84:\l direct_declarator -> '(' declarator ')' . { ')' '=' ',' ';' T_VA_DCL T_LBRACE T_BRACKETS T_TYPE_QUALIFIER T_Imaginary T_Complex T_Bool T_UNION T_STRUCT T_ENUM T_UNSIGNED T_SIGNED T_SHORT T_LONG T_VOID T_INT T_FLOAT T_DOUBLE T_CHAR T_EXTENSION T_INLINE T_TYPEDEF T_STATIC T_REGISTER T_EXTERN T_AUTO T_DEFINE_NAME T_TYPEDEF_NAME '(' }\l"];
|
||||
q85 [label="85:\l pointer -> '*' opt_type_qualifiers pointer . { ')' ',' T_BRACKETS T_TYPEDEF_NAME T_IDENTIFIER '&' '(' }\l"];
|
||||
q86 [label="86:\l type_qualifier_list -> type_qualifier_list type_qualifier . { ')' ',' T_BRACKETS T_TYPE_QUALIFIER T_DEFINE_NAME T_TYPEDEF_NAME T_IDENTIFIER '&' '*' '(' }\l"];
|
||||
q87 [label="87:\l declaration -> decl_specifiers . ';'\l declaration -> decl_specifiers . init_declarator_list ';'\l decl_specifiers -> decl_specifiers . decl_specifier\l decl_specifier -> . storage_class\l decl_specifier -> . type_specifier\l decl_specifier -> . type_qualifier\l storage_class -> . T_AUTO\l storage_class -> . T_EXTERN\l storage_class -> . T_REGISTER\l storage_class -> . T_STATIC\l storage_class -> . T_INLINE\l storage_class -> . T_EXTENSION\l type_specifier -> . T_CHAR\l type_specifier -> . T_DOUBLE\l type_specifier -> . T_FLOAT\l type_specifier -> . T_INT\l type_specifier -> . T_LONG\l type_specifier -> . T_SHORT\l type_specifier -> . T_SIGNED\l type_specifier -> . T_UNSIGNED\l type_specifier -> . T_VOID\l type_specifier -> . T_Bool\l type_specifier -> . T_Complex\l type_specifier -> . T_Imaginary\l type_specifier -> . T_TYPEDEF_NAME\l type_specifier -> . struct_or_union_specifier\l type_specifier -> . enum_specifier\l type_qualifier -> . T_TYPE_QUALIFIER\l type_qualifier -> . T_DEFINE_NAME\l struct_or_union_specifier -> . struct_or_union any_id braces\l struct_or_union_specifier -> . struct_or_union braces\l struct_or_union_specifier -> . struct_or_union any_id\l struct_or_union -> . T_STRUCT\l struct_or_union -> . T_UNION\l init_declarator_list -> . init_declarator\l init_declarator_list -> . init_declarator_list ',' init_declarator\l init_declarator -> . declarator\l init_declarator -> . declarator '=' $$5 T_INITIALIZER\l enum_specifier -> . enumeration any_id braces\l enum_specifier -> . enumeration braces\l enum_specifier -> . enumeration any_id\l enumeration -> . T_ENUM\l any_id -> . T_IDENTIFIER\l any_id -> . T_TYPEDEF_NAME\l declarator -> . pointer direct_declarator\l declarator -> . direct_declarator\l direct_declarator -> . identifier_or_ref\l direct_declarator -> . '(' declarator ')'\l direct_declarator -> . direct_declarator T_BRACKETS\l direct_declarator -> . direct_declarator '(' parameter_type_list ')'\l direct_declarator -> . direct_declarator '(' opt_identifier_list ')'\l pointer -> . '*' opt_type_qualifiers\l pointer -> . '*' opt_type_qualifiers pointer\l identifier_or_ref -> . any_id\l identifier_or_ref -> . '&' any_id\l"];
|
||||
q88 [label="88:\l linkage_specification -> T_EXTERN T_STRING_LITERAL declaration . { ';' T_ASM T_TYPE_QUALIFIER T_Imaginary T_Complex T_Bool T_UNION T_STRUCT T_ENUM T_UNSIGNED T_SIGNED T_SHORT T_LONG T_VOID T_INT T_FLOAT T_DOUBLE T_CHAR T_EXTENSION T_INLINE T_TYPEDEF T_STATIC T_REGISTER T_EXTERN T_AUTO T_DEFINE_NAME T_TYPEDEF_NAME T_IDENTIFIER '&' '*' '(' error $end }\l"];
|
||||
q89 [label="89:\l linkage_specification -> T_EXTERN T_STRING_LITERAL braces . { ';' T_ASM T_TYPE_QUALIFIER T_Imaginary T_Complex T_Bool T_UNION T_STRUCT T_ENUM T_UNSIGNED T_SIGNED T_SHORT T_LONG T_VOID T_INT T_FLOAT T_DOUBLE T_CHAR T_EXTENSION T_INLINE T_TYPEDEF T_STATIC T_REGISTER T_EXTERN T_AUTO T_DEFINE_NAME T_TYPEDEF_NAME T_IDENTIFIER '&' '*' '(' error $end }\l"];
|
||||
q90 [label="90:\l external_declaration -> T_ASM T_ASMARG ';' . { ';' T_ASM T_TYPE_QUALIFIER T_Imaginary T_Complex T_Bool T_UNION T_STRUCT T_ENUM T_UNSIGNED T_SIGNED T_SHORT T_LONG T_VOID T_INT T_FLOAT T_DOUBLE T_CHAR T_EXTENSION T_INLINE T_TYPEDEF T_STATIC T_REGISTER T_EXTERN T_AUTO T_DEFINE_NAME T_TYPEDEF_NAME T_IDENTIFIER '&' '*' '(' error $end }\l"];
|
||||
q91 [label="91:\l declaration -> decl_specifiers init_declarator_list ';' . { ';' T_ASM T_LBRACE T_TYPE_QUALIFIER T_Imaginary T_Complex T_Bool T_UNION T_STRUCT T_ENUM T_UNSIGNED T_SIGNED T_SHORT T_LONG T_VOID T_INT T_FLOAT T_DOUBLE T_CHAR T_EXTENSION T_INLINE T_TYPEDEF T_STATIC T_REGISTER T_EXTERN T_AUTO T_DEFINE_NAME T_TYPEDEF_NAME T_IDENTIFIER '&' '*' '(' error $end }\l"];
|
||||
q92 [label="92:\l init_declarator_list -> init_declarator_list ',' . init_declarator\l init_declarator -> . declarator\l init_declarator -> . declarator '=' $$5 T_INITIALIZER\l any_id -> . T_IDENTIFIER\l any_id -> . T_TYPEDEF_NAME\l declarator -> . pointer direct_declarator\l declarator -> . direct_declarator\l direct_declarator -> . identifier_or_ref\l direct_declarator -> . '(' declarator ')'\l direct_declarator -> . direct_declarator T_BRACKETS\l direct_declarator -> . direct_declarator '(' parameter_type_list ')'\l direct_declarator -> . direct_declarator '(' opt_identifier_list ')'\l pointer -> . '*' opt_type_qualifiers\l pointer -> . '*' opt_type_qualifiers pointer\l identifier_or_ref -> . any_id\l identifier_or_ref -> . '&' any_id\l"];
|
||||
q93 [label="93:\l $$5 -> . { T_INITIALIZER }\l init_declarator -> declarator '=' . $$5 T_INITIALIZER\l"];
|
||||
q94 [label="94:\l declaration -> . decl_specifiers ';'\l declaration -> . decl_specifiers init_declarator_list ';'\l declaration -> . any_typedef decl_specifiers $$1 opt_declarator_list ';'\l any_typedef -> . T_EXTENSION T_TYPEDEF\l any_typedef -> . T_TYPEDEF\l function_definition -> decl_specifiers declarator $$2 . opt_declaration_list T_LBRACE $$3 T_MATCHRBRACE\l opt_declaration_list -> . { T_LBRACE }\l opt_declaration_list -> . T_VA_DCL\l opt_declaration_list -> . declaration_list\l declaration_list -> . declaration\l declaration_list -> . declaration_list declaration\l decl_specifiers -> . decl_specifier\l decl_specifiers -> . decl_specifiers decl_specifier\l decl_specifier -> . storage_class\l decl_specifier -> . type_specifier\l decl_specifier -> . type_qualifier\l storage_class -> . T_AUTO\l storage_class -> . T_EXTERN\l storage_class -> . T_REGISTER\l storage_class -> . T_STATIC\l storage_class -> . T_INLINE\l storage_class -> . T_EXTENSION\l type_specifier -> . T_CHAR\l type_specifier -> . T_DOUBLE\l type_specifier -> . T_FLOAT\l type_specifier -> . T_INT\l type_specifier -> . T_LONG\l type_specifier -> . T_SHORT\l type_specifier -> . T_SIGNED\l type_specifier -> . T_UNSIGNED\l type_specifier -> . T_VOID\l type_specifier -> . T_Bool\l type_specifier -> . T_Complex\l type_specifier -> . T_Imaginary\l type_specifier -> . T_TYPEDEF_NAME\l type_specifier -> . struct_or_union_specifier\l type_specifier -> . enum_specifier\l type_qualifier -> . T_TYPE_QUALIFIER\l type_qualifier -> . T_DEFINE_NAME\l struct_or_union_specifier -> . struct_or_union any_id braces\l struct_or_union_specifier -> . struct_or_union braces\l struct_or_union_specifier -> . struct_or_union any_id\l struct_or_union -> . T_STRUCT\l struct_or_union -> . T_UNION\l enum_specifier -> . enumeration any_id braces\l enum_specifier -> . enumeration braces\l enum_specifier -> . enumeration any_id\l enumeration -> . T_ENUM\l"];
|
||||
q95 [label="95:\l opt_declaration_list -> T_VA_DCL . { T_LBRACE }\l"];
|
||||
q96 [label="96:\l declaration_list -> declaration . { T_LBRACE T_TYPE_QUALIFIER T_Imaginary T_Complex T_Bool T_UNION T_STRUCT T_ENUM T_UNSIGNED T_SIGNED T_SHORT T_LONG T_VOID T_INT T_FLOAT T_DOUBLE T_CHAR T_EXTENSION T_INLINE T_TYPEDEF T_STATIC T_REGISTER T_EXTERN T_AUTO T_DEFINE_NAME T_TYPEDEF_NAME }\l"];
|
||||
q97 [label="97:\l function_definition -> declarator $$4 opt_declaration_list . T_LBRACE T_MATCHRBRACE\l"];
|
||||
q98 [label="98:\l declaration -> . decl_specifiers ';'\l declaration -> . decl_specifiers init_declarator_list ';'\l declaration -> . any_typedef decl_specifiers $$1 opt_declarator_list ';'\l any_typedef -> . T_EXTENSION T_TYPEDEF\l any_typedef -> . T_TYPEDEF\l opt_declaration_list -> declaration_list . { T_LBRACE }\l declaration_list -> declaration_list . declaration\l decl_specifiers -> . decl_specifier\l decl_specifiers -> . decl_specifiers decl_specifier\l decl_specifier -> . storage_class\l decl_specifier -> . type_specifier\l decl_specifier -> . type_qualifier\l storage_class -> . T_AUTO\l storage_class -> . T_EXTERN\l storage_class -> . T_REGISTER\l storage_class -> . T_STATIC\l storage_class -> . T_INLINE\l storage_class -> . T_EXTENSION\l type_specifier -> . T_CHAR\l type_specifier -> . T_DOUBLE\l type_specifier -> . T_FLOAT\l type_specifier -> . T_INT\l type_specifier -> . T_LONG\l type_specifier -> . T_SHORT\l type_specifier -> . T_SIGNED\l type_specifier -> . T_UNSIGNED\l type_specifier -> . T_VOID\l type_specifier -> . T_Bool\l type_specifier -> . T_Complex\l type_specifier -> . T_Imaginary\l type_specifier -> . T_TYPEDEF_NAME\l type_specifier -> . struct_or_union_specifier\l type_specifier -> . enum_specifier\l type_qualifier -> . T_TYPE_QUALIFIER\l type_qualifier -> . T_DEFINE_NAME\l struct_or_union_specifier -> . struct_or_union any_id braces\l struct_or_union_specifier -> . struct_or_union braces\l struct_or_union_specifier -> . struct_or_union any_id\l struct_or_union -> . T_STRUCT\l struct_or_union -> . T_UNION\l enum_specifier -> . enumeration any_id braces\l enum_specifier -> . enumeration braces\l enum_specifier -> . enumeration any_id\l enumeration -> . T_ENUM\l"];
|
||||
q99 [label="99:\l decl_specifiers -> decl_specifiers . decl_specifier\l decl_specifier -> . storage_class\l decl_specifier -> . type_specifier\l decl_specifier -> . type_qualifier\l storage_class -> . T_AUTO\l storage_class -> . T_EXTERN\l storage_class -> . T_REGISTER\l storage_class -> . T_STATIC\l storage_class -> . T_INLINE\l storage_class -> . T_EXTENSION\l type_specifier -> . T_CHAR\l type_specifier -> . T_DOUBLE\l type_specifier -> . T_FLOAT\l type_specifier -> . T_INT\l type_specifier -> . T_LONG\l type_specifier -> . T_SHORT\l type_specifier -> . T_SIGNED\l type_specifier -> . T_UNSIGNED\l type_specifier -> . T_VOID\l type_specifier -> . T_Bool\l type_specifier -> . T_Complex\l type_specifier -> . T_Imaginary\l type_specifier -> . T_TYPEDEF_NAME\l type_specifier -> . struct_or_union_specifier\l type_specifier -> . enum_specifier\l type_qualifier -> . T_TYPE_QUALIFIER\l type_qualifier -> . T_DEFINE_NAME\l struct_or_union_specifier -> . struct_or_union any_id braces\l struct_or_union_specifier -> . struct_or_union braces\l struct_or_union_specifier -> . struct_or_union any_id\l struct_or_union -> . T_STRUCT\l struct_or_union -> . T_UNION\l enum_specifier -> . enumeration any_id braces\l enum_specifier -> . enumeration braces\l enum_specifier -> . enumeration any_id\l enumeration -> . T_ENUM\l any_id -> . T_IDENTIFIER\l any_id -> . T_TYPEDEF_NAME\l declarator -> . pointer direct_declarator\l declarator -> . direct_declarator\l direct_declarator -> . identifier_or_ref\l direct_declarator -> . '(' declarator ')'\l direct_declarator -> . direct_declarator T_BRACKETS\l direct_declarator -> . direct_declarator '(' parameter_type_list ')'\l direct_declarator -> . direct_declarator '(' opt_identifier_list ')'\l pointer -> . '*' opt_type_qualifiers\l pointer -> . '*' opt_type_qualifiers pointer\l parameter_declaration -> decl_specifiers . declarator\l parameter_declaration -> decl_specifiers . abs_declarator\l parameter_declaration -> decl_specifiers . { ')' ',' }\l identifier_or_ref -> . any_id\l identifier_or_ref -> . '&' any_id\l abs_declarator -> . pointer\l abs_declarator -> . pointer direct_abs_declarator\l abs_declarator -> . direct_abs_declarator\l direct_abs_declarator -> . '(' abs_declarator ')'\l direct_abs_declarator -> . direct_abs_declarator T_BRACKETS\l direct_abs_declarator -> . T_BRACKETS\l direct_abs_declarator -> . direct_abs_declarator '(' parameter_type_list ')'\l direct_abs_declarator -> . direct_abs_declarator '(' ')'\l direct_abs_declarator -> . '(' parameter_type_list ')'\l direct_abs_declarator -> . '(' ')'\l"];
|
||||
q100 [label="100:\l direct_declarator -> direct_declarator '(' parameter_type_list . ')'\l"];
|
||||
q101 [label="101:\l parameter_type_list -> parameter_list . { ')' }\l parameter_type_list -> parameter_list . ',' T_ELLIPSIS\l parameter_list -> parameter_list . ',' parameter_declaration\l"];
|
||||
q102 [label="102:\l parameter_list -> parameter_declaration . { ')' ',' }\l"];
|
||||
q103 [label="103:\l direct_declarator -> direct_declarator '(' opt_identifier_list . ')'\l"];
|
||||
q104 [label="104:\l opt_identifier_list -> identifier_list . { ')' }\l identifier_list -> identifier_list . ',' any_id\l"];
|
||||
q105 [label="105:\l identifier_list -> any_id . { ')' ',' }\l"];
|
||||
q106 [label="106:\l braces -> T_LBRACE T_MATCHRBRACE . { ')' ',' ';' T_ASM T_BRACKETS T_TYPE_QUALIFIER T_Imaginary T_Complex T_Bool T_UNION T_STRUCT T_ENUM T_UNSIGNED T_SIGNED T_SHORT T_LONG T_VOID T_INT T_FLOAT T_DOUBLE T_CHAR T_EXTENSION T_INLINE T_TYPEDEF T_STATIC T_REGISTER T_EXTERN T_AUTO T_DEFINE_NAME T_TYPEDEF_NAME T_IDENTIFIER '&' '*' '(' error $end }\l"];
|
||||
q107 [label="107:\l struct_or_union_specifier -> struct_or_union any_id braces . { ')' ',' ';' T_BRACKETS T_TYPE_QUALIFIER T_Imaginary T_Complex T_Bool T_UNION T_STRUCT T_ENUM T_UNSIGNED T_SIGNED T_SHORT T_LONG T_VOID T_INT T_FLOAT T_DOUBLE T_CHAR T_EXTENSION T_INLINE T_STATIC T_REGISTER T_EXTERN T_AUTO T_DEFINE_NAME T_TYPEDEF_NAME T_IDENTIFIER '&' '*' '(' }\l"];
|
||||
q108 [label="108:\l enum_specifier -> enumeration any_id braces . { ')' ',' ';' T_BRACKETS T_TYPE_QUALIFIER T_Imaginary T_Complex T_Bool T_UNION T_STRUCT T_ENUM T_UNSIGNED T_SIGNED T_SHORT T_LONG T_VOID T_INT T_FLOAT T_DOUBLE T_CHAR T_EXTENSION T_INLINE T_STATIC T_REGISTER T_EXTERN T_AUTO T_DEFINE_NAME T_TYPEDEF_NAME T_IDENTIFIER '&' '*' '(' }\l"];
|
||||
q109 [label="109:\l declaration -> any_typedef decl_specifiers $$1 . opt_declarator_list ';'\l opt_declarator_list -> . { ';' }\l opt_declarator_list -> . declarator_list\l declarator_list -> . declarator\l declarator_list -> . declarator_list ',' declarator\l any_id -> . T_IDENTIFIER\l any_id -> . T_TYPEDEF_NAME\l declarator -> . pointer direct_declarator\l declarator -> . direct_declarator\l direct_declarator -> . identifier_or_ref\l direct_declarator -> . '(' declarator ')'\l direct_declarator -> . direct_declarator T_BRACKETS\l direct_declarator -> . direct_declarator '(' parameter_type_list ')'\l direct_declarator -> . direct_declarator '(' opt_identifier_list ')'\l pointer -> . '*' opt_type_qualifiers\l pointer -> . '*' opt_type_qualifiers pointer\l identifier_or_ref -> . any_id\l identifier_or_ref -> . '&' any_id\l"];
|
||||
q110 [label="110:\l init_declarator -> declarator . { ',' ';' }\l init_declarator -> declarator . '=' $$5 T_INITIALIZER\l"];
|
||||
q111 [label="111:\l init_declarator_list -> init_declarator_list ',' init_declarator . { ',' ';' }\l"];
|
||||
q112 [label="112:\l init_declarator -> declarator '=' $$5 . T_INITIALIZER\l"];
|
||||
q113 [label="113:\l function_definition -> decl_specifiers declarator $$2 opt_declaration_list . T_LBRACE $$3 T_MATCHRBRACE\l"];
|
||||
q114 [label="114:\l function_definition -> declarator $$4 opt_declaration_list T_LBRACE . T_MATCHRBRACE\l"];
|
||||
q115 [label="115:\l declaration_list -> declaration_list declaration . { T_LBRACE T_TYPE_QUALIFIER T_Imaginary T_Complex T_Bool T_UNION T_STRUCT T_ENUM T_UNSIGNED T_SIGNED T_SHORT T_LONG T_VOID T_INT T_FLOAT T_DOUBLE T_CHAR T_EXTENSION T_INLINE T_TYPEDEF T_STATIC T_REGISTER T_EXTERN T_AUTO T_DEFINE_NAME T_TYPEDEF_NAME }\l"];
|
||||
q116 [label="116:\l decl_specifiers -> . decl_specifier\l decl_specifiers -> . decl_specifiers decl_specifier\l decl_specifier -> . storage_class\l decl_specifier -> . type_specifier\l decl_specifier -> . type_qualifier\l storage_class -> . T_AUTO\l storage_class -> . T_EXTERN\l storage_class -> . T_REGISTER\l storage_class -> . T_STATIC\l storage_class -> . T_INLINE\l storage_class -> . T_EXTENSION\l type_specifier -> . T_CHAR\l type_specifier -> . T_DOUBLE\l type_specifier -> . T_FLOAT\l type_specifier -> . T_INT\l type_specifier -> . T_LONG\l type_specifier -> . T_SHORT\l type_specifier -> . T_SIGNED\l type_specifier -> . T_UNSIGNED\l type_specifier -> . T_VOID\l type_specifier -> . T_Bool\l type_specifier -> . T_Complex\l type_specifier -> . T_Imaginary\l type_specifier -> . T_TYPEDEF_NAME\l type_specifier -> . struct_or_union_specifier\l type_specifier -> . enum_specifier\l type_qualifier -> . T_TYPE_QUALIFIER\l type_qualifier -> . T_DEFINE_NAME\l struct_or_union_specifier -> . struct_or_union any_id braces\l struct_or_union_specifier -> . struct_or_union braces\l struct_or_union_specifier -> . struct_or_union any_id\l struct_or_union -> . T_STRUCT\l struct_or_union -> . T_UNION\l enum_specifier -> . enumeration any_id braces\l enum_specifier -> . enumeration braces\l enum_specifier -> . enumeration any_id\l enumeration -> . T_ENUM\l any_id -> . T_IDENTIFIER\l any_id -> . T_TYPEDEF_NAME\l declarator -> . pointer direct_declarator\l declarator -> . direct_declarator\l direct_declarator -> . identifier_or_ref\l direct_declarator -> . '(' declarator ')'\l direct_declarator -> '(' . declarator ')'\l direct_declarator -> . direct_declarator T_BRACKETS\l direct_declarator -> . direct_declarator '(' parameter_type_list ')'\l direct_declarator -> . direct_declarator '(' opt_identifier_list ')'\l pointer -> . '*' opt_type_qualifiers\l pointer -> . '*' opt_type_qualifiers pointer\l parameter_type_list -> . parameter_list\l parameter_type_list -> . parameter_list ',' T_ELLIPSIS\l parameter_list -> . parameter_declaration\l parameter_list -> . parameter_list ',' parameter_declaration\l parameter_declaration -> . decl_specifiers declarator\l parameter_declaration -> . decl_specifiers abs_declarator\l parameter_declaration -> . decl_specifiers\l identifier_or_ref -> . any_id\l identifier_or_ref -> . '&' any_id\l abs_declarator -> . pointer\l abs_declarator -> . pointer direct_abs_declarator\l abs_declarator -> . direct_abs_declarator\l direct_abs_declarator -> . '(' abs_declarator ')'\l direct_abs_declarator -> '(' . abs_declarator ')'\l direct_abs_declarator -> . direct_abs_declarator T_BRACKETS\l direct_abs_declarator -> . T_BRACKETS\l direct_abs_declarator -> . direct_abs_declarator '(' parameter_type_list ')'\l direct_abs_declarator -> . direct_abs_declarator '(' ')'\l direct_abs_declarator -> . '(' parameter_type_list ')'\l direct_abs_declarator -> '(' . parameter_type_list ')'\l direct_abs_declarator -> . '(' ')'\l direct_abs_declarator -> '(' . ')'\l"];
|
||||
q117 [label="117:\l direct_abs_declarator -> T_BRACKETS . { ')' ',' T_BRACKETS '(' }\l"];
|
||||
q118 [label="118:\l parameter_declaration -> decl_specifiers declarator . { ')' ',' }\l"];
|
||||
q119 [label="119:\l parameter_declaration -> decl_specifiers abs_declarator . { ')' ',' }\l"];
|
||||
q120 [label="120:\l abs_declarator -> direct_abs_declarator . { ')' ',' }\l direct_abs_declarator -> direct_abs_declarator . T_BRACKETS\l direct_abs_declarator -> direct_abs_declarator . '(' parameter_type_list ')'\l direct_abs_declarator -> direct_abs_declarator . '(' ')'\l"];
|
||||
q121 [label="121:\l any_id -> . T_IDENTIFIER\l any_id -> . T_TYPEDEF_NAME\l declarator -> pointer . direct_declarator\l direct_declarator -> . identifier_or_ref\l direct_declarator -> . '(' declarator ')'\l direct_declarator -> . direct_declarator T_BRACKETS\l direct_declarator -> . direct_declarator '(' parameter_type_list ')'\l direct_declarator -> . direct_declarator '(' opt_identifier_list ')'\l identifier_or_ref -> . any_id\l identifier_or_ref -> . '&' any_id\l abs_declarator -> pointer . { ')' ',' }\l abs_declarator -> pointer . direct_abs_declarator\l direct_abs_declarator -> . '(' abs_declarator ')'\l direct_abs_declarator -> . direct_abs_declarator T_BRACKETS\l direct_abs_declarator -> . T_BRACKETS\l direct_abs_declarator -> . direct_abs_declarator '(' parameter_type_list ')'\l direct_abs_declarator -> . direct_abs_declarator '(' ')'\l direct_abs_declarator -> . '(' parameter_type_list ')'\l direct_abs_declarator -> . '(' ')'\l"];
|
||||
q122 [label="122:\l direct_declarator -> direct_declarator '(' parameter_type_list ')' . { ')' '=' ',' ';' T_VA_DCL T_LBRACE T_BRACKETS T_TYPE_QUALIFIER T_Imaginary T_Complex T_Bool T_UNION T_STRUCT T_ENUM T_UNSIGNED T_SIGNED T_SHORT T_LONG T_VOID T_INT T_FLOAT T_DOUBLE T_CHAR T_EXTENSION T_INLINE T_TYPEDEF T_STATIC T_REGISTER T_EXTERN T_AUTO T_DEFINE_NAME T_TYPEDEF_NAME '(' }\l"];
|
||||
q123 [label="123:\l decl_specifiers -> . decl_specifier\l decl_specifiers -> . decl_specifiers decl_specifier\l decl_specifier -> . storage_class\l decl_specifier -> . type_specifier\l decl_specifier -> . type_qualifier\l storage_class -> . T_AUTO\l storage_class -> . T_EXTERN\l storage_class -> . T_REGISTER\l storage_class -> . T_STATIC\l storage_class -> . T_INLINE\l storage_class -> . T_EXTENSION\l type_specifier -> . T_CHAR\l type_specifier -> . T_DOUBLE\l type_specifier -> . T_FLOAT\l type_specifier -> . T_INT\l type_specifier -> . T_LONG\l type_specifier -> . T_SHORT\l type_specifier -> . T_SIGNED\l type_specifier -> . T_UNSIGNED\l type_specifier -> . T_VOID\l type_specifier -> . T_Bool\l type_specifier -> . T_Complex\l type_specifier -> . T_Imaginary\l type_specifier -> . T_TYPEDEF_NAME\l type_specifier -> . struct_or_union_specifier\l type_specifier -> . enum_specifier\l type_qualifier -> . T_TYPE_QUALIFIER\l type_qualifier -> . T_DEFINE_NAME\l struct_or_union_specifier -> . struct_or_union any_id braces\l struct_or_union_specifier -> . struct_or_union braces\l struct_or_union_specifier -> . struct_or_union any_id\l struct_or_union -> . T_STRUCT\l struct_or_union -> . T_UNION\l enum_specifier -> . enumeration any_id braces\l enum_specifier -> . enumeration braces\l enum_specifier -> . enumeration any_id\l enumeration -> . T_ENUM\l parameter_type_list -> parameter_list ',' . T_ELLIPSIS\l parameter_list -> parameter_list ',' . parameter_declaration\l parameter_declaration -> . decl_specifiers declarator\l parameter_declaration -> . decl_specifiers abs_declarator\l parameter_declaration -> . decl_specifiers\l"];
|
||||
q124 [label="124:\l direct_declarator -> direct_declarator '(' opt_identifier_list ')' . { ')' '=' ',' ';' T_VA_DCL T_LBRACE T_BRACKETS T_TYPE_QUALIFIER T_Imaginary T_Complex T_Bool T_UNION T_STRUCT T_ENUM T_UNSIGNED T_SIGNED T_SHORT T_LONG T_VOID T_INT T_FLOAT T_DOUBLE T_CHAR T_EXTENSION T_INLINE T_TYPEDEF T_STATIC T_REGISTER T_EXTERN T_AUTO T_DEFINE_NAME T_TYPEDEF_NAME '(' }\l"];
|
||||
q125 [label="125:\l any_id -> . T_IDENTIFIER\l any_id -> . T_TYPEDEF_NAME\l identifier_list -> identifier_list ',' . any_id\l"];
|
||||
q126 [label="126:\l declarator_list -> declarator . { ',' ';' }\l"];
|
||||
q127 [label="127:\l declaration -> any_typedef decl_specifiers $$1 opt_declarator_list . ';'\l"];
|
||||
q128 [label="128:\l opt_declarator_list -> declarator_list . { ';' }\l declarator_list -> declarator_list . ',' declarator\l"];
|
||||
q129 [label="129:\l init_declarator -> declarator '=' $$5 T_INITIALIZER . { ',' ';' }\l"];
|
||||
q130 [label="130:\l $$3 -> . { T_MATCHRBRACE }\l function_definition -> decl_specifiers declarator $$2 opt_declaration_list T_LBRACE . $$3 T_MATCHRBRACE\l"];
|
||||
q131 [label="131:\l function_definition -> declarator $$4 opt_declaration_list T_LBRACE T_MATCHRBRACE . { ';' T_ASM T_TYPE_QUALIFIER T_Imaginary T_Complex T_Bool T_UNION T_STRUCT T_ENUM T_UNSIGNED T_SIGNED T_SHORT T_LONG T_VOID T_INT T_FLOAT T_DOUBLE T_CHAR T_EXTENSION T_INLINE T_TYPEDEF T_STATIC T_REGISTER T_EXTERN T_AUTO T_DEFINE_NAME T_TYPEDEF_NAME T_IDENTIFIER '&' '*' '(' error $end }\l"];
|
||||
q132 [label="132:\l direct_abs_declarator -> '(' ')' . { ')' ',' T_BRACKETS '(' }\l"];
|
||||
q133 [label="133:\l direct_abs_declarator -> '(' abs_declarator . ')'\l"];
|
||||
q134 [label="134:\l direct_abs_declarator -> '(' parameter_type_list . ')'\l"];
|
||||
q135 [label="135:\l decl_specifiers -> . decl_specifier\l decl_specifiers -> . decl_specifiers decl_specifier\l decl_specifier -> . storage_class\l decl_specifier -> . type_specifier\l decl_specifier -> . type_qualifier\l storage_class -> . T_AUTO\l storage_class -> . T_EXTERN\l storage_class -> . T_REGISTER\l storage_class -> . T_STATIC\l storage_class -> . T_INLINE\l storage_class -> . T_EXTENSION\l type_specifier -> . T_CHAR\l type_specifier -> . T_DOUBLE\l type_specifier -> . T_FLOAT\l type_specifier -> . T_INT\l type_specifier -> . T_LONG\l type_specifier -> . T_SHORT\l type_specifier -> . T_SIGNED\l type_specifier -> . T_UNSIGNED\l type_specifier -> . T_VOID\l type_specifier -> . T_Bool\l type_specifier -> . T_Complex\l type_specifier -> . T_Imaginary\l type_specifier -> . T_TYPEDEF_NAME\l type_specifier -> . struct_or_union_specifier\l type_specifier -> . enum_specifier\l type_qualifier -> . T_TYPE_QUALIFIER\l type_qualifier -> . T_DEFINE_NAME\l struct_or_union_specifier -> . struct_or_union any_id braces\l struct_or_union_specifier -> . struct_or_union braces\l struct_or_union_specifier -> . struct_or_union any_id\l struct_or_union -> . T_STRUCT\l struct_or_union -> . T_UNION\l enum_specifier -> . enumeration any_id braces\l enum_specifier -> . enumeration braces\l enum_specifier -> . enumeration any_id\l enumeration -> . T_ENUM\l parameter_type_list -> . parameter_list\l parameter_type_list -> . parameter_list ',' T_ELLIPSIS\l parameter_list -> . parameter_declaration\l parameter_list -> . parameter_list ',' parameter_declaration\l parameter_declaration -> . decl_specifiers declarator\l parameter_declaration -> . decl_specifiers abs_declarator\l parameter_declaration -> . decl_specifiers\l direct_abs_declarator -> direct_abs_declarator '(' . parameter_type_list ')'\l direct_abs_declarator -> direct_abs_declarator '(' . ')'\l"];
|
||||
q136 [label="136:\l direct_abs_declarator -> direct_abs_declarator T_BRACKETS . { ')' ',' T_BRACKETS '(' }\l"];
|
||||
q137 [label="137:\l abs_declarator -> pointer direct_abs_declarator . { ')' ',' }\l direct_abs_declarator -> direct_abs_declarator . T_BRACKETS\l direct_abs_declarator -> direct_abs_declarator . '(' parameter_type_list ')'\l direct_abs_declarator -> direct_abs_declarator . '(' ')'\l"];
|
||||
q138 [label="138:\l parameter_type_list -> parameter_list ',' T_ELLIPSIS . { ')' }\l"];
|
||||
q139 [label="139:\l parameter_list -> parameter_list ',' parameter_declaration . { ')' ',' }\l"];
|
||||
q140 [label="140:\l identifier_list -> identifier_list ',' any_id . { ')' ',' }\l"];
|
||||
q141 [label="141:\l declaration -> any_typedef decl_specifiers $$1 opt_declarator_list ';' . { ';' T_ASM T_LBRACE T_TYPE_QUALIFIER T_Imaginary T_Complex T_Bool T_UNION T_STRUCT T_ENUM T_UNSIGNED T_SIGNED T_SHORT T_LONG T_VOID T_INT T_FLOAT T_DOUBLE T_CHAR T_EXTENSION T_INLINE T_TYPEDEF T_STATIC T_REGISTER T_EXTERN T_AUTO T_DEFINE_NAME T_TYPEDEF_NAME T_IDENTIFIER '&' '*' '(' error $end }\l"];
|
||||
q142 [label="142:\l declarator_list -> declarator_list ',' . declarator\l any_id -> . T_IDENTIFIER\l any_id -> . T_TYPEDEF_NAME\l declarator -> . pointer direct_declarator\l declarator -> . direct_declarator\l direct_declarator -> . identifier_or_ref\l direct_declarator -> . '(' declarator ')'\l direct_declarator -> . direct_declarator T_BRACKETS\l direct_declarator -> . direct_declarator '(' parameter_type_list ')'\l direct_declarator -> . direct_declarator '(' opt_identifier_list ')'\l pointer -> . '*' opt_type_qualifiers\l pointer -> . '*' opt_type_qualifiers pointer\l identifier_or_ref -> . any_id\l identifier_or_ref -> . '&' any_id\l"];
|
||||
q143 [label="143:\l function_definition -> decl_specifiers declarator $$2 opt_declaration_list T_LBRACE $$3 . T_MATCHRBRACE\l"];
|
||||
q144 [label="144:\l direct_abs_declarator -> '(' abs_declarator ')' . { ')' ',' T_BRACKETS '(' }\l"];
|
||||
q145 [label="145:\l direct_abs_declarator -> '(' parameter_type_list ')' . { ')' ',' T_BRACKETS '(' }\l"];
|
||||
q146 [label="146:\l direct_abs_declarator -> direct_abs_declarator '(' ')' . { ')' ',' T_BRACKETS '(' }\l"];
|
||||
q147 [label="147:\l direct_abs_declarator -> direct_abs_declarator '(' parameter_type_list . ')'\l"];
|
||||
q148 [label="148:\l declarator_list -> declarator_list ',' declarator . { ',' ';' }\l"];
|
||||
q149 [label="149:\l function_definition -> decl_specifiers declarator $$2 opt_declaration_list T_LBRACE $$3 T_MATCHRBRACE . { ';' T_ASM T_TYPE_QUALIFIER T_Imaginary T_Complex T_Bool T_UNION T_STRUCT T_ENUM T_UNSIGNED T_SIGNED T_SHORT T_LONG T_VOID T_INT T_FLOAT T_DOUBLE T_CHAR T_EXTENSION T_INLINE T_TYPEDEF T_STATIC T_REGISTER T_EXTERN T_AUTO T_DEFINE_NAME T_TYPEDEF_NAME T_IDENTIFIER '&' '*' '(' error $end }\l"];
|
||||
q150 [label="150:\l direct_abs_declarator -> direct_abs_declarator '(' parameter_type_list ')' . { ')' ',' T_BRACKETS '(' }\l"];
|
||||
|
||||
q0 -> q1 [label="error"];
|
||||
q0 -> q2 [label="'('"];
|
||||
q0 -> q3 [label="'*'"];
|
||||
q0 -> q4 [label="'&'"];
|
||||
q0 -> q5 [label="T_IDENTIFIER"];
|
||||
q0 -> q6 [label="T_TYPEDEF_NAME"];
|
||||
q0 -> q7 [label="T_DEFINE_NAME"];
|
||||
q0 -> q8 [label="T_AUTO"];
|
||||
q0 -> q9 [label="T_EXTERN"];
|
||||
q0 -> q10 [label="T_REGISTER"];
|
||||
q0 -> q11 [label="T_STATIC"];
|
||||
q0 -> q12 [label="T_TYPEDEF"];
|
||||
q0 -> q13 [label="T_INLINE"];
|
||||
q0 -> q14 [label="T_EXTENSION"];
|
||||
q0 -> q15 [label="T_CHAR"];
|
||||
q0 -> q16 [label="T_DOUBLE"];
|
||||
q0 -> q17 [label="T_FLOAT"];
|
||||
q0 -> q18 [label="T_INT"];
|
||||
q0 -> q19 [label="T_VOID"];
|
||||
q0 -> q20 [label="T_LONG"];
|
||||
q0 -> q21 [label="T_SHORT"];
|
||||
q0 -> q22 [label="T_SIGNED"];
|
||||
q0 -> q23 [label="T_UNSIGNED"];
|
||||
q0 -> q24 [label="T_ENUM"];
|
||||
q0 -> q25 [label="T_STRUCT"];
|
||||
q0 -> q26 [label="T_UNION"];
|
||||
q0 -> q27 [label="T_Bool"];
|
||||
q0 -> q28 [label="T_Complex"];
|
||||
q0 -> q29 [label="T_Imaginary"];
|
||||
q0 -> q30 [label="T_TYPE_QUALIFIER"];
|
||||
q0 -> q31 [label="T_ASM"];
|
||||
q0 -> q32 [label="';'"];
|
||||
q0 -> q33 [label="program"];
|
||||
q0 -> q34 [label="decl_specifiers"];
|
||||
q0 -> q35 [label="decl_specifier"];
|
||||
q0 -> q36 [label="storage_class"];
|
||||
q0 -> q37 [label="type_specifier"];
|
||||
q0 -> q38 [label="type_qualifier"];
|
||||
q0 -> q39 [label="struct_or_union_specifier"];
|
||||
q0 -> q40 [label="enum_specifier"];
|
||||
q0 -> q41 [label="declarator"];
|
||||
q0 -> q42 [label="direct_declarator"];
|
||||
q0 -> q43 [label="struct_or_union"];
|
||||
q0 -> q44 [label="pointer"];
|
||||
q0 -> q45 [label="any_id"];
|
||||
q0 -> q46 [label="identifier_or_ref"];
|
||||
q0 -> q47 [label="enumeration"];
|
||||
q0 -> q48 [label="translation_unit"];
|
||||
q0 -> q49 [label="external_declaration"];
|
||||
q0 -> q50 [label="declaration"];
|
||||
q0 -> q51 [label="function_definition"];
|
||||
q0 -> q52 [label="linkage_specification"];
|
||||
q0 -> q53 [label="any_typedef"];
|
||||
q1 -> q54 [label="T_MATCHRBRACE"];
|
||||
q1 -> q55 [label="';'"];
|
||||
q2 -> q2 [label="'('"];
|
||||
q2 -> q3 [label="'*'"];
|
||||
q2 -> q4 [label="'&'"];
|
||||
q2 -> q5 [label="T_IDENTIFIER"];
|
||||
q2 -> q56 [label="T_TYPEDEF_NAME"];
|
||||
q2 -> q57 [label="declarator"];
|
||||
q2 -> q42 [label="direct_declarator"];
|
||||
q2 -> q44 [label="pointer"];
|
||||
q2 -> q45 [label="any_id"];
|
||||
q2 -> q46 [label="identifier_or_ref"];
|
||||
q3 -> q7 [label="T_DEFINE_NAME"];
|
||||
q3 -> q30 [label="T_TYPE_QUALIFIER"];
|
||||
q3 -> q58 [label="type_qualifier"];
|
||||
q3 -> q59 [label="opt_type_qualifiers"];
|
||||
q3 -> q60 [label="type_qualifier_list"];
|
||||
q4 -> q5 [label="T_IDENTIFIER"];
|
||||
q4 -> q56 [label="T_TYPEDEF_NAME"];
|
||||
q4 -> q61 [label="any_id"];
|
||||
q9 -> q62 [label="T_STRING_LITERAL"];
|
||||
q14 -> q63 [label="T_TYPEDEF"];
|
||||
q31 -> q64 [label="T_ASMARG"];
|
||||
q34 -> q2 [label="'('"];
|
||||
q34 -> q3 [label="'*'"];
|
||||
q34 -> q4 [label="'&'"];
|
||||
q34 -> q5 [label="T_IDENTIFIER"];
|
||||
q34 -> q6 [label="T_TYPEDEF_NAME"];
|
||||
q34 -> q7 [label="T_DEFINE_NAME"];
|
||||
q34 -> q8 [label="T_AUTO"];
|
||||
q34 -> q65 [label="T_EXTERN"];
|
||||
q34 -> q10 [label="T_REGISTER"];
|
||||
q34 -> q11 [label="T_STATIC"];
|
||||
q34 -> q13 [label="T_INLINE"];
|
||||
q34 -> q66 [label="T_EXTENSION"];
|
||||
q34 -> q15 [label="T_CHAR"];
|
||||
q34 -> q16 [label="T_DOUBLE"];
|
||||
q34 -> q17 [label="T_FLOAT"];
|
||||
q34 -> q18 [label="T_INT"];
|
||||
q34 -> q19 [label="T_VOID"];
|
||||
q34 -> q20 [label="T_LONG"];
|
||||
q34 -> q21 [label="T_SHORT"];
|
||||
q34 -> q22 [label="T_SIGNED"];
|
||||
q34 -> q23 [label="T_UNSIGNED"];
|
||||
q34 -> q24 [label="T_ENUM"];
|
||||
q34 -> q25 [label="T_STRUCT"];
|
||||
q34 -> q26 [label="T_UNION"];
|
||||
q34 -> q27 [label="T_Bool"];
|
||||
q34 -> q28 [label="T_Complex"];
|
||||
q34 -> q29 [label="T_Imaginary"];
|
||||
q34 -> q30 [label="T_TYPE_QUALIFIER"];
|
||||
q34 -> q67 [label="';'"];
|
||||
q34 -> q68 [label="decl_specifier"];
|
||||
q34 -> q36 [label="storage_class"];
|
||||
q34 -> q37 [label="type_specifier"];
|
||||
q34 -> q38 [label="type_qualifier"];
|
||||
q34 -> q39 [label="struct_or_union_specifier"];
|
||||
q34 -> q40 [label="enum_specifier"];
|
||||
q34 -> q69 [label="init_declarator_list"];
|
||||
q34 -> q70 [label="init_declarator"];
|
||||
q34 -> q71 [label="declarator"];
|
||||
q34 -> q42 [label="direct_declarator"];
|
||||
q34 -> q43 [label="struct_or_union"];
|
||||
q34 -> q44 [label="pointer"];
|
||||
q34 -> q45 [label="any_id"];
|
||||
q34 -> q46 [label="identifier_or_ref"];
|
||||
q34 -> q47 [label="enumeration"];
|
||||
q41 -> q72 [label="$$4"];
|
||||
q42 -> q73 [label="'('"];
|
||||
q42 -> q74 [label="T_BRACKETS"];
|
||||
q43 -> q5 [label="T_IDENTIFIER"];
|
||||
q43 -> q56 [label="T_TYPEDEF_NAME"];
|
||||
q43 -> q75 [label="T_LBRACE"];
|
||||
q43 -> q76 [label="any_id"];
|
||||
q43 -> q77 [label="braces"];
|
||||
q44 -> q2 [label="'('"];
|
||||
q44 -> q4 [label="'&'"];
|
||||
q44 -> q5 [label="T_IDENTIFIER"];
|
||||
q44 -> q56 [label="T_TYPEDEF_NAME"];
|
||||
q44 -> q78 [label="direct_declarator"];
|
||||
q44 -> q45 [label="any_id"];
|
||||
q44 -> q46 [label="identifier_or_ref"];
|
||||
q47 -> q5 [label="T_IDENTIFIER"];
|
||||
q47 -> q56 [label="T_TYPEDEF_NAME"];
|
||||
q47 -> q75 [label="T_LBRACE"];
|
||||
q47 -> q79 [label="any_id"];
|
||||
q47 -> q80 [label="braces"];
|
||||
q48 -> q1 [label="error"];
|
||||
q48 -> q2 [label="'('"];
|
||||
q48 -> q3 [label="'*'"];
|
||||
q48 -> q4 [label="'&'"];
|
||||
q48 -> q5 [label="T_IDENTIFIER"];
|
||||
q48 -> q6 [label="T_TYPEDEF_NAME"];
|
||||
q48 -> q7 [label="T_DEFINE_NAME"];
|
||||
q48 -> q8 [label="T_AUTO"];
|
||||
q48 -> q9 [label="T_EXTERN"];
|
||||
q48 -> q10 [label="T_REGISTER"];
|
||||
q48 -> q11 [label="T_STATIC"];
|
||||
q48 -> q12 [label="T_TYPEDEF"];
|
||||
q48 -> q13 [label="T_INLINE"];
|
||||
q48 -> q14 [label="T_EXTENSION"];
|
||||
q48 -> q15 [label="T_CHAR"];
|
||||
q48 -> q16 [label="T_DOUBLE"];
|
||||
q48 -> q17 [label="T_FLOAT"];
|
||||
q48 -> q18 [label="T_INT"];
|
||||
q48 -> q19 [label="T_VOID"];
|
||||
q48 -> q20 [label="T_LONG"];
|
||||
q48 -> q21 [label="T_SHORT"];
|
||||
q48 -> q22 [label="T_SIGNED"];
|
||||
q48 -> q23 [label="T_UNSIGNED"];
|
||||
q48 -> q24 [label="T_ENUM"];
|
||||
q48 -> q25 [label="T_STRUCT"];
|
||||
q48 -> q26 [label="T_UNION"];
|
||||
q48 -> q27 [label="T_Bool"];
|
||||
q48 -> q28 [label="T_Complex"];
|
||||
q48 -> q29 [label="T_Imaginary"];
|
||||
q48 -> q30 [label="T_TYPE_QUALIFIER"];
|
||||
q48 -> q31 [label="T_ASM"];
|
||||
q48 -> q32 [label="';'"];
|
||||
q48 -> q34 [label="decl_specifiers"];
|
||||
q48 -> q35 [label="decl_specifier"];
|
||||
q48 -> q36 [label="storage_class"];
|
||||
q48 -> q37 [label="type_specifier"];
|
||||
q48 -> q38 [label="type_qualifier"];
|
||||
q48 -> q39 [label="struct_or_union_specifier"];
|
||||
q48 -> q40 [label="enum_specifier"];
|
||||
q48 -> q41 [label="declarator"];
|
||||
q48 -> q42 [label="direct_declarator"];
|
||||
q48 -> q43 [label="struct_or_union"];
|
||||
q48 -> q44 [label="pointer"];
|
||||
q48 -> q45 [label="any_id"];
|
||||
q48 -> q46 [label="identifier_or_ref"];
|
||||
q48 -> q47 [label="enumeration"];
|
||||
q48 -> q81 [label="external_declaration"];
|
||||
q48 -> q50 [label="declaration"];
|
||||
q48 -> q51 [label="function_definition"];
|
||||
q48 -> q52 [label="linkage_specification"];
|
||||
q48 -> q53 [label="any_typedef"];
|
||||
q53 -> q82 [label="T_TYPEDEF_NAME"];
|
||||
q53 -> q7 [label="T_DEFINE_NAME"];
|
||||
q53 -> q8 [label="T_AUTO"];
|
||||
q53 -> q65 [label="T_EXTERN"];
|
||||
q53 -> q10 [label="T_REGISTER"];
|
||||
q53 -> q11 [label="T_STATIC"];
|
||||
q53 -> q13 [label="T_INLINE"];
|
||||
q53 -> q66 [label="T_EXTENSION"];
|
||||
q53 -> q15 [label="T_CHAR"];
|
||||
q53 -> q16 [label="T_DOUBLE"];
|
||||
q53 -> q17 [label="T_FLOAT"];
|
||||
q53 -> q18 [label="T_INT"];
|
||||
q53 -> q19 [label="T_VOID"];
|
||||
q53 -> q20 [label="T_LONG"];
|
||||
q53 -> q21 [label="T_SHORT"];
|
||||
q53 -> q22 [label="T_SIGNED"];
|
||||
q53 -> q23 [label="T_UNSIGNED"];
|
||||
q53 -> q24 [label="T_ENUM"];
|
||||
q53 -> q25 [label="T_STRUCT"];
|
||||
q53 -> q26 [label="T_UNION"];
|
||||
q53 -> q27 [label="T_Bool"];
|
||||
q53 -> q28 [label="T_Complex"];
|
||||
q53 -> q29 [label="T_Imaginary"];
|
||||
q53 -> q30 [label="T_TYPE_QUALIFIER"];
|
||||
q53 -> q83 [label="decl_specifiers"];
|
||||
q53 -> q35 [label="decl_specifier"];
|
||||
q53 -> q36 [label="storage_class"];
|
||||
q53 -> q37 [label="type_specifier"];
|
||||
q53 -> q38 [label="type_qualifier"];
|
||||
q53 -> q39 [label="struct_or_union_specifier"];
|
||||
q53 -> q40 [label="enum_specifier"];
|
||||
q53 -> q43 [label="struct_or_union"];
|
||||
q53 -> q47 [label="enumeration"];
|
||||
q57 -> q84 [label="')'"];
|
||||
q59 -> q3 [label="'*'"];
|
||||
q59 -> q85 [label="pointer"];
|
||||
q60 -> q7 [label="T_DEFINE_NAME"];
|
||||
q60 -> q30 [label="T_TYPE_QUALIFIER"];
|
||||
q60 -> q86 [label="type_qualifier"];
|
||||
q62 -> q82 [label="T_TYPEDEF_NAME"];
|
||||
q62 -> q7 [label="T_DEFINE_NAME"];
|
||||
q62 -> q8 [label="T_AUTO"];
|
||||
q62 -> q65 [label="T_EXTERN"];
|
||||
q62 -> q10 [label="T_REGISTER"];
|
||||
q62 -> q11 [label="T_STATIC"];
|
||||
q62 -> q12 [label="T_TYPEDEF"];
|
||||
q62 -> q13 [label="T_INLINE"];
|
||||
q62 -> q14 [label="T_EXTENSION"];
|
||||
q62 -> q15 [label="T_CHAR"];
|
||||
q62 -> q16 [label="T_DOUBLE"];
|
||||
q62 -> q17 [label="T_FLOAT"];
|
||||
q62 -> q18 [label="T_INT"];
|
||||
q62 -> q19 [label="T_VOID"];
|
||||
q62 -> q20 [label="T_LONG"];
|
||||
q62 -> q21 [label="T_SHORT"];
|
||||
q62 -> q22 [label="T_SIGNED"];
|
||||
q62 -> q23 [label="T_UNSIGNED"];
|
||||
q62 -> q24 [label="T_ENUM"];
|
||||
q62 -> q25 [label="T_STRUCT"];
|
||||
q62 -> q26 [label="T_UNION"];
|
||||
q62 -> q27 [label="T_Bool"];
|
||||
q62 -> q28 [label="T_Complex"];
|
||||
q62 -> q29 [label="T_Imaginary"];
|
||||
q62 -> q30 [label="T_TYPE_QUALIFIER"];
|
||||
q62 -> q75 [label="T_LBRACE"];
|
||||
q62 -> q87 [label="decl_specifiers"];
|
||||
q62 -> q35 [label="decl_specifier"];
|
||||
q62 -> q36 [label="storage_class"];
|
||||
q62 -> q37 [label="type_specifier"];
|
||||
q62 -> q38 [label="type_qualifier"];
|
||||
q62 -> q39 [label="struct_or_union_specifier"];
|
||||
q62 -> q40 [label="enum_specifier"];
|
||||
q62 -> q43 [label="struct_or_union"];
|
||||
q62 -> q47 [label="enumeration"];
|
||||
q62 -> q88 [label="declaration"];
|
||||
q62 -> q89 [label="braces"];
|
||||
q62 -> q53 [label="any_typedef"];
|
||||
q64 -> q90 [label="';'"];
|
||||
q69 -> q91 [label="';'"];
|
||||
q69 -> q92 [label="','"];
|
||||
q71 -> q93 [label="'='"];
|
||||
q71 -> q94 [label="$$2"];
|
||||
q72 -> q82 [label="T_TYPEDEF_NAME"];
|
||||
q72 -> q7 [label="T_DEFINE_NAME"];
|
||||
q72 -> q8 [label="T_AUTO"];
|
||||
q72 -> q65 [label="T_EXTERN"];
|
||||
q72 -> q10 [label="T_REGISTER"];
|
||||
q72 -> q11 [label="T_STATIC"];
|
||||
q72 -> q12 [label="T_TYPEDEF"];
|
||||
q72 -> q13 [label="T_INLINE"];
|
||||
q72 -> q14 [label="T_EXTENSION"];
|
||||
q72 -> q15 [label="T_CHAR"];
|
||||
q72 -> q16 [label="T_DOUBLE"];
|
||||
q72 -> q17 [label="T_FLOAT"];
|
||||
q72 -> q18 [label="T_INT"];
|
||||
q72 -> q19 [label="T_VOID"];
|
||||
q72 -> q20 [label="T_LONG"];
|
||||
q72 -> q21 [label="T_SHORT"];
|
||||
q72 -> q22 [label="T_SIGNED"];
|
||||
q72 -> q23 [label="T_UNSIGNED"];
|
||||
q72 -> q24 [label="T_ENUM"];
|
||||
q72 -> q25 [label="T_STRUCT"];
|
||||
q72 -> q26 [label="T_UNION"];
|
||||
q72 -> q27 [label="T_Bool"];
|
||||
q72 -> q28 [label="T_Complex"];
|
||||
q72 -> q29 [label="T_Imaginary"];
|
||||
q72 -> q30 [label="T_TYPE_QUALIFIER"];
|
||||
q72 -> q95 [label="T_VA_DCL"];
|
||||
q72 -> q87 [label="decl_specifiers"];
|
||||
q72 -> q35 [label="decl_specifier"];
|
||||
q72 -> q36 [label="storage_class"];
|
||||
q72 -> q37 [label="type_specifier"];
|
||||
q72 -> q38 [label="type_qualifier"];
|
||||
q72 -> q39 [label="struct_or_union_specifier"];
|
||||
q72 -> q40 [label="enum_specifier"];
|
||||
q72 -> q43 [label="struct_or_union"];
|
||||
q72 -> q47 [label="enumeration"];
|
||||
q72 -> q96 [label="declaration"];
|
||||
q72 -> q53 [label="any_typedef"];
|
||||
q72 -> q97 [label="opt_declaration_list"];
|
||||
q72 -> q98 [label="declaration_list"];
|
||||
q73 -> q5 [label="T_IDENTIFIER"];
|
||||
q73 -> q6 [label="T_TYPEDEF_NAME"];
|
||||
q73 -> q7 [label="T_DEFINE_NAME"];
|
||||
q73 -> q8 [label="T_AUTO"];
|
||||
q73 -> q65 [label="T_EXTERN"];
|
||||
q73 -> q10 [label="T_REGISTER"];
|
||||
q73 -> q11 [label="T_STATIC"];
|
||||
q73 -> q13 [label="T_INLINE"];
|
||||
q73 -> q66 [label="T_EXTENSION"];
|
||||
q73 -> q15 [label="T_CHAR"];
|
||||
q73 -> q16 [label="T_DOUBLE"];
|
||||
q73 -> q17 [label="T_FLOAT"];
|
||||
q73 -> q18 [label="T_INT"];
|
||||
q73 -> q19 [label="T_VOID"];
|
||||
q73 -> q20 [label="T_LONG"];
|
||||
q73 -> q21 [label="T_SHORT"];
|
||||
q73 -> q22 [label="T_SIGNED"];
|
||||
q73 -> q23 [label="T_UNSIGNED"];
|
||||
q73 -> q24 [label="T_ENUM"];
|
||||
q73 -> q25 [label="T_STRUCT"];
|
||||
q73 -> q26 [label="T_UNION"];
|
||||
q73 -> q27 [label="T_Bool"];
|
||||
q73 -> q28 [label="T_Complex"];
|
||||
q73 -> q29 [label="T_Imaginary"];
|
||||
q73 -> q30 [label="T_TYPE_QUALIFIER"];
|
||||
q73 -> q99 [label="decl_specifiers"];
|
||||
q73 -> q35 [label="decl_specifier"];
|
||||
q73 -> q36 [label="storage_class"];
|
||||
q73 -> q37 [label="type_specifier"];
|
||||
q73 -> q38 [label="type_qualifier"];
|
||||
q73 -> q39 [label="struct_or_union_specifier"];
|
||||
q73 -> q40 [label="enum_specifier"];
|
||||
q73 -> q100 [label="parameter_type_list"];
|
||||
q73 -> q101 [label="parameter_list"];
|
||||
q73 -> q102 [label="parameter_declaration"];
|
||||
q73 -> q103 [label="opt_identifier_list"];
|
||||
q73 -> q104 [label="identifier_list"];
|
||||
q73 -> q43 [label="struct_or_union"];
|
||||
q73 -> q105 [label="any_id"];
|
||||
q73 -> q47 [label="enumeration"];
|
||||
q75 -> q106 [label="T_MATCHRBRACE"];
|
||||
q76 -> q75 [label="T_LBRACE"];
|
||||
q76 -> q107 [label="braces"];
|
||||
q78 -> q73 [label="'('"];
|
||||
q78 -> q74 [label="T_BRACKETS"];
|
||||
q79 -> q75 [label="T_LBRACE"];
|
||||
q79 -> q108 [label="braces"];
|
||||
q83 -> q82 [label="T_TYPEDEF_NAME"];
|
||||
q83 -> q7 [label="T_DEFINE_NAME"];
|
||||
q83 -> q8 [label="T_AUTO"];
|
||||
q83 -> q65 [label="T_EXTERN"];
|
||||
q83 -> q10 [label="T_REGISTER"];
|
||||
q83 -> q11 [label="T_STATIC"];
|
||||
q83 -> q13 [label="T_INLINE"];
|
||||
q83 -> q66 [label="T_EXTENSION"];
|
||||
q83 -> q15 [label="T_CHAR"];
|
||||
q83 -> q16 [label="T_DOUBLE"];
|
||||
q83 -> q17 [label="T_FLOAT"];
|
||||
q83 -> q18 [label="T_INT"];
|
||||
q83 -> q19 [label="T_VOID"];
|
||||
q83 -> q20 [label="T_LONG"];
|
||||
q83 -> q21 [label="T_SHORT"];
|
||||
q83 -> q22 [label="T_SIGNED"];
|
||||
q83 -> q23 [label="T_UNSIGNED"];
|
||||
q83 -> q24 [label="T_ENUM"];
|
||||
q83 -> q25 [label="T_STRUCT"];
|
||||
q83 -> q26 [label="T_UNION"];
|
||||
q83 -> q27 [label="T_Bool"];
|
||||
q83 -> q28 [label="T_Complex"];
|
||||
q83 -> q29 [label="T_Imaginary"];
|
||||
q83 -> q30 [label="T_TYPE_QUALIFIER"];
|
||||
q83 -> q68 [label="decl_specifier"];
|
||||
q83 -> q36 [label="storage_class"];
|
||||
q83 -> q37 [label="type_specifier"];
|
||||
q83 -> q38 [label="type_qualifier"];
|
||||
q83 -> q39 [label="struct_or_union_specifier"];
|
||||
q83 -> q40 [label="enum_specifier"];
|
||||
q83 -> q43 [label="struct_or_union"];
|
||||
q83 -> q47 [label="enumeration"];
|
||||
q83 -> q109 [label="$$1"];
|
||||
q87 -> q2 [label="'('"];
|
||||
q87 -> q3 [label="'*'"];
|
||||
q87 -> q4 [label="'&'"];
|
||||
q87 -> q5 [label="T_IDENTIFIER"];
|
||||
q87 -> q6 [label="T_TYPEDEF_NAME"];
|
||||
q87 -> q7 [label="T_DEFINE_NAME"];
|
||||
q87 -> q8 [label="T_AUTO"];
|
||||
q87 -> q65 [label="T_EXTERN"];
|
||||
q87 -> q10 [label="T_REGISTER"];
|
||||
q87 -> q11 [label="T_STATIC"];
|
||||
q87 -> q13 [label="T_INLINE"];
|
||||
q87 -> q66 [label="T_EXTENSION"];
|
||||
q87 -> q15 [label="T_CHAR"];
|
||||
q87 -> q16 [label="T_DOUBLE"];
|
||||
q87 -> q17 [label="T_FLOAT"];
|
||||
q87 -> q18 [label="T_INT"];
|
||||
q87 -> q19 [label="T_VOID"];
|
||||
q87 -> q20 [label="T_LONG"];
|
||||
q87 -> q21 [label="T_SHORT"];
|
||||
q87 -> q22 [label="T_SIGNED"];
|
||||
q87 -> q23 [label="T_UNSIGNED"];
|
||||
q87 -> q24 [label="T_ENUM"];
|
||||
q87 -> q25 [label="T_STRUCT"];
|
||||
q87 -> q26 [label="T_UNION"];
|
||||
q87 -> q27 [label="T_Bool"];
|
||||
q87 -> q28 [label="T_Complex"];
|
||||
q87 -> q29 [label="T_Imaginary"];
|
||||
q87 -> q30 [label="T_TYPE_QUALIFIER"];
|
||||
q87 -> q67 [label="';'"];
|
||||
q87 -> q68 [label="decl_specifier"];
|
||||
q87 -> q36 [label="storage_class"];
|
||||
q87 -> q37 [label="type_specifier"];
|
||||
q87 -> q38 [label="type_qualifier"];
|
||||
q87 -> q39 [label="struct_or_union_specifier"];
|
||||
q87 -> q40 [label="enum_specifier"];
|
||||
q87 -> q69 [label="init_declarator_list"];
|
||||
q87 -> q70 [label="init_declarator"];
|
||||
q87 -> q110 [label="declarator"];
|
||||
q87 -> q42 [label="direct_declarator"];
|
||||
q87 -> q43 [label="struct_or_union"];
|
||||
q87 -> q44 [label="pointer"];
|
||||
q87 -> q45 [label="any_id"];
|
||||
q87 -> q46 [label="identifier_or_ref"];
|
||||
q87 -> q47 [label="enumeration"];
|
||||
q92 -> q2 [label="'('"];
|
||||
q92 -> q3 [label="'*'"];
|
||||
q92 -> q4 [label="'&'"];
|
||||
q92 -> q5 [label="T_IDENTIFIER"];
|
||||
q92 -> q56 [label="T_TYPEDEF_NAME"];
|
||||
q92 -> q111 [label="init_declarator"];
|
||||
q92 -> q110 [label="declarator"];
|
||||
q92 -> q42 [label="direct_declarator"];
|
||||
q92 -> q44 [label="pointer"];
|
||||
q92 -> q45 [label="any_id"];
|
||||
q92 -> q46 [label="identifier_or_ref"];
|
||||
q93 -> q112 [label="$$5"];
|
||||
q94 -> q82 [label="T_TYPEDEF_NAME"];
|
||||
q94 -> q7 [label="T_DEFINE_NAME"];
|
||||
q94 -> q8 [label="T_AUTO"];
|
||||
q94 -> q65 [label="T_EXTERN"];
|
||||
q94 -> q10 [label="T_REGISTER"];
|
||||
q94 -> q11 [label="T_STATIC"];
|
||||
q94 -> q12 [label="T_TYPEDEF"];
|
||||
q94 -> q13 [label="T_INLINE"];
|
||||
q94 -> q14 [label="T_EXTENSION"];
|
||||
q94 -> q15 [label="T_CHAR"];
|
||||
q94 -> q16 [label="T_DOUBLE"];
|
||||
q94 -> q17 [label="T_FLOAT"];
|
||||
q94 -> q18 [label="T_INT"];
|
||||
q94 -> q19 [label="T_VOID"];
|
||||
q94 -> q20 [label="T_LONG"];
|
||||
q94 -> q21 [label="T_SHORT"];
|
||||
q94 -> q22 [label="T_SIGNED"];
|
||||
q94 -> q23 [label="T_UNSIGNED"];
|
||||
q94 -> q24 [label="T_ENUM"];
|
||||
q94 -> q25 [label="T_STRUCT"];
|
||||
q94 -> q26 [label="T_UNION"];
|
||||
q94 -> q27 [label="T_Bool"];
|
||||
q94 -> q28 [label="T_Complex"];
|
||||
q94 -> q29 [label="T_Imaginary"];
|
||||
q94 -> q30 [label="T_TYPE_QUALIFIER"];
|
||||
q94 -> q95 [label="T_VA_DCL"];
|
||||
q94 -> q87 [label="decl_specifiers"];
|
||||
q94 -> q35 [label="decl_specifier"];
|
||||
q94 -> q36 [label="storage_class"];
|
||||
q94 -> q37 [label="type_specifier"];
|
||||
q94 -> q38 [label="type_qualifier"];
|
||||
q94 -> q39 [label="struct_or_union_specifier"];
|
||||
q94 -> q40 [label="enum_specifier"];
|
||||
q94 -> q43 [label="struct_or_union"];
|
||||
q94 -> q47 [label="enumeration"];
|
||||
q94 -> q96 [label="declaration"];
|
||||
q94 -> q53 [label="any_typedef"];
|
||||
q94 -> q113 [label="opt_declaration_list"];
|
||||
q94 -> q98 [label="declaration_list"];
|
||||
q97 -> q114 [label="T_LBRACE"];
|
||||
q98 -> q82 [label="T_TYPEDEF_NAME"];
|
||||
q98 -> q7 [label="T_DEFINE_NAME"];
|
||||
q98 -> q8 [label="T_AUTO"];
|
||||
q98 -> q65 [label="T_EXTERN"];
|
||||
q98 -> q10 [label="T_REGISTER"];
|
||||
q98 -> q11 [label="T_STATIC"];
|
||||
q98 -> q12 [label="T_TYPEDEF"];
|
||||
q98 -> q13 [label="T_INLINE"];
|
||||
q98 -> q14 [label="T_EXTENSION"];
|
||||
q98 -> q15 [label="T_CHAR"];
|
||||
q98 -> q16 [label="T_DOUBLE"];
|
||||
q98 -> q17 [label="T_FLOAT"];
|
||||
q98 -> q18 [label="T_INT"];
|
||||
q98 -> q19 [label="T_VOID"];
|
||||
q98 -> q20 [label="T_LONG"];
|
||||
q98 -> q21 [label="T_SHORT"];
|
||||
q98 -> q22 [label="T_SIGNED"];
|
||||
q98 -> q23 [label="T_UNSIGNED"];
|
||||
q98 -> q24 [label="T_ENUM"];
|
||||
q98 -> q25 [label="T_STRUCT"];
|
||||
q98 -> q26 [label="T_UNION"];
|
||||
q98 -> q27 [label="T_Bool"];
|
||||
q98 -> q28 [label="T_Complex"];
|
||||
q98 -> q29 [label="T_Imaginary"];
|
||||
q98 -> q30 [label="T_TYPE_QUALIFIER"];
|
||||
q98 -> q87 [label="decl_specifiers"];
|
||||
q98 -> q35 [label="decl_specifier"];
|
||||
q98 -> q36 [label="storage_class"];
|
||||
q98 -> q37 [label="type_specifier"];
|
||||
q98 -> q38 [label="type_qualifier"];
|
||||
q98 -> q39 [label="struct_or_union_specifier"];
|
||||
q98 -> q40 [label="enum_specifier"];
|
||||
q98 -> q43 [label="struct_or_union"];
|
||||
q98 -> q47 [label="enumeration"];
|
||||
q98 -> q115 [label="declaration"];
|
||||
q98 -> q53 [label="any_typedef"];
|
||||
q99 -> q116 [label="'('"];
|
||||
q99 -> q3 [label="'*'"];
|
||||
q99 -> q4 [label="'&'"];
|
||||
q99 -> q5 [label="T_IDENTIFIER"];
|
||||
q99 -> q6 [label="T_TYPEDEF_NAME"];
|
||||
q99 -> q7 [label="T_DEFINE_NAME"];
|
||||
q99 -> q8 [label="T_AUTO"];
|
||||
q99 -> q65 [label="T_EXTERN"];
|
||||
q99 -> q10 [label="T_REGISTER"];
|
||||
q99 -> q11 [label="T_STATIC"];
|
||||
q99 -> q13 [label="T_INLINE"];
|
||||
q99 -> q66 [label="T_EXTENSION"];
|
||||
q99 -> q15 [label="T_CHAR"];
|
||||
q99 -> q16 [label="T_DOUBLE"];
|
||||
q99 -> q17 [label="T_FLOAT"];
|
||||
q99 -> q18 [label="T_INT"];
|
||||
q99 -> q19 [label="T_VOID"];
|
||||
q99 -> q20 [label="T_LONG"];
|
||||
q99 -> q21 [label="T_SHORT"];
|
||||
q99 -> q22 [label="T_SIGNED"];
|
||||
q99 -> q23 [label="T_UNSIGNED"];
|
||||
q99 -> q24 [label="T_ENUM"];
|
||||
q99 -> q25 [label="T_STRUCT"];
|
||||
q99 -> q26 [label="T_UNION"];
|
||||
q99 -> q27 [label="T_Bool"];
|
||||
q99 -> q28 [label="T_Complex"];
|
||||
q99 -> q29 [label="T_Imaginary"];
|
||||
q99 -> q30 [label="T_TYPE_QUALIFIER"];
|
||||
q99 -> q117 [label="T_BRACKETS"];
|
||||
q99 -> q68 [label="decl_specifier"];
|
||||
q99 -> q36 [label="storage_class"];
|
||||
q99 -> q37 [label="type_specifier"];
|
||||
q99 -> q38 [label="type_qualifier"];
|
||||
q99 -> q39 [label="struct_or_union_specifier"];
|
||||
q99 -> q40 [label="enum_specifier"];
|
||||
q99 -> q118 [label="declarator"];
|
||||
q99 -> q42 [label="direct_declarator"];
|
||||
q99 -> q119 [label="abs_declarator"];
|
||||
q99 -> q120 [label="direct_abs_declarator"];
|
||||
q99 -> q43 [label="struct_or_union"];
|
||||
q99 -> q121 [label="pointer"];
|
||||
q99 -> q45 [label="any_id"];
|
||||
q99 -> q46 [label="identifier_or_ref"];
|
||||
q99 -> q47 [label="enumeration"];
|
||||
q100 -> q122 [label="')'"];
|
||||
q101 -> q123 [label="','"];
|
||||
q103 -> q124 [label="')'"];
|
||||
q104 -> q125 [label="','"];
|
||||
q109 -> q2 [label="'('"];
|
||||
q109 -> q3 [label="'*'"];
|
||||
q109 -> q4 [label="'&'"];
|
||||
q109 -> q5 [label="T_IDENTIFIER"];
|
||||
q109 -> q56 [label="T_TYPEDEF_NAME"];
|
||||
q109 -> q126 [label="declarator"];
|
||||
q109 -> q42 [label="direct_declarator"];
|
||||
q109 -> q44 [label="pointer"];
|
||||
q109 -> q45 [label="any_id"];
|
||||
q109 -> q46 [label="identifier_or_ref"];
|
||||
q109 -> q127 [label="opt_declarator_list"];
|
||||
q109 -> q128 [label="declarator_list"];
|
||||
q110 -> q93 [label="'='"];
|
||||
q112 -> q129 [label="T_INITIALIZER"];
|
||||
q113 -> q130 [label="T_LBRACE"];
|
||||
q114 -> q131 [label="T_MATCHRBRACE"];
|
||||
q116 -> q116 [label="'('"];
|
||||
q116 -> q3 [label="'*'"];
|
||||
q116 -> q4 [label="'&'"];
|
||||
q116 -> q5 [label="T_IDENTIFIER"];
|
||||
q116 -> q6 [label="T_TYPEDEF_NAME"];
|
||||
q116 -> q7 [label="T_DEFINE_NAME"];
|
||||
q116 -> q8 [label="T_AUTO"];
|
||||
q116 -> q65 [label="T_EXTERN"];
|
||||
q116 -> q10 [label="T_REGISTER"];
|
||||
q116 -> q11 [label="T_STATIC"];
|
||||
q116 -> q13 [label="T_INLINE"];
|
||||
q116 -> q66 [label="T_EXTENSION"];
|
||||
q116 -> q15 [label="T_CHAR"];
|
||||
q116 -> q16 [label="T_DOUBLE"];
|
||||
q116 -> q17 [label="T_FLOAT"];
|
||||
q116 -> q18 [label="T_INT"];
|
||||
q116 -> q19 [label="T_VOID"];
|
||||
q116 -> q20 [label="T_LONG"];
|
||||
q116 -> q21 [label="T_SHORT"];
|
||||
q116 -> q22 [label="T_SIGNED"];
|
||||
q116 -> q23 [label="T_UNSIGNED"];
|
||||
q116 -> q24 [label="T_ENUM"];
|
||||
q116 -> q25 [label="T_STRUCT"];
|
||||
q116 -> q26 [label="T_UNION"];
|
||||
q116 -> q27 [label="T_Bool"];
|
||||
q116 -> q28 [label="T_Complex"];
|
||||
q116 -> q29 [label="T_Imaginary"];
|
||||
q116 -> q30 [label="T_TYPE_QUALIFIER"];
|
||||
q116 -> q117 [label="T_BRACKETS"];
|
||||
q116 -> q132 [label="')'"];
|
||||
q116 -> q99 [label="decl_specifiers"];
|
||||
q116 -> q35 [label="decl_specifier"];
|
||||
q116 -> q36 [label="storage_class"];
|
||||
q116 -> q37 [label="type_specifier"];
|
||||
q116 -> q38 [label="type_qualifier"];
|
||||
q116 -> q39 [label="struct_or_union_specifier"];
|
||||
q116 -> q40 [label="enum_specifier"];
|
||||
q116 -> q57 [label="declarator"];
|
||||
q116 -> q42 [label="direct_declarator"];
|
||||
q116 -> q133 [label="abs_declarator"];
|
||||
q116 -> q120 [label="direct_abs_declarator"];
|
||||
q116 -> q134 [label="parameter_type_list"];
|
||||
q116 -> q101 [label="parameter_list"];
|
||||
q116 -> q102 [label="parameter_declaration"];
|
||||
q116 -> q43 [label="struct_or_union"];
|
||||
q116 -> q121 [label="pointer"];
|
||||
q116 -> q45 [label="any_id"];
|
||||
q116 -> q46 [label="identifier_or_ref"];
|
||||
q116 -> q47 [label="enumeration"];
|
||||
q120 -> q135 [label="'('"];
|
||||
q120 -> q136 [label="T_BRACKETS"];
|
||||
q121 -> q116 [label="'('"];
|
||||
q121 -> q4 [label="'&'"];
|
||||
q121 -> q5 [label="T_IDENTIFIER"];
|
||||
q121 -> q56 [label="T_TYPEDEF_NAME"];
|
||||
q121 -> q117 [label="T_BRACKETS"];
|
||||
q121 -> q78 [label="direct_declarator"];
|
||||
q121 -> q137 [label="direct_abs_declarator"];
|
||||
q121 -> q45 [label="any_id"];
|
||||
q121 -> q46 [label="identifier_or_ref"];
|
||||
q123 -> q82 [label="T_TYPEDEF_NAME"];
|
||||
q123 -> q7 [label="T_DEFINE_NAME"];
|
||||
q123 -> q8 [label="T_AUTO"];
|
||||
q123 -> q65 [label="T_EXTERN"];
|
||||
q123 -> q10 [label="T_REGISTER"];
|
||||
q123 -> q11 [label="T_STATIC"];
|
||||
q123 -> q13 [label="T_INLINE"];
|
||||
q123 -> q66 [label="T_EXTENSION"];
|
||||
q123 -> q15 [label="T_CHAR"];
|
||||
q123 -> q16 [label="T_DOUBLE"];
|
||||
q123 -> q17 [label="T_FLOAT"];
|
||||
q123 -> q18 [label="T_INT"];
|
||||
q123 -> q19 [label="T_VOID"];
|
||||
q123 -> q20 [label="T_LONG"];
|
||||
q123 -> q21 [label="T_SHORT"];
|
||||
q123 -> q22 [label="T_SIGNED"];
|
||||
q123 -> q23 [label="T_UNSIGNED"];
|
||||
q123 -> q24 [label="T_ENUM"];
|
||||
q123 -> q25 [label="T_STRUCT"];
|
||||
q123 -> q26 [label="T_UNION"];
|
||||
q123 -> q27 [label="T_Bool"];
|
||||
q123 -> q28 [label="T_Complex"];
|
||||
q123 -> q29 [label="T_Imaginary"];
|
||||
q123 -> q30 [label="T_TYPE_QUALIFIER"];
|
||||
q123 -> q138 [label="T_ELLIPSIS"];
|
||||
q123 -> q99 [label="decl_specifiers"];
|
||||
q123 -> q35 [label="decl_specifier"];
|
||||
q123 -> q36 [label="storage_class"];
|
||||
q123 -> q37 [label="type_specifier"];
|
||||
q123 -> q38 [label="type_qualifier"];
|
||||
q123 -> q39 [label="struct_or_union_specifier"];
|
||||
q123 -> q40 [label="enum_specifier"];
|
||||
q123 -> q139 [label="parameter_declaration"];
|
||||
q123 -> q43 [label="struct_or_union"];
|
||||
q123 -> q47 [label="enumeration"];
|
||||
q125 -> q5 [label="T_IDENTIFIER"];
|
||||
q125 -> q56 [label="T_TYPEDEF_NAME"];
|
||||
q125 -> q140 [label="any_id"];
|
||||
q127 -> q141 [label="';'"];
|
||||
q128 -> q142 [label="','"];
|
||||
q130 -> q143 [label="$$3"];
|
||||
q133 -> q144 [label="')'"];
|
||||
q134 -> q145 [label="')'"];
|
||||
q135 -> q82 [label="T_TYPEDEF_NAME"];
|
||||
q135 -> q7 [label="T_DEFINE_NAME"];
|
||||
q135 -> q8 [label="T_AUTO"];
|
||||
q135 -> q65 [label="T_EXTERN"];
|
||||
q135 -> q10 [label="T_REGISTER"];
|
||||
q135 -> q11 [label="T_STATIC"];
|
||||
q135 -> q13 [label="T_INLINE"];
|
||||
q135 -> q66 [label="T_EXTENSION"];
|
||||
q135 -> q15 [label="T_CHAR"];
|
||||
q135 -> q16 [label="T_DOUBLE"];
|
||||
q135 -> q17 [label="T_FLOAT"];
|
||||
q135 -> q18 [label="T_INT"];
|
||||
q135 -> q19 [label="T_VOID"];
|
||||
q135 -> q20 [label="T_LONG"];
|
||||
q135 -> q21 [label="T_SHORT"];
|
||||
q135 -> q22 [label="T_SIGNED"];
|
||||
q135 -> q23 [label="T_UNSIGNED"];
|
||||
q135 -> q24 [label="T_ENUM"];
|
||||
q135 -> q25 [label="T_STRUCT"];
|
||||
q135 -> q26 [label="T_UNION"];
|
||||
q135 -> q27 [label="T_Bool"];
|
||||
q135 -> q28 [label="T_Complex"];
|
||||
q135 -> q29 [label="T_Imaginary"];
|
||||
q135 -> q30 [label="T_TYPE_QUALIFIER"];
|
||||
q135 -> q146 [label="')'"];
|
||||
q135 -> q99 [label="decl_specifiers"];
|
||||
q135 -> q35 [label="decl_specifier"];
|
||||
q135 -> q36 [label="storage_class"];
|
||||
q135 -> q37 [label="type_specifier"];
|
||||
q135 -> q38 [label="type_qualifier"];
|
||||
q135 -> q39 [label="struct_or_union_specifier"];
|
||||
q135 -> q40 [label="enum_specifier"];
|
||||
q135 -> q147 [label="parameter_type_list"];
|
||||
q135 -> q101 [label="parameter_list"];
|
||||
q135 -> q102 [label="parameter_declaration"];
|
||||
q135 -> q43 [label="struct_or_union"];
|
||||
q135 -> q47 [label="enumeration"];
|
||||
q137 -> q135 [label="'('"];
|
||||
q137 -> q136 [label="T_BRACKETS"];
|
||||
q142 -> q2 [label="'('"];
|
||||
q142 -> q3 [label="'*'"];
|
||||
q142 -> q4 [label="'&'"];
|
||||
q142 -> q5 [label="T_IDENTIFIER"];
|
||||
q142 -> q56 [label="T_TYPEDEF_NAME"];
|
||||
q142 -> q148 [label="declarator"];
|
||||
q142 -> q42 [label="direct_declarator"];
|
||||
q142 -> q44 [label="pointer"];
|
||||
q142 -> q45 [label="any_id"];
|
||||
q142 -> q46 [label="identifier_or_ref"];
|
||||
q143 -> q149 [label="T_MATCHRBRACE"];
|
||||
q147 -> q150 [label="')'"];
|
||||
}
|
||||
1
test/grammar.error
Normal file
1
test/grammar.error
Normal file
@ -0,0 +1 @@
|
||||
YACC: 1 shift/reduce conflict, 29 reduce/reduce conflicts.
|
||||
0
test/pure_calc.error
Normal file
0
test/pure_calc.error
Normal file
0
test/pure_error.error
Normal file
0
test/pure_error.error
Normal file
1
test/quote_calc-s.error
Normal file
1
test/quote_calc-s.error
Normal file
@ -0,0 +1 @@
|
||||
YACC: 54 shift/reduce conflicts.
|
||||
1
test/quote_calc.error
Normal file
1
test/quote_calc.error
Normal file
@ -0,0 +1 @@
|
||||
YACC: 54 shift/reduce conflicts.
|
||||
1
test/quote_calc2-s.error
Normal file
1
test/quote_calc2-s.error
Normal file
@ -0,0 +1 @@
|
||||
YACC: 54 shift/reduce conflicts.
|
||||
1
test/quote_calc2.error
Normal file
1
test/quote_calc2.error
Normal file
@ -0,0 +1 @@
|
||||
YACC: 54 shift/reduce conflicts.
|
||||
1
test/quote_calc3-s.error
Normal file
1
test/quote_calc3-s.error
Normal file
@ -0,0 +1 @@
|
||||
YACC: 54 shift/reduce conflicts.
|
||||
1
test/quote_calc3.error
Normal file
1
test/quote_calc3.error
Normal file
@ -0,0 +1 @@
|
||||
YACC: 54 shift/reduce conflicts.
|
||||
1
test/quote_calc4-s.error
Normal file
1
test/quote_calc4-s.error
Normal file
@ -0,0 +1 @@
|
||||
YACC: 54 shift/reduce conflicts.
|
||||
1
test/quote_calc4.error
Normal file
1
test/quote_calc4.error
Normal file
@ -0,0 +1 @@
|
||||
YACC: 54 shift/reduce conflicts.
|
||||
@ -1,5 +1,5 @@
|
||||
#!/bin/sh
|
||||
# $Id: run_test.sh,v 1.8 2012/01/15 11:50:35 tom Exp $
|
||||
# $Id: run_test.sh,v 1.10 2014/03/21 23:49:21 tom Exp $
|
||||
# vi:ts=4 sw=4:
|
||||
|
||||
if test $# = 1
|
||||
@ -30,8 +30,12 @@ do
|
||||
|
||||
OPTS=
|
||||
OPT2=
|
||||
TYPE=".output .tab.c .tab.h"
|
||||
TYPE=".error .output .tab.c .tab.h"
|
||||
case $input in
|
||||
${TEST_DIR}/grammar*)
|
||||
OPTS="$OPTS -g"
|
||||
TYPE="$TYPE .dot"
|
||||
;;
|
||||
${TEST_DIR}/code_*)
|
||||
OPTS="$OPTS -r"
|
||||
TYPE="$TYPE .code.c"
|
||||
@ -48,7 +52,7 @@ do
|
||||
|
||||
for opt2 in "" $OPT2
|
||||
do
|
||||
$YACC $OPTS $opt2 -v -d -p $prefix -b $ROOT${opt2} $input
|
||||
$YACC $OPTS $opt2 -v -d -p $prefix -b $ROOT${opt2} $input 2>&1 | sed -e "s%$YACC%YACC%" >${ROOT}${opt2}.error
|
||||
for type in $TYPE
|
||||
do
|
||||
REF=${TEST_DIR}/${root}${opt2}${type}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user