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

Reply via email to