Path: csiph.com!v102.xanadu-bbs.net!xanadu-bbs.net!news.glorb.com!border3.nntp.dca.giganews.com!border1.nntp.dca.giganews.com!nntp.giganews.com!news.iecc.com!.POSTED!nerds-end From: James Harris Newsgroups: comp.compilers Subject: Re: Compiling expressions Date: Wed, 2 Jan 2013 09:04:40 -0800 (PST) Organization: Compilers Central Lines: 38 Sender: johnl@iecc.com Approved: comp.compilers@iecc.com Message-ID: <13-01-006@comp.compilers> References: <12-12-035@comp.compilers> <12-12-036@comp.compilers> NNTP-Posting-Host: news.iecc.com Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Trace: leila.iecc.com 1357150840 25770 64.57.183.58 (2 Jan 2013 18:20:40 GMT) X-Complaints-To: abuse@iecc.com NNTP-Posting-Date: Wed, 2 Jan 2013 18:20:40 +0000 (UTC) Keywords: parse Posted-Date: 02 Jan 2013 13:20:40 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:829 On Dec 29 2012, 11:33 pm, glen herrmannsfeldt wrote: > James Harris wrote: > > Compiling expressions ... > > ... 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. > > An interesting requirement. > > I can understand need for speed, size, and such, and maybe one > of those requires a hand-written (hand optimized) parser. > > If you are so restricted, do you allow your parser to be written > in a high-level language? To be compiled by a non-handwritten > compiler? The parser for the rest of the language is handwritten and top-down. Therefore it makes sense to parse expressions the same way. I don't want to have generated code just to recognise expressions. It doesn't feel like a restriction per se, just a choice. HLL is fine. How the compiler is compiled doesn't matter. ... > > 3. Precedences (and possibly associativities) defined in tables. > > Tables most easily generated automatically, by a parser generator? I would rather the result is easy to understand but I don't mind too much how the tables are generated. James