Re: Language Processor Generators

pardo@cs.washington.edu (David Keppel)
Wed, 19 Feb 92 01:37:14 GMT

          From comp.compilers

Related articles
Language Processor Generators ckminer@lance.colostate.edu (1992-02-18)
Re: Language Processor Generators pardo@cs.washington.edu (1992-02-19)
Re: Language Processor Generators joshua@veritas.com (1992-02-20)
| List of all articles for this month |

Newsgroups: comp.compilers
From: pardo@cs.washington.edu (David Keppel)
Keywords: tools, bibliography
Organization: Computer Science & Engineering, U. of Washington, Seattle
References: 92-02-086
Date: Wed, 19 Feb 92 01:37:14 GMT

ckminer@lance.colostate.edu (Chris Miner) writes:
>[Generating ``little languages'' from a specification?]


John Levine (the moderator) writes:
>[How do you write a sufficiently complete description so a computer
> can understand it?]


See e.g.,


%A Charles Consel
%A Olivier Danvy
%T Static and Dynamic Semantics Processing
%J 18th Annual ACM Symposium on Principles of Programming Languages
(POPL 18)
%X Derive mini-Algol -> Scheme compiler from formal semantics. For
trivial programs, generates code about half the speed of Pascal/C.
    (S1.1) [C]ompiling a program amounts to dividing the representation
of its formal meaning into compile time and run time forms, and to
reducing the former while emitting a repreobject code.
    (S3.2) Every program is static (available at compile time) and the
store is dynamic (not available until runtime). Each valuation
function is static in its program argument. (The basis of compiling
via PE).
    Addresses: compiling a program, creating an interpreted compiler,
creating a compiled compiler.
    "Object code" is not necessarily code, can be code + data (e.g.,
constants). Their object code is Scheme.


It seems to me that mini-languages are particularly useful because they
give you a concise syntax for representing something. The little language
lets you say it more concisely or more clearly. It doesn't let you build
a better Turing Machine. Thus, little language compiler design consists
of mapping the higher-level constructs to lower-level constructs.


;-D on ( Gener rated ) Pardo
--


Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.