Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.compilers > #830

Re: Compiling expressions

From James Harris <james.harris.1@gmail.com>
Newsgroups comp.compilers
Subject Re: Compiling expressions
Date 2013-01-02 09:10 -0800
Organization Compilers Central
Message-ID <13-01-007@comp.compilers> (permalink)
References <12-12-035@comp.compilers> <12-12-038@comp.compilers>

Show all headers | View raw


On Dec 30 2012, 7:58 am, "Dmitry A. Kazakov" <mail...@dmitry-
kazakov.de> wrote:
> On Sat, 29 Dec 2012 05:11:16 -0800 (PST), James Harris wrote:

> > Compiling expressions ...

...

> > requirements are:
>
> > 1. Hand-written, not the output of a parser generator.
> > 2. Efficient and without backtracking.
> > 3. Precedences (and possibly associativities) defined in tables.
> > 4. Output to be a tree structure.
> > 5. Parenthesised subexpressions allowed.
> > 6. Some operator families are *not* to associate with each other. See
> > below.
> > 7. Monadic prefix, dyadic infix and monadic postfix operators are all
> > allowed.
> > 8. Prefix and infix operators can use some same symbols (e.g. minus
> > sign).
>
> Here is an implementation with an explanation of the technique used:
>
> http://www.dmitry-kazakov.de/ada/components.htm#Parsers_etc
>
> I extended the method, which fairly old, towards non-associativity (#6),
> advanced parenthesis (#5, keyed parameter associations), and split
> association priorities into left-right pairs. But basically it is still the
> same twin-stack method. Everything is table-driven, of course.

Thanks, a took a look. As mentioned I'm not looking for a solution as
yet but I'll keep a note of it for guidance if nothing else. If it
covers all the points I was asking about it's impressive.

James

Back to comp.compilers | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

Compiling expressions James Harris <james.harris.1@gmail.com> - 2012-12-29 05:11 -0800
  Re: Compiling expressions glen herrmannsfeldt <gah@ugcs.caltech.edu> - 2012-12-29 23:33 +0000
    Re: Compiling expressions James Harris <james.harris.1@gmail.com> - 2013-01-02 09:04 -0800
      Re: Compiling expressions "matzebraun@googlemail.com" <matzebraun@googlemail.com> - 2013-01-03 07:13 -0800
      Re: Compiling expressions Horst von Brand <vonbrand@inf.utfsm.cl> - 2013-01-14 16:31 -0300
  Re: Compiling expressions "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> - 2012-12-30 08:58 +0100
    Re: Compiling expressions James Harris <james.harris.1@gmail.com> - 2013-01-02 09:10 -0800
    Re: Compiling expressions James Harris <james.harris.1@gmail.com> - 2013-01-03 12:01 -0800
      Re: Compiling expressions "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> - 2013-01-04 10:18 +0100
  Re: Compiling expressions torbenm@diku.dk (Torben Ægidius Mogensen) - 2013-01-03 16:49 +0100
  Re: Compiling expressions James Harris <james.harris.1@gmail.com> - 2013-01-03 13:33 -0800
    Re: Compiling expressions James Harris <james.harris.1@gmail.com> - 2013-01-06 00:57 -0800
    Re: Compiling expressions "James Harris \(es\)" <james.harris.1@gmail.com> - 2013-03-07 11:11 +0000

csiph-web