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


Groups > comp.lang.forth > #26649

Re: EuroForth 2013 proceedings available

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>

Show all headers | View raw


>>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 | NextPrevious in thread | Next in thread | Find similar | Unroll thread


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