bug-bison
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: --no-parser options


From: Satya
Subject: Re: --no-parser options
Date: Mon, 13 Aug 2007 10:57:28 -0500

Tim,
If you want to figure out Bison output, this might help you:
http://www.cs.uic.edu/~spopuri/cparser.html

--satya

On 8/12/07, tim <address@hidden> wrote:
> On Mon, 2007-08-06 at 21:28 +0200, Hans Aberg wrote:
> > On 6 Aug 2007, at 12:19, tim wrote:
> >
> > >>> --no-parser would be quite useful to me. I want to use the parse
> > >>> tables
> > >>> in a lisp program. The less C code I have to filter out the better.
> > >>
> > >> It sounds you want to generate a LISP parser. Have you thought of
> > >> writing a skeleton file for generating LISP output, which might (some
> > >> day) be included in the Bison distribution?
> >
> > > If that's feasible, it's probably what I will do. The alternatives
> > > would
> > > be to write my own parser generator, or trawl through the bison
> > > output.
> > > I've printed out the M4 manual so I can understand the skeletons.
> >
> > Bison has been changed in order to facilitate that, including adding
> > M4, but it is hard to foresee the practical difficulties if you do
> > with say Lisp or Scheme. Learning whole M4 is very ambitious: one can
> > start tweaking the skeleton file, by comparing with the output. One
> > hurdle is figuring out how to translate the rather imperative style
> > of the parser (a so called push-down automaton to which Bison merely
> > computes the states) into a functional language. The parser function
> > checks if a new token is needed, and if there results in a reduction,
> > the action is performed in a large "switch" statement, and then it
> > loops back again, until the virtual end symbol arrives (the parser
> > stack has completely been reduced). The parse stack has different
> > components: state, semantic value, location, perhaps more, which can
> > be implemented as a single stack, or several. At least in the past,
> > the Bison skeleton file did the latter.
> >
> >    Hans Aberg
> >
> >
>
> Thanks Hans. Lisp supports programming in different ways such as
> functional, imperative and OO so no problem there. There is no efficient
> switch statement but you can get a similar effect by putting function
> addresses in an array. I'll let you know how I go.
>
> Tim Josling
>
>
>
>


-- 
...what's remarkable, is that atoms have assembled into entities which
are somehow able to ponder their origins.
--
http://cs.uic.edu/~spopuri




reply via email to

[Prev in Thread] Current Thread [Next in Thread]