Spar Language Specification - Containing a description of the Timber compiler version 1.5 (2001)
http://www.pds.twi.tudelft.nl/timber/spar/spar-lan
http://www.pds.twi.tudelft.nl/timber/spar/spar-lan
CACHED:
Abstract:
This document describes Spar/Java language, a superset of Java. The document also describes the capabilities and restrictions of version 1.5 of the Timber compiler, which implements Spar/Java language. Since Spar/Java is derived from Java, I have chosen not to repeat the Java language specification here, but to refer to the o#cial Java language specification [7] intensively. Any suggestions for improvement are welcome; you can email me at C.vanReeuwijk@its.tudelft.nl. There is a Spar website at www.pds.twi.tudelft.nl/timber/spar/overview.html, and a website of the Timber compiler at www.pds.its.tudelft.nl/timber There is also a public mailing list with announcements of Spar and the Timber compiler. To subscribe, send an email to spar-request@pds.its.tudelft.nl with the subject `subscribe'. To unsubscribe, send an email to spar-request@pds.its.tudelft.nl with the subject `unsubscribe'. 4 Chapter 1 Introduction Spar is a programming language for high-performance computing, including parallel programming. Since high-performance computing often means computations on arrays, there is special support for arrays, including a `toolkit' to build support for more specialized array types. As stated, Spar supports parallel programming. The first question to answer is: why not leave the whole problem of parallel programming to the compiler? After all, normal compilers do a good job of mapping high-level code to machine instructions, so why can't the compiler map to multiple streams of machine instructions? There are a number of reasons for that: 1. Algorithms often contain so many data dependencies that they do not lend themselves to automatic parallelization. Automatic and unattended transformation to an algorithm with less dependencies is far beyond the current state of ...

