The lexer/parser really shouldn't interact since they can operate totally independently. In most cases what you really want is a scannerless parser, which I think I can easily implement as well.
Ter On May 26, 2010, at 7:07 PM, [email protected] wrote: > Way cool! Just curious...is the modal state variable automatically > accessible to the parser? Perhaps on a subchannel synced with the token > stream? Sorry to be tuning in late...always interested in new paths to > semiosis. :) Anyway...I need to take a look at girhub and think up a fun > use. > > Kyle > > Sent from my Verizon Wireless BlackBerry > > -----Original Message----- > From: Terence Parr <[email protected]> > Date: Wed, 26 May 2010 16:18:28 > To: [email protected] interest<[email protected]> > Subject: [antlr-interest] ANTLR v4 progress > > Just passing along an example HTML subset lexer/parser using ANTLR v4; thanks > to debugging and moral support from Oliver Zeigermann, we got the code > generation and runtime support working sufficiently to use the following > grammars. generate some really nice code indeed. You will note that, except > for the enhancement of the lexer modes, the grammars are backward compatible > with v3 :) > > I still have a long way to go, but it's looking more & more useful (only does > LL(1) code generation at this point). > > Ter > --------------------------- > lexer grammar HTMLLexer; > > TAG_START : '<' {pushMode(INSIDE);} ; > > COMMENT : '<!--' .* '-->' {skip();} ; > > TEXT : ~'<'+ ; > > mode INSIDE; > > TAG_STOP : '>' {popMode();} ; > > END_TAG : '/' ID '>' {popMode();} ; > > ID : ('A'..'Z'|'a'..'z'|'0'..'9'|'_'|'#')+ ; > > EQ : '=' ; > > STRING : '"' .* '"' > ; > > WS : ' '+ {skip();} ; > > ------------------------ > > parser grammar HTMLParser; > > options { tokenVocab=HTMLLexer; } > > file : ( TAG_START (starttag | endtag) | TEXT)+ EOF ; > > starttag : ID attr* TAG_STOP ; > > attr : ID (EQ (ID|STRING))? ; > > endtag > : END_TAG > ; > > > 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.
