des@jplpro.JPL.NASA.GOV (David Smyth) (09/10/87)
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] -- Send compilers articles to ima!compilers or, in a pinch, to Levine@YALE.ARPA Plausible paths are { ihnp4 | decvax | cbosgd | harvard | yale | cca}!ima Please send responses to the originator of the message -- I cannot forward mail accidentally sent back to compilers. Meta-mail to ima!compilers-request