当我在以下文件上运行parser.y时,我收到以下错误:
myanalyzer.y: warning: 14 nonterminals useless in grammar
myanalyzer.y: warning: 36 rules useless in grammar
myanalyzer.y:7.8-18: fatal error: start symbol main_struct does not derive any sentence
Run Code Online (Sandbox Code Playgroud)
我无法理解代码有什么问题:
%{
#include <stdio.h>
#include <string.h>
extern int line_num;
extern char *yytext;
%}
%start main_struct
%left PLUS
%token PUBLIC 1
...
%token CONSTANT_CHAR 45
%%
main_struct:variables_declaration
class_declaration
functions_declaration
;
constant: INT
|BOOLEAN
|CHAR
|STRING
|FLOAT
|DOUBLE
;
locality: PUBLIC
| PRIVATE
;
identifier1: IDENTIFIER
| identifier1 COMMA IDENTIFIER
;
class_body: /*empty*/
| locality variables_declaration …Run Code Online (Sandbox Code Playgroud) bison ×1