Compiler Page

Prev


Next

Vector Pascal: a free Pascal Compiler


Vector Pascal is a language targeted at SIMD instruction-sets such as the MMX and the AMD 3d Now
It currently supports
* the 486,
* the AMD Opteron 64 bit processor,  the Opteron compiler supports multi-core parallelism
* the Pentium,
* the Athlon
* the Sony Playstation 2 Emotion Engine see report here
* the Intel P3 and P4 processors.
It has a SIMD compiler which supports parallel vector operations, loop unrolling, common sub expression removal etc. It is implemented in Java, and is available for download in source or binary.
It is an open source project. Any volunteers to work further on the project contact wpc@dcs.gla.ac.uk for SVN access.

Downloads


To download the latest binary or source version of Vector Pascal you should go to the sourceforge page for this project .

But if you just want the version for the International Summer School on Advances in Programming Languages it is HERE! .

Overview


Vector Pascal is an extended Pascal incorporating:
- Unicode support
- Vector Pascal extensions aimed at vector processing. These are derived from APL and similar to the extensions provided in Fortran90. These extensions translate to the SIMD instructions of the Athlon and P4 etc.
- New operator extensions to support SIMD programming
- Type system extensions to support scientific and image processing
- Many of the features of ISO extended Pascal (see http://www.dcs.gla.ac.uk/~wpc/reports/compilers/compilerindex/iso10206.ps ) in particular
- Turbo Pascal features: Units, Strings, Turbo Pascal style file operations

A comparison with other languages and implementation details are given in Vector Pascal an Array Language .

Reference manual


Man page
.pdf version of full manual

The code generator technology used to retarget the compiler to different platforms is documented in: Direct compilation of high level languages to multi media instructionsets . Covers use of MMX, 3DNOW and SIMD instructions to obtain parallelism. Also available as HTML

Book


SIMD Programming Manual for Linux
The book is a programming manual for SIMD processors with special emphasis on the use of Vector Pascal

Related Work


Similar vectorisation transformations for a C compiler have been done by Aart Bi k whose web page contains useful articles on vectorisation.

Development Environment


Vector Pascal now comes with the VIPER IDE , which supports:
Syntax highlighting
Project management
Compiling and linking
Automatic translation of Pascal to Tex using VPTEX

VPTeX


Both the command line and the IDE compilers contain the facility to translate Pascal to Latex to provide a literate programming environment. Comments can contain Latex which is passed to the latex output, pascal code is translated using a literate programming style.

Dependencies


Java, gcc – for windows this should be the djgpp release, Nasm assembler and for the literate programming tool you need Latex
---

---


Keywords: Pascal, free Compiler, MMX, Vector, SSE, 3Dnow!,APL, SIMD compiler, Matrix
hit counter button

Prev

Home

Next

Compiler Page

wpc@dcs.gla.ac.uk

Teaching exercises


View My Stats