Related articles |
---|
re-entrant parsers, pure_parser, bison, flex lmipjmy@eei.ericsson.se (PJ Mealy) (1997-07-13) |
Re: re-entrant parsers, pure_parser, bison, flex lmipjmy@eei.ericsson.se (PJ Mealy) (1997-07-16) |
Re: re-entrant parsers, pure_parser, bison, flex tiggr@ics.ele.tue.nl (1997-07-16) |
Re: re-entrant parsers, pure_parser, bison, flex lmipjmy@eei.ericsson.se (PJ Mealy) (1997-07-18) |
Re: re-entrant parsers, pure_parser, bison, flex cfc@world.std.com (1997-07-18) |
Re: re-entrant parsers, pure_parser, bison, flex 71511.3711@CompuServe.COM (Brian W. Inglis) (1997-07-21) |
Re: re-entrant parsers, pure_parser, bison, flex bear@sonic.net (Ray Dillinger) (1997-07-22) |
Re: re-entrant parsers, pure_parser, bison, flex vetter@cc.gatech.edu (Jeffrey Vetter) (1997-07-22) |
Re: re-entrant parsers, pure_parser, bison, flex jlilley@empathy.com (John Lilley) (1997-08-24) |
From: | tiggr@ics.ele.tue.nl (Pieter Schoenmakers) |
Newsgroups: | comp.compilers |
Date: | 16 Jul 1997 22:57:32 -0400 |
Organization: | Eindhoven University of Technology |
References: | 97-07-063 |
Keywords: | parse |
The moderator natters:
[You have to fiddle the lexer yourself. If you just want to parser to be
recursive, you need only add the extra &yyval argument to yylex. If you
want a truly recursive lexer that you can recurse into at any time,
you're out of luck with flex. -John]
What is `at any time'? If it suffices to be able to use the lexer on a
second file that is included by a first file while the first file is
currently being parsed, lexed, buffered, buffered (again) and read, then
a wrapper around the parser's entry function suffices. This wrapper can
setup a fresh YY_BUFFER_STATE, using yy_create_buffer and
yy_switch_to_buffer (and yy_delete_buffer). If `at any time' is at more
times than this, a similar wrapper can be put around something else,
though I can't imagine the circumstances under which this would be
necessary. --Tiggr
--
Return to the
comp.compilers page.
Search the
comp.compilers archives again.