help-bison
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: Why bison doesn't like my grammar?


From: Vidhya
Subject: RE: Why bison doesn't like my grammar?
Date: Mon, 18 Sep 2006 17:18:08 +0530

Hi
I tried your grammar
For const_var_dim_list , you had given as 
const_var_dim_list :  const_var_dim_list const_var_dim ;
but where is const_var_dim_list again defined. (like what does it get
reduced to) 
So bison errs saying 2useless nonterminals,

I tried some thing like this
Const_var_dim_list : const_var_dim , now it goes without any glitches.
But if I put 
Const_var_dim_list: /*empty*/
                        | const_var_dim , then there is one  shift/reduce
conflict for that production , I could find only this much , Hope this
helps.
Vidya 


-----Original Message-----
From: address@hidden
[mailto:address@hidden On Behalf Of SirZooro
Sent: Sunday, September 17, 2006 6:52 PM
To: address@hidden
Subject: Why bison doesn't like my grammar?


Hello,
I was found this problem while trying to eliminate shift/reduce conflicts
from my grammar. Bison (version 2.3, Cygwin) reports that some of my rules
are useless, and I don't know why. Could you look on this and tell me what's
wrong?

I want to describe something like this (array dimensions, default value and
'global' are optional):

variables
{
  var_aaa[3][2] : 8 = 123  global
  other_var : x
}

Daniel

Useless rules:
   11 variable_decl: TOK_SYMBOL const_var_dim_list ':' const_int_function
var_default var_global
   12 const_var_dim_list: const_var_dim_list const_var_dim
   13 const_var_dim: '[' const_int_function ']'

Grammar file:

%token TOK_VARIABLES TOK_SYMBOL TOK_X TOK_GLOBAL TOK_NUMBER '{' '}' '[' ']'
':' '='
%token TOK_NUMBER

%glr-parser

%%

variables : TOK_VARIABLES '{' variables_list '}' ;

variables_list : /* empty */
        | variables_list variable_decl ;

variable_decl :  TOK_SYMBOL ':' const_int_function var_default var_global
        | TOK_SYMBOL const_var_dim_list ':' const_int_function var_default
var_global
        | TOK_SYMBOL ':' TOK_X ;

const_var_dim_list :  const_var_dim_list const_var_dim ;

const_var_dim : '[' const_int_function ']' ;

var_default : /* empty */
        | '=' const_int_function ;

var_global : /* empty */
        | TOK_GLOBAL ;

const_int_function:
        TOK_NUMBER ;

-- 
View this message in context:
http://www.nabble.com/Why-bison-doesn%27t-like-my-grammar--tf2286045.html#a6
349993
Sent from the Gnu - Bison - Help forum at Nabble.com.



_______________________________________________
address@hidden http://lists.gnu.org/mailman/listinfo/help-bison





reply via email to

[Prev in Thread] Current Thread [Next in Thread]