Related articles |
---|
extensible compilers mtrofimov@glas.apc.org (1998-03-18) |
Re: extensible compilers ichisugi@etl.go.jp (ICHISUGI Yuuji) (1998-03-20) |
Re: extensible compilers pardo@cs.washington.edu (1998-03-20) |
Re: extensible compilers bruce@cenderis.demon.co.uk (Bruce Stephens) (1998-03-22) |
extensible compilers mtrofimov@glas.apc.org (1998-03-22) |
Re: extensible compilers ndc@alum.mit.edu (N. D. Culver) (1998-03-24) |
RE: extensible compilers vic@paragraph.com (Zhukov, Victor) (1998-03-30) |
Re: extensible compilers ndc@alum.mit.edu (N. D. Culver) (1998-04-03) |
From: | mtrofimov@glas.apc.org (Michael Trofimov) |
Newsgroups: | comp.compilers |
Date: | 22 Mar 1998 20:25:41 -0500 |
Organization: | Compilers Central |
Keywords: | design, optimize, comment |
Many thanks for your answers.
Our moderator wrote:
> wow, what a debugging nightmare that must be.
I agree, it would be debugging nightmare in the case of classical
recursive parser (i.e. where _COMPLEX_ _RECURSIVE_ _CALLS_ are
necessary for syntax analyzing). So, I selected another approach:
my Universal Compiler Shell (UCS) uses syntax diagrams as is.
There are Syntax Diagrams Editor in UCS, a user is able to
draw/redraw syntax diagram by hand via the Editor. The Editor
represents the diagrams in Internal Syntax data Format (ISF),
which is a graph, each vertex of the graph is record, each edge is
pointer to other record or nil. Another module is Source Init Code
Gener, it generates Pascal source code of UCS Initialization
Procedure (IP) for given ISF. User is able to draw diagrams via
Editor, to generate IP via Gener, insert the IP code to source of
UCS and recompile it via another compiler. These are Development
Modules of UCS.
Also, there are Compiler Modules in UCS: Lexical analyzer, Syntax
analyzer, and Assembler code gener (or, perhaps, Object code
gener).
The noted IP module may be combined with Development Modules to
redraw and regenerate syntax diagrams, as well as IP maybe combined
with Compiler Modules. Syntax analyzer walks through ISF graph,
where "recursive loops" may be represented, but they do not use
recursive calls!
By this time I wrote development version of UCS and made Pascal
compiler from it, the next step may be C compiler...
What do you think about?
Again thank you,
________________________________________________________________
Michael I. Trofimov
Russian Academy of Sci. Moscow, Russia
email: mtrofimov@glas.apc.org
http://www.glasnet.ru/~mtrofimov/
[The debugging nightmare I was worried about was the one where you
can add your own optimizing routines to the compiler, so bugs in
those routines can cause broken code anywhere in the resulting
program. -John]
--
Return to the
comp.compilers page.
Search the
comp.compilers archives again.