Not sure your assumption about look ahead is correct but the gurus will have to answer that ;-)
Try changing RULE_EQUALS to match ';=' and 15;=0 as input will give the expected result. Regards Soren 2011/1/14 Mark Christiaens <[email protected]> > That was my first guess too but I doubt that that is the cause. > > Without the space, I expect it to see the 15 (corresponding to > the ('0'..'9')+ part) and then look ahead and see that the next part must > start with a ':' followed by a number. Since it doesn't see a number (it > sees a '=') it should end the RULE_ABSTRACT_LITERAL. Then parsing can > continue and would start from the ':' to match the RULE_EQUALS and then > again the RULE_ABSTRACT_LITERAL. > > Mark > > > On Fri, Jan 14, 2011 at 4:30 PM, Søren Kristiansen <[email protected]>wrote: > >> Hi Mark, >> Without the space before ':=', 15: will match your >> RULE_ABSTRACT_LITERAL rule and then '=' can't be >> matchted. >> >> Regards >> Soren >> >> 2011/1/14 Mark Christiaens <[email protected]> >> >>> I have a small test grammar: >>> >>> grammar test_grammar; >>> >>> testrule : t*; >>> t: RULE_EQUALS | RULE_ABSTRACT_LITERAL | RULE_WS ; >>> RULE_EQUALS : ':='; >>> RULE_ABSTRACT_LITERAL : ('0'..'9')+ (':' ('0'..'9')+ ':')?; >>> RULE_WS : (' '|'\t')+; >>> >>> >>> When I debug this grammar (with ANTLRWorks 1.4.2 using ANLTR 3.3) I feed >>> it >>> the input (no spaces) >>> >>> >>> 15:=0 >>> >>> >>> and it doesn't parse my input correctly. When I change the input to >>> (adding >>> space before ':=') >>> >>> 15 :=0 >>> >>> it parses successfully. Any ideas what I'm missing here? >>> >>> Mark >>> -- >>> <http://www.sigasi.com> >>> >>> Mark Christiaens, PhD >>> Expert Research Engineer >>> www.sigasi.com >>> >>> List: http://www.antlr.org/mailman/listinfo/antlr-interest >>> Unsubscribe: >>> http://www.antlr.org/mailman/options/antlr-interest/your-email-address >>> >> >> > > > -- > <http://www.sigasi.com> > Mark Christiaens, PhD > Expert Research Engineer > www.sigasi.com > > 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.
