Related articles |
---|
Using relational algebra in a general purpose programming language niels@po.ia.dk (justus) (1996-10-16) |
Re: Using relational algebra in a general purpose programming language assmann@ipd.info.uni-karlsruhe.de (1996-10-18) |
Re: Using relational algebra in a general purpose programming language macrakis@app3.osf.org (Stavros Macrakis) (1996-10-20) |
From: | assmann@ipd.info.uni-karlsruhe.de (Uwe Assmann) |
Newsgroups: | comp.compilers |
Date: | 18 Oct 1996 08:42:48 -0400 |
Organization: | Universitaet Karlsruhe |
References: | 96-10-067 |
Keywords: | theory, bibliography |
<niels@po.ia.dk> writes:
|> I have for long wondered if the relational algebra could be used as the
|> fundmental underlying paradigm in a general purpose programming language,
|> using Normal Forms as in relational databases.
Hi,
The tool Optimix uses Datalog (recursive relational algebra) and some
extensions from graph rewrite systems as specification language. The
tool generates C algorithms. As code generation technique relational
algebra techniques are used (nested-loop joins, indices etc.).
Restriction: all relations are assumed to be binary and are mapped
directly to graph representations.
Optimix is designed as an optimizer generator, i.e. was developed to
specify analysis and transformation algorithms in compilers. Of
course it can be used for other purposes as well.
Have a look at the home page of Optimix:
http://i44www.info.uni-karlsruhe.de/~assmann/optimix.html
http://i44www.info.uni-karlsruhe.de/~assmann
where you can find articles and a free version of the generator.
References
**********
@TechReport{ assmann.96c,
author = "A\ss mann, Uwe",
title = "{OPTIMIX Language Manual (for OPTIMIX 2.0)}",
year = 1996,
institution = "INRIA Rocquencourt",
number = "RT-0195",
abstract = "This is the language manual for OPTIMIX, the optimizer
generator. OPTIMIX can be used to generate program analyses
and transformations. Its input language is based on DATALOG
and graph rewriting. Especially two new classes of graph
rewrite systems are used: edge addition rewrite systems
(EARS) and exhaustive graph rewrite systems (XGRS). "
}
@InProceedings{ assmann.96a,
author = "A\ss mann, Uwe",
title = "{How To Uniformly Specify Program Analysis and
Transformation}",
publisher = Springer,
year = 1996,
booktitle = {Compiler Construction (CC)},
series = "Lecture Notes in Computer Science",
volume = 1060,
editor = {Fritzson, P. A.},
address = Heidelberg
}
@InProceedings{ assmann.95c,
author = "{A\ss mann, Uwe}",
title = "{On Edge Addition Rewrite Systems and Their Relevance to
Program Analysis}",
editor = "Cuny, Janice and Ehrig, Hartmut and Engels, Gregor and
Rozenberg, Grzegorz",
booktitle = "5th Int. Workshop on Graph Grammars and Their Application To
Computer Science, Williamsburg",
series = "Lecture Notes in Computer Science",
publisher = Springer,
address = Heidelberg,
pages="321--335",
year = "1994",
month = nov
}
Best regards
Uwe
--------------------------------------------------------------
Dr. Uwe Assmann * University of Karlsruhe, IPD
Vincenz-Priessnitz-Str. 3 * 76128 Karlsruhe, Germany
tel: +49/721/608-4763 * email: assmann@ipd.info.uni-karlsruhe.de
http://i44www.info.uni-karlsruhe.de/~assmann
--
Return to the
comp.compilers page.
Search the
comp.compilers archives again.