Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.compilers > #1678
| From | George Neuner <gneuner2@comcast.net> |
|---|---|
| Newsgroups | comp.compilers |
| Subject | Re: antlr |
| Date | 2016-03-23 02:56 -0400 |
| Organization | A noiseless patient Spider |
| Message-ID | <16-03-006@comp.compilers> (permalink) |
| References | <16-03-001@comp.compilers> <16-03-004@comp.compilers> <16-03-005@comp.compilers> |
On Tue, 22 Mar 2016 23:54:19 -0400, ruben safir <ruben@mrbrklyn.com> wrote: >On Tue, 15 Mar 2016 10:53:25 -0400, George Neuner wrote: > >> Antlr now is supported mainly on Stackoverflow.com and via a Google >> group. see http://www.antlr.org/support.html > >Lets try usenet > >I have two grammars, one with white space > >WS : [ \n\t\r]+ ->skip; > > >and one, or two actually, for comments >COMMENT: '#' .*? '\n' -> channel(HIDDEN); >COMMENT2: '/*' .*? '*/' -> channel(HIDDEN); //This pulls through > //linefeeds? > >What is the practical difference between the channel(HIDDEN) and the skip "skip" just throws away the match. There is no token produced for anything that is skipped. "channel" is a bit more complicated. Antlr uses named streams - "channels" - to communicate between the lexer and parser. The parser only draws tokens from one stream at a time (but you can change which stream it follows). There are two built in channels: DEFAULT and HIDDEN. The parser (unless told otherwise) listens to DEFAULT. Tokens sent to HIDDEN are not parsed, but are still available to be inserted back into output later. This is useful for, e.g., source->source transformations preserving comments. You can define other channels for different purposes, e.g., an embedded DSL could be handled by a separate parser. Unfortunately a useful example would be complicated. The online documentation tracks the state of the latest version, but the best source for insight into how Antlr works is Terence's book. George
Back to comp.compilers | Previous | Next — Previous in thread | Find similar | Unroll thread
antlr ruben safir <ruben@mrbrklyn.com> - 2016-03-13 05:01 -0400
Re: antlr George Neuner <gneuner2@comcast.net> - 2016-03-15 10:53 -0400
Re: antlr ruben safir <ruben@mrbrklyn.com> - 2016-03-22 23:54 -0400
Re: antlr George Neuner <gneuner2@comcast.net> - 2016-03-23 02:56 -0400
csiph-web