Related articles |
---|
How to store an AST salvador@ucseii.edu.ar (Salvador V. Cavadini) (1999-04-30) |
Re: How to store an AST madings@baladi.nmrfam.wisc.edu (Steve Mading) (1999-05-07) |
Re: How to store an AST drh@microsoft.com (Dave Hanson) (1999-05-07) |
Re: How to store an AST mph@zdenka.demon.co.uk (Mike Harrison) (1999-05-09) |
Re: How to store an AST nmh@dialup.nacamar.de (Nils M Holm) (1999-05-16) |
Re: How to store an AST WN.Jacobs@net.HCC.nl (Willy Jacobs) (1999-05-16) |
From: | Mike Harrison <mph@zdenka.demon.co.uk> |
Newsgroups: | comp.compilers |
Date: | 9 May 1999 16:02:20 -0400 |
Organization: | Compilers Central |
References: | 99-04-120 99-05-031 |
Keywords: | parse, design |
Salvador V. Cavadini <salvador@ucseii.edu.ar> wrote
>> I'm programming a front-end for a tool and I need to store in disk the
>> AST produced by the parser. The rest of the tool will randomly access
>> the AST's nodes. I would be greatful if someone can recommend an
>> efficient way for store the AST.
Another reference worth looking at, is:
Snodgrass, Richard.
The interface description language: Definition and use.
Published 1989, by Computer Science Press.
ISBN 0-7167-8198-0.
This concerns a language called IDL (which is quite distinct from
another IDL which is connected in some way with Corba). This IDL
stands in the same relation to families of directed graphs as BNF does
to families of Strings; ie. it is a graph meta-language.
One of IDL's main claims to fame is that it was used to define DIANA,
the quasi-official intermediate representation for Ada(83).
I have used it to define ASTs and Intermediate Languages, together
with a toolset (originally produce at UNC) though as Rick Snodgrass
moved to Arizona in '88/89 I suspect it may be obtainable from there.
I have not recently been working in this field and my information may
be rather out of date.
The UNC implementation is not the only one, there was at least one
other, done at (or at least by people from) CMU, but I don't have
details of that.
Mike H.
Return to the
comp.compilers page.
Search the
comp.compilers archives again.