Re: How to store an AST

Mike Harrison <>
9 May 1999 16:02:20 -0400

          From comp.compilers

Related articles
How to store an AST (Salvador V. Cavadini) (1999-04-30)
Re: How to store an AST (Steve Mading) (1999-05-07)
Re: How to store an AST (Dave Hanson) (1999-05-07)
Re: How to store an AST (Mike Harrison) (1999-05-09)
Re: How to store an AST (Nils M Holm) (1999-05-16)
Re: How to store an AST (Willy Jacobs) (1999-05-16)
| List of all articles for this month |

From: Mike Harrison <>
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 <> 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.

Post a followup to this message

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