Ok, I found the predicates

     |   ('<' '<' '=')=> t1='<' t2='<' t3='='
         { $t1.Line == $t2.Line &&
           $t1.CharPositionInLine + 1 == $t2.CharPositionInLine &&
           $t2.Line == $t3.Line &&
           $t2.CharPositionInLine + 1 == $t3.CharPositionInLine }?
     |   ('>' '>' '>' '=')=> t1='>' t2='>' t3='>' t4='='
         { $t1.Line == $t2.Line &&
           $t1.CharPositionInLine + 1 == $t2.CharPositionInLine &&
           $t2.Line == $t3.Line &&
           $t2.CharPositionInLine + 1 == $t3.CharPositionInLine &&
           $t3.Line == $t4.Line &&
           $t3.CharPositionInLine + 1 == $t4.CharPositionInLine }?
     |   ('>' '>' '=')=> t1='>' t2='>' t3='='
         { $t1.Line == $t2.Line &&
           $t1.CharPositionInLine + 1 == $t2.CharPositionInLine &&
           $t2.Line == $t3.Line &&
           $t2.CharPositionInLine + 1 == $t3.CharPositionInLine }?
     ;

I do not see a 3 on the end of the predicates stuff the:

throw new FailedPredicateException(input...

I have synced with the latest depot.

Ter
On Feb 21, 2009, at 3:24 AM, Johannes Luber wrote:

> Terence Parr schrieb:
>>
>> On Feb 20, 2009, at 10:58 AM, Johannes Luber wrote:
>>> I've forgot to run the example build script and noticed a strange
>>> problem for the Java composite-grammar. The code for Java_Expr.cs
>>> appends FailedPredicateException with numbers, e.g.
>>> FailedPredicateException3. Considering that the class doesn't  
>>> change the
>>> name, the compilation fails. I've thought at first that my change to
>>> append <decisionNumber> to some exception variable names went too  
>>> far,
>>> but the only place referring to FailedPredicateException doesn't  
>>> seem to
>>> be wrong.
>>>
>>> I've tried to add debug information but using Jim's little bash  
>>> script
>>> with
>>>
>>>
>>> a3 -XdbgSt Java.g
>>>
>>> doesn't seem to work. Now I don't know where the error actually  
>>> comes
>>> from and can't find it out... :(
>>
>> -XdbgST not St
>
> Damn - and I did specifically copy the option into my notes so I don't
> make that mistake again. Which doesn't work if you save the wrong
> spelling. :( In any case, I'm still no further to solve the problem.  
> The
> generated code is as follows (some extranous code removed):
>
> <CSharp2.validateSemanticPredicate>if ( !(...) )
> {
>    ...
>    throw new FailedPredicateException3(...);
> }</CSharp2.validateSemanticPredicate>
>
> As one can clearly see, the template validateSemanticPredicate() is
> called. The definition is as follows:
>
> validateSemanticPredicate(pred,description) ::= <<
> if ( !(<evalPredicate(...)>) )
> {
>    <ruleBacktrackFailure()>
>    throw new FailedPredicateException(input, "<ruleName>",
> "<description>");
> }
>>>
>
> Where does the "3" come from? I did even regenerate my snapshot, but  
> it
> didn't change a thing.
>
> Johannes
>>
>> Ter
>>
>

_______________________________________________
antlr-dev mailing list
[email protected]
http://www.antlr.org/mailman/listinfo/antlr-dev

Reply via email to