RDBMS for Intermediate Form

des@jplpro.JPL.NASA.GOV (David Smyth)

          From comp.compilers

Related articles
RDBMS for Intermediate Form des@jplpro.JPL.NASA.GOV (1987-09-15)
| List of all articles for this month |

Summary: Anybody done this?
From: des@jplpro.JPL.NASA.GOV (David Smyth)
Organization: Jet Propulsion Laboratory, Pasadena CA.

Has anybody used a database system, especially a relational database system
for storing the intermediate form after syntactic or semantic analysis?


Why, you ask? Because I am proposing an incremental compiler for a special
4GL.


We will be working with huge, complex programs developed by people all over
the world. There will be a very large number of resource dependencies between
what these dispersed groups need to do, and we don't want to recompute all
that junk everytime someone makes a minor change.


Using small, independantly compiled modules (a la C) is not a good solution
for our application. The parsing and local semantics to language statements
are very simple. It is the global implications which are the hard, VERY HARD,
part of our problem.


I know we could represent some of the stuff (parse tree, even some forms of
semantics) using a tree. However, the "global implications" are complex, and
will probably be specified using another 4GL, so, in a sense, the semantics of
our language will change over time. We cannot assume in the beginning to
understand all of the ways the semantics will be specified. That is why I
think we need a RDBMS to keep all the internal representaions straight.


Is anybody else doing this? Does anyone have pointers to documents?


Thanks in advance,


David Smyth
[If your intermediate form were quadruples, you could clearly store them
in a relational DBMS, though I'm not sure how well the manipulations you
do on intermediate code would be implemented by SQL or the equivalent.
But it seems like a reasonable thing to do. -John]
--


Post a followup to this message

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