[ofa-general] Re: [PATCH] osm: QoS parser - fixing yacc command

Sasha Khapyorsky sashak at voltaire.com
Sat Sep 1 16:40:49 PDT 2007


On 01:34 Sun 02 Sep     , Yevgeny Kliteynik wrote:
>  Sasha Khapyorsky wrote:
> > Hi Ira,
> > On 15:55 Fri 31 Aug     , Ira Weiny wrote:
> >> We just ran into a problem with this patch applied.
> >>
> >> It seems that the output file is not y.tab.h but osm_qos_parser_y.h so 
> >> should
> >> the move be: mv -f osm_qos_parser_y.h 
> >> $(srcdir)/../include/opensm/osm_qos_parser_y.h
> > I applied this fix for now.
> >> weiny2 at woprjr0:~/OpenIB/git-trees/management/opensm/opensm
> >> 15:51:42 > ls *.h
> >> ls: *.h: No such file or directory
> >>
> >> weiny2 at woprjr0:~/OpenIB/git-trees/management/opensm/opensm
> >> 15:52:02 > bison -d -o ./osm_qos_parser_y.c -p__qos_parser_ 
> >> ./osm_qos_parser.y
> >>
> >> weiny2 at woprjr0:~/OpenIB/git-trees/management/opensm/opensm
> >> 15:52:21 > ls *.h
> >> osm_qos_parser_y.h
> >>
> >> weiny2 at woprjr0:~/OpenIB/git-trees/management/opensm/opensm
> >> 15:53:17 > bison --version
> >> bison (GNU Bison) 1.875c
> > I have bison-2.3 and similar results. With yacc-1.9.1 this line doesn't
> > work at all. The only "compatible" rules I found are:
> >  yacc -d -b osm_qos_parser -p __qos_parser_ ./osm_qos_parser.y
> > , or
> >  bison -y -d -b osm_qos_parser -p __qos_parser_ ./osm_qos_parser.y
> > , and then I get osm_qos_parser.tab.h and osm_qos_parser.tab.c files in
> > current directory.
> > Yevgeny! Is this could be useful?
> 
>  How about dropping all these yacc/bison/lex/flex/version dependent commands

Is this

  $(YACC) -d -b osm_qos_parser -p __qos_parser_ ./osm_qos_parser.y

yacc/bison/lex/flex/version dependent?

Sasha

>  and going back to something like what I've submitted in the original patch:
> 
>  osm_qos_parser_y.c: $(srcdir)/osm_qos_parser.y 
>  $(srcdir)/../include/opensm/osm_qos_policy.h
>  	$(YACC) -d $(srcdir)/osm_qos_parser.y
>  	mv -f y.tab.c $(srcdir)/osm_qos_parser_y.c
>  	mv -f y.tab.h $(srcdir)/../include/opensm/osm_qos_parser_y.h
> 
>  osm_qos_parser_l.c: $(srcdir)/osm_qos_parser.l 
>  $(srcdir)/../include/opensm/osm_qos_policy.h
>  	$(LEX) $(srcdir)/osm_qos_parser.l
>  	mv -f lex.yy.c $(srcdir)/osm_qos_parser_l.c
> 
>  And if we're really worried about prefixes, we can add it too:
> 
>  	$(YACC) -d -p__qos_parser_ $(srcdir)/osm_qos_parser.y
>  and
>  	$(LEX) -P__qos_parser_ $(srcdir)/osm_qos_parser.l
> 
> 
>  -- Yevgeny
> 
> > Sasha
> 



More information about the general mailing list