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.