Related articles |
---|
Preview in grammar franku@fmi.uni-passau.de (Ulrich Frank) (2006-05-03) |
Re: Preview in grammar marcov@stack.nl (Marco van de Voort) (2006-05-04) |
Re: Preview in grammar haberg@math.su.se (2006-05-04) |
Re: Preview in grammar pbmann@gmail.com (2006-05-09) |
Re: Preview in grammar haberg@math.su.se (2006-05-09) |
Re: Preview in grammar DrDiettrich@compuserve.de (Hans-Peter Diettrich) (2006-05-09) |
Re: Preview in grammar franku@fmi.uni-passau.de (Ulrich Frank) (2006-05-09) |
Re: Preview in grammar cfc@shell01.TheWorld.com (Chris F Clark) (2006-05-11) |
Re: Preview in grammar franku@fmi.uni-passau.de (Ulrich Frank) (2006-05-11) |
[7 later articles] |
From: | haberg@math.su.se (Hans Aberg) |
Newsgroups: | comp.compilers |
Date: | 4 May 2006 10:47:09 -0400 |
Organization: | Mathematics |
References: | 06-05-011 |
Keywords: | parse, comment |
Posted-Date: | 04 May 2006 10:47:09 EDT |
"Ulrich Frank" <franku@fmi.uni-passau.de> wrote:
> for my thesis I need a parser generator for generating a parser for a
> language similar to OQL (Object Query Language). I already found a lot
> of parser generators in the web or books but I need a special
> functionality which is not provided by every generated parser. Namely
> I need a preview which token comes next in an uncomplete input string.
> For example when you type "select abc" the preview would be "from". Or
> in "select abc from def where abc" the preview would be "<, <=, >, >=,
> equals".
If understood you right, you want to interactively tell the possible
grammar completions of an input. This has been discussed somewhat in the
Bison lists. Then, LALR(1) is not suitable, because it merges the LR(1)
states in a way that the lookahead tokens may be put on some action coming
up later on in the parsing. Therefore, I think you need to look for a
LR(1) parser. Then the problem would just to check for the lookaheads in
the various states in the generated push-down automaton. In Bison, this is
the output files one can generate. Bison, though, currently only supports
LALR(1).
--
Hans Aberg
[Good point, LALR has never been great for error reporting. -John]
Return to the
comp.compilers page.
Search the
comp.compilers archives again.