18 Oct 1996 08:42:48 -0400

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

--

Post a followup to this message

Return to the
comp.compilers page.

Search the
comp.compilers archives again.