Hi,
$ g -1 '^Module' StackerParser.y
/* A module is just a DefinitionList */
Module : { SCI->handle_module_start( ); }
DefinitionList { $$ = SCI->handle_module_end( $2 ); } ;
$
It's been years since I was heavily into yacc, but shouldn't it be
s/$2/$1/?
Cheers,
Ralph.
No, $2 is correct. The { } code block before DefinitionList is counted
(or more precisely, the empty sequence of terminals preceding it is
counted).
Ralph Corderoy wrote:
>Hi,
>
> $ g -1 '^Module' StackerParser.y
> /* A module is just a DefinitionList */
> Module : { SCI->handle_module_start( ); }
> DefinitionList { $$ = SCI->handle_module_end( $2 ); } ;
> $
>
>It's been years since I was heavily into yacc, but shouldn't it be
>s/$2/$1/?
>
>Cheers,
>
>
>Ralph.
>
>
>_______________________________________________
>LLVM Developers mailing list
>LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu
>http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>
>
>
>
>
Nope. $2 refers to "DefinitionList" .. its the second thing in the production named "Module". Reid. On Thu, 2006-04-20 at 17:07 +0100, Ralph Corderoy wrote:> Hi, > > $ g -1 '^Module' StackerParser.y > /* A module is just a DefinitionList */ > Module : { SCI->handle_module_start( ); } > DefinitionList { $$ = SCI->handle_module_end( $2 ); } ; > $ > > It's been years since I was heavily into yacc, but shouldn't it be > s/$2/$1/? > > Cheers, > > > Ralph. > > > _______________________________________________ > LLVM Developers mailing list > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev-------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 189 bytes Desc: This is a digitally signed message part URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20060420/6565075d/attachment.sig>
Hi Jeff,> Ralph Corderoy wrote: > > /* A module is just a DefinitionList */ > > Module : { SCI->handle_module_start( ); } > > DefinitionList { $$ = SCI->handle_module_end( $2 ); } ; > > No, $2 is correct. The { } code block before DefinitionList is > counted (or more precisely, the empty sequence of terminals preceding > it is counted).Ah, thanks. I found it in the Bison manual too: http://www.gnu.org/software/bison/manual/html_mono/bison.html.gz#Mid_002dRule-Actions Cheers, Ralph.