Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.compilers > #822
| Path | csiph.com!newsfeed.hal-mli.net!feeder3.hal-mli.net!newsfeed.hal-mli.net!feeder1.hal-mli.net!news.misty.com!news.iecc.com!.POSTED!nerds-end |
|---|---|
| From | "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> |
| Newsgroups | comp.compilers |
| Subject | Re: Compiling expressions |
| Date | Sun, 30 Dec 2012 08:58:32 +0100 |
| Organization | cbb software GmbH |
| Lines | 35 |
| Sender | johnl@iecc.com |
| Approved | comp.compilers@iecc.com |
| Message-ID | <12-12-038@comp.compilers> (permalink) |
| References | <12-12-035@comp.compilers> |
| Reply-To | mailbox@dmitry-kazakov.de |
| NNTP-Posting-Host | news.iecc.com |
| Mime-Version | 1.0 |
| Content-Type | text/plain; charset="us-ascii" |
| Content-Transfer-Encoding | 7bit |
| X-Trace | leila.iecc.com 1356903538 42513 64.57.183.58 (30 Dec 2012 21:38:58 GMT) |
| X-Complaints-To | abuse@iecc.com |
| NNTP-Posting-Date | Sun, 30 Dec 2012 21:38:58 +0000 (UTC) |
| Keywords | parse |
| Posted-Date | 30 Dec 2012 16:38:58 EST |
| X-submission-address | compilers@iecc.com |
| X-moderator-address | compilers-request@iecc.com |
| X-FAQ-and-archives | http://compilers.iecc.com |
| Xref | csiph.com comp.compilers:822 |
Show key headers only | View raw
On Sat, 29 Dec 2012 05:11:16 -0800 (PST), James Harris wrote: > Compiling expressions is turning out to be more 'interesting' than I > anticipated! My requirements I believe to be fairly generic but they > seem not to be supported by standard algorithms so it's not as simple > as it might be. I thought I would post here as much out of interest as > anything. I'm not after a prebuilt solution but would be interested to > hear from other folks who have had similar issues to address. The > 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. -- Regards, Dmitry A. Kazakov http://www.dmitry-kazakov.de
Back to comp.compilers | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll 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