"UP" and "DOWN" tokens (start/end of child list for tree) do not have location information attached so no line/column error reporting. Mostly the error says that you started a subtree that your grammar does not match, probably an LPAREN or RPAREN rooted subtree from your report of cases where you do or do not get the error.
--Loring >________________________________ >From: srinivasan karthikeyan pitchai ><[email protected]> >To: [email protected] >Cc: Terence Parr <[email protected]> >Sent: Wednesday, July 20, 2011 9:46 AM >Subject: [antlr-interest] Deciphering the TreeWalker error message ... > >Hi Folks, >What does the ANTLR walker error message like the following mean? > >no viable alt; token=[@-1,0:0='DOWN' > > >Would appreciate any general guidance/suggestions to zero in on the >errors of this nature. > >Thanks, >Vasan > > >Input sql: >----------- > >select (1) from table1 >where 2 between 3 and 4; > > >Error Message: >-------------------- > >TDWalker1.g: node from after line 2:8 [start1, startStatement, dml, >query_term, query_expression, query, query_unit, where_clause, >condition_list, condition_subexpression, condition] Walker1: no viable >alt; token=[@-1,0:0='DOWN',<2>,0:-1] (decision=127 state 0) >decision=<<590:1: condition options {backtrack=true; } : ( ^( >comparison_operator ( condition_quantifier )? c1= condition c2= >condition ) | ^( BETWEEN expression ^( and_or_operator c1= condition c2= >condition ) ) | ^( condition_operator expression c1= condition ^( ESCAPE >escape_character ) ) | ^( condition_operator expression c1= condition ) >| ^( condition_operator expression_list c1= condition ) | ^( NOT c1= >condition ) | ^( EXISTS expression ) | ^( IS_NOT_NULL expression ) | ^( >IS_NULL expression ) | ^( IS_NOT expression UNTIL_CHANGED ) | ^( IS >expression UNTIL_CHANGED ) | ^( IS_NOT expression UNTIL_CLOSED ) | ^( IS >expression UNTIL_CLOSED ) | expression | condition_list );>> context=...... > > >However the following SQL, that just doesn't have the parenthesis around >1, works fine!!! > >select (1) from table1 >where 2 between 3 and 4; > > >List: http://www.antlr.org/mailman/listinfo/antlr-interest >Unsubscribe: >http://www.antlr.org/mailman/options/antlr-interest/your-email-address > > > List: http://www.antlr.org/mailman/listinfo/antlr-interest Unsubscribe: http://www.antlr.org/mailman/options/antlr-interest/your-email-address -- You received this message because you are subscribed to the Google Groups "il-antlr-interest" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/il-antlr-interest?hl=en.
