Did you do a clean build? Had a similar problem recently, and a "ant
clean" fixed it. Perhaps the build file does not get the dependency
right - haven't investigated...
-Ben
On Sun, May 11, 2008 at 10:05 PM, Johannes Luber <[EMAIL PROTECTED]> wrote:
> Terence Parr schrieb:
>
>
> > Ok, last runtime and template change before we go beta. I have one
> > customer with an outstanding bug (I *think*), but they should be able
> > to wait for 3.2. I now need to go work on the documentation. This
> > last change was motivated by discussions with an important customer
> > this week. They were talking about the need for excellent error
> > recovery so I spent the time to figure out how to handle error
> > recovery within an alternative in the presence of actions a tree
> > construction. previously x=ID {f($x);} would do crazy things if ID
> > we're missing from input string. now, people have the opportunity to
> > specify how to conjure up the missing ID. gets added to the tree and
> > everything. Very cool... okay, here we go.
> >
> > Single token insertion and deletion is back in with improvements so
> > that it works properly with actions and AST construction :)
> >
> > Trivial change to Java.stg code gen template so that token labels are
> > set according to what match() does in terms of recovery:
> >
> > /** match a token optionally with a label in front */
> > tokenRef(token,label,elementIndex,hetero) ::= <<
> > <if(label)>
> > <label>=(<labelType>)input.LT(1);<\n>
> > <endif>
> > match(input,<token>,FOLLOW_<token>_in_<ruleName><elementIndex>);
> > <checkRuleBacktrackFailure()>
> > >>
> >
> > becomes
> >
> > /** match a token optionally with a label in front */
> > tokenRef(token,label,elementIndex,hetero) ::= <<
> > <
> > if
> > (label
> > )>
> > <
> > label
> > >
> > =
> > (<
> > labelType
> > >
> > )<
> > endif>match(input,<token>,FOLLOW_<token>_in_<ruleName><elementIndex>);
> > <checkRuleBacktrackFailure()>
> > >>
> >
> > The runtime has some easy but widespread changes across files:
> >
> > Added BaseRecognizer methods: getCurrentInputSymbol(),
> > getMissingSymbol()
> >
> > Made match() return an object so that I can appropriately set token
> > labels in the parser or tree parser.
> >
> > Updated unit tests.
> >
> > Had to to do some re-factoring of the error handling code, I'm afraid.
> > Sorry! EOF wasn't handled properly in some cases and I needed to make
> > the error recovery work better with token labels.
> >
> > Made debug tree adaptor deal with tokens conjured up during error
> > recovery.
> >
> > I was tempted to improves the debugging protocol to deal better with
> > exception information for AW, but decided against it.
> >
> > Ter
>
> Applying the changes (and some more) to the C# target I receive for the
> C example grammar these errors:
>
> [exec] ANTLR Parser Generator Version 3.1b1 (??)
> 1989-2007
> [exec] error(118):
> /home/verequus/Arbeit/ANTLR/code/examples-v3
> /csharp/C/C.g:0:0: symbol Symbols conflicts with global dynamic scope
> with same
> name
> [exec] error(204):
> /home/verequus/Arbeit/ANTLR/code/examples-v3
> /csharp/C/C.g:267:4: duplicate token type 'static' when collapsing
> subrule into
> set
> [exec] error(204):
> /home/verequus/Arbeit/ANTLR/code/examples-v3
> /csharp/C/C.g:269:4: duplicate token type 'auto' when collapsing subrule
> into se
> t
> [exec] error(204):
> /home/verequus/Arbeit/ANTLR/code/examples-v3
> /csharp/C/C.g:271:4: duplicate token type 'register' when collapsing
> subrule int
> o set
> [exec] error(204):
> /home/verequus/Arbeit/ANTLR/code/examples-v3
> /csharp/C/C.g:341:4: duplicate token type 'union' when collapsing
> subrule into s
> et
> [exec] error(204):
> /home/verequus/Arbeit/ANTLR/code/examples-v3
> /csharp/C/C.g:423:4: duplicate token type 'volatile' when collapsing
> subrule int
> o set
> [exec] error(204):
> /home/verequus/Arbeit/ANTLR/code/examples-v3
> /csharp/C/C.g:669:4: duplicate token type '*' when collapsing subrule
> into set
> [exec] error(204):
> /home/verequus/Arbeit/ANTLR/code/examples-v3
> /csharp/C/C.g:671:4: duplicate token type '+' when collapsing subrule
> into set
> [exec] error(204):
> /home/verequus/Arbeit/ANTLR/code/examples-v3
> /csharp/C/C.g:673:4: duplicate token type '-' when collapsing subrule
> into set
> [exec] error(204):
> /home/verequus/Arbeit/ANTLR/code/examples-v3
> /csharp/C/C.g:675:4: duplicate token type '~' when collapsing subrule
> into set
> [exec] error(204):
> /home/verequus/Arbeit/ANTLR/code/examples-v3
> /csharp/C/C.g:677:4: duplicate token type '!' when collapsing subrule
> into set
> [exec] error(204):
> /home/verequus/Arbeit/ANTLR/code/examples-v3
> /csharp/C/C.g:699:9: duplicate token type OCTAL_LITERAL when collapsing
> subrule
> into set
> [exec] error(204):
> /home/verequus/Arbeit/ANTLR/code/examples-v3
> /csharp/C/C.g:701:9: duplicate token type DECIMAL_LITERAL when
> collapsing subrul
> e into set
> [exec] error(204):
> /home/verequus/Arbeit/ANTLR/code/examples-v3
> /csharp/C/C.g:703:7: duplicate token type CHARACTER_LITERAL when
> collapsing subr
> ule into set
> [exec] error(204):
> /home/verequus/Arbeit/ANTLR/code/examples-v3
> /csharp/C/C.g:705:4: duplicate token type STRING_LITERAL when collapsing
> subrule
> into set
> [exec] error(204):
> /home/verequus/Arbeit/ANTLR/code/examples-v3
> /csharp/C/C.g:707:9: duplicate token type FLOATING_POINT_LITERAL when
> collapsing
> subrule into set
> [exec] error(204):
> /home/verequus/Arbeit/ANTLR/code/examples-v3
> /csharp/C/C.g:755:4: duplicate token type '*=' when collapsing subrule
> into set
> [exec] error(204):
> /home/verequus/Arbeit/ANTLR/code/examples-v3
> /csharp/C/C.g:757:4: duplicate token type '/=' when collapsing subrule
> into set
> [exec] error(204):
> /home/verequus/Arbeit/ANTLR/code/examples-v3
> /csharp/C/C.g:759:4: duplicate token type '%=' when collapsing subrule
> into set
> [exec] error(204):
> /home/verequus/Arbeit/ANTLR/code/examples-v3
> /csharp/C/C.g:761:4: duplicate token type '+=' when collapsing subrule
> into set
> [exec] error(204):
> /home/verequus/Arbeit/ANTLR/code/examples-v3
> /csharp/C/C.g:763:4: duplicate token type '-=' when collapsing subrule
> into set
> [exec] error(204):
> /home/verequus/Arbeit/ANTLR/code/examples-v3
> /csharp/C/C.g:765:4: duplicate token type '<<=' when collapsing subrule
> into set
> [exec] error(204):
> /home/verequus/Arbeit/ANTLR/code/examples-v3
> /csharp/C/C.g:767:4: duplicate token type '>>=' when collapsing subrule
> into set
> [exec] error(204):
> /home/verequus/Arbeit/ANTLR/code/examples-v3
> /csharp/C/C.g:769:4: duplicate token type '&=' when collapsing subrule
> into set
> [exec] error(204):
> /home/verequus/Arbeit/ANTLR/code/examples-v3
> /csharp/C/C.g:771:4: duplicate token type '^=' when collapsing subrule
> into set
> [exec] error(204):
> /home/verequus/Arbeit/ANTLR/code/examples-v3
> /csharp/C/C.g:773:4: duplicate token type '|=' when collapsing subrule
> into set
> [exec] error(204):
> /home/verequus/Arbeit/ANTLR/code/examples-v3
> /csharp/C/C.g:827:33: duplicate token type '!=' when collapsing subrule
> into set
> [exec] error(204):
> /home/verequus/Arbeit/ANTLR/code/examples-v3
> /csharp/C/C.g:835:27: duplicate token type '>' when collapsing subrule
> into set
> [exec] error(204):
> /home/verequus/Arbeit/ANTLR/code/examples-v3
> /csharp/C/C.g:835:31: duplicate token type '<=' when collapsing subrule
> into set
> [exec] error(204):
> /home/verequus/Arbeit/ANTLR/code/examples-v3
> /csharp/C/C.g:835:36: duplicate token type '>=' when collapsing subrule
> into set
> [exec] error(204):
> /home/verequus/Arbeit/ANTLR/code/examples-v3
> /csharp/C/C.g:843:31: duplicate token type '>>' when collapsing subrule
> into set
> [exec] error(204):
> /home/verequus/Arbeit/ANTLR/code/examples-v3
> /csharp/C/C.g:827:33: duplicate token type '!=' when collapsing subrule
> into set
> [exec] error(204):
> /home/verequus/Arbeit/ANTLR/code/examples-v3
> /csharp/C/C.g:835:27: duplicate token type '>' when collapsing subrule
> into set
> [exec] error(204):
> /home/verequus/Arbeit/ANTLR/code/examples-v3
> /csharp/C/C.g:835:31: duplicate token type '<=' when collapsing subrule
> into set
> [exec] error(204):
> /home/verequus/Arbeit/ANTLR/code/examples-v3
> /csharp/C/C.g:835:36: duplicate token type '>=' when collapsing subrule
> into set
> [exec] error(204):
> /home/verequus/Arbeit/ANTLR/code/examples-v3
> /csharp/C/C.g:843:31: duplicate token type '>>' when collapsing subrule
> into set
> [exec] error(10): internal error:
> /home/verequus/Arbeit/ANTLR/
> code/examples-v3/csharp/C/C.g : java.lang.ArrayIndexOutOfBoundsException: -1
> [exec] org.antlr.misc.BitSet.range(BitSet.java:365)
> [exec] org.antlr.misc.BitSet.addAll(BitSet.java:105)
> [exec] org.antlr.misc.BitSet.of(BitSet.java:351)
> [exec]
> org.antlr.codegen.CodeGenerator.generateLocalFOLLOW(Code
> Generator.java:590)
> [exec]
> org.antlr.codegen.CodeGenTreeWalker.atom(CodeGenTreeWalk
> er.java:1993)
> [exec]
> org.antlr.codegen.CodeGenTreeWalker.element(CodeGenTreeW
> alker.java:1686)
> [exec]
> org.antlr.codegen.CodeGenTreeWalker.alternative(CodeGenT
> reeWalker.java:1290)
> [exec]
> org.antlr.codegen.CodeGenTreeWalker.block(CodeGenTreeWal
> ker.java:1063)
> [exec]
> org.antlr.codegen.CodeGenTreeWalker.ebnf(CodeGenTreeWalk
> er.java:1862)
> [exec]
> org.antlr.codegen.CodeGenTreeWalker.element(CodeGenTreeW
> alker.java:1682)
> [exec]
> org.antlr.codegen.CodeGenTreeWalker.alternative(CodeGenT
> reeWalker.java:1290)
> [exec]
> org.antlr.codegen.CodeGenTreeWalker.block(CodeGenTreeWal
> ker.java:1063)
> [exec]
> org.antlr.codegen.CodeGenTreeWalker.rule(CodeGenTreeWalk
> er.java:779)
> [exec]
> org.antlr.codegen.CodeGenTreeWalker.rules(CodeGenTreeWal
> ker.java:570)
> [exec]
> org.antlr.codegen.CodeGenTreeWalker.grammarSpec(CodeGenT
> reeWalker.java:512)
> [exec]
> org.antlr.codegen.CodeGenTreeWalker.grammar(CodeGenTreeW
> alker.java:330)
> [exec]
> org.antlr.codegen.CodeGenerator.genRecognizer(CodeGenera
> tor.java:421)
> [exec] org.antlr.Tool.generateRecognizer(Tool.java:419)
> [exec] org.antlr.Tool.process(Tool.java:286)
> [exec] org.antlr.Tool.main(Tool.java:71)
>
>
> Did I do something wrong?
>
> Johannes
>
>
> _______________________________________________
> antlr-dev mailing list
> [email protected]
> http://www.antlr.org:8080/mailman/listinfo/antlr-dev
>
_______________________________________________
antlr-dev mailing list
[email protected]
http://www.antlr.org:8080/mailman/listinfo/antlr-dev