Compiler Page



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 Pentium,

*          the Athlon

*          the Sony Playstation 3 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 for SVN access.


To download the latest binary version of Vector Pascal you should click on install.jar.

The release is as at SVN revision 159.

For a source version click on source release


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 ) 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


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



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.


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


Since the system is in Java one binary jar file will work with either Linux or Windows Latest binary release covering all systems is in

 An earlier version is:



Installation procedure for binary version

1.    Unpack the jar file into a directory preferably called mmpc. This is done using the command:

jar -xf install.jar

2.    Define an environment variable mmpcdir to point at this directory.

3.    Within the mmpc directory unpack the file viper.jar

4.    Make the files vpc and vp executable for linux, the corresponding windows files are vpc.bat and viper.bat.

5.    Put the mmpc directory on your path.

src.jar the most recent source package to be released

Installation of the source version

Create a directory for Vector Pascal and place the src.jar file in this directory. then unpack the archive using the command

jar -xf src.jar

Then type

make install.jar

to create the installation jar file. You then proceed as for the binary install procedure using the install.jar file you have created. Since the works of the compiler are all in Java and since the C code of the run-time library is portable, the same version of the source will work under both Windows and Linux.



Previous releases:

The old Linux only releases start with the name linstall in directory http;//

A release of the runtime library on its own is in rtl.jar

Windows only releases start with then name winstall





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

hit counter button




Compiler Page

Teaching exercises

View My Stats