Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.forth > #26649
| From | Paul Rubin <no.email@nospam.invalid> |
|---|---|
| Newsgroups | comp.lang.forth |
| Subject | Re: EuroForth 2013 proceedings available |
| Date | 2013-10-19 10:59 -0700 |
| Organization | Nightsong/Fort GNOX |
| Message-ID | <7xd2n1ta4w.fsf@ruckus.brouhaha.com> (permalink) |
| References | <2013Oct7.174137@mips.complang.tuwien.ac.at> <7xiox8p3ag.fsf@ruckus.brouhaha.com> <2013Oct9.155340@mips.complang.tuwien.ac.at> |
>>Regarding PAF, you might know about Reuben Thomas's "Mite" > They are both intermediate languages, but VMs like these also have > their own code distribution format and present the program with a > closed environment that allows things like garbage collection Aha, I didn't realize Mite was that fancy, and apparently it has (or is made for) a JVM-like JIT rather than having a static translator. So it doesn't sound so good for very small targets. >>The MINIMAL portable assembler used for retargeting SPITBOL > That seems to be similar in spirit to PAF. I would have to look > closer at it to make a well-founded comparison. MINIMAL seems much more primitive than PAF. It's basically a macro preprocessor written in Spitbol, that translates a lowest-common-denominator, abstracted assembly language to various targets. So for example, it exposes six or so fixed registers to the user program. On the other hand, a quite substantial program (Spitbol) was written in it. PAF on the other hand seems more like a compiler IR than an assembly language, in that it has register allocation and instruction selection. Can you say how are you doing instruction selection? Also, are you planning to release the code? > AFAIK The back end of tcc is integrated with the front end, so that > would be quite a bit of work. Yeah, tcc looked pretty tightly coupled. My current thoughts are towards HBurg: http://www.bytelabs.org/hburg.html It generates BURG-style instruction recognizers, that are currently emitted in Java, though that is probably hackable. (HBurg itself is written in Haskell). It cites this, which might be more in the PAF and Forth spirit: http://www.well.com/~cwf/pro/Fraser%20and%20Proebsting.%20Finite-state%20code%20generation.pdf From the abstract: "A stack-based virtual machine-known as the Lean Virtual Machine (LVM)-tuned for fast code generation is also described. GBURG translates the two-page LVM-to-x86 specification into a code generator that fits entirely in an 8 KB I-cache and that emits x86 code at 3.6 MB/set on a 266-MHz P6. Our just-in-time code generator translates and executes small benchmarks at speeds within a factor of two of executables derived from the conventional compile-time code generator on which it is based." This might also be of interest (I haven't looked at it much yet, but it's also cited in the HBurg paper): Todd A. Proebsting , Benjamin R. Whaley: One-Pass, Optimal Tree Parsing - With Or Without Trees (1995) / Compiler Construction (CC'96), pages 294--308, Linkoping http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.53.8367 "This paper describes the theory behind and implementation of wburg, a code-generator generator that accepts tree grammars as input and produces a code generator that emits an optimal parse of an IR tree in just a single bottom-up pass. Furthermore, wburg eliminates the need for an explicit IR tree altogether."
Back to comp.lang.forth | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
EuroForth 2013 proceedings available anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2013-10-07 15:41 +0000
Re: EuroForth 2013 proceedings available mentifex@myuw.net - 2013-10-07 10:18 -0700
Re: EuroForth 2013 proceedings available Mark Wills <markrobertwills@yahoo.co.uk> - 2013-10-08 00:35 -0700
Re: EuroForth 2013 proceedings available Paul Rubin <no.email@nospam.invalid> - 2013-10-08 01:36 -0700
Re: EuroForth 2013 proceedings available anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2013-10-09 13:53 +0000
Re: EuroForth 2013 proceedings available Paul Rubin <no.email@nospam.invalid> - 2013-10-19 10:59 -0700
Re: EuroForth 2013 proceedings available anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2013-10-28 16:09 +0000
Re: EuroForth 2013 proceedings available Gerry Jackson <gerry@jackson9000.fsnet.co.uk> - 2013-10-13 20:24 +0100
Re: EuroForth 2013 proceedings available anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2013-10-15 15:32 +0000
Re: EuroForth 2013 proceedings available Gerry Jackson <gerry@jackson9000.fsnet.co.uk> - 2013-10-17 11:22 +0100
Re: EuroForth 2013 proceedings available Gerry Jackson <gerry@jackson9000.fsnet.co.uk> - 2013-10-26 20:55 +0100
csiph-web