Work at SourceForge, help us to make it a better place! We have an immediate need for a Support Technician in our San Francisco or Denver office.

Close

Tree [r567] /
History



File Date Author Commit
JLex 2008-06-24 paulcockshott [r30]
MA 2010-02-16 paulcockshott [r184]
VPTeX 2008-06-09 laurencehole [r5]
VPunits 2009-08-20 paulcockshott [r145] rious chanbes mainly to do with papers
ca 2008-06-09 laurencehole [r5]
com 2008-06-06 laurencehole [r1] Initial copy from Ouen (Glasgow University)
conf 2009-05-13 ygdura [r105]
cpus 2014-06-30 paulcockshott [r566] fixes associated with trying to get C code gene...
dav 2009-05-13 ygdura [r105]
db 2009-05-13 ygdura [r105]
fast 2012-09-21 paulcockshott [r414]
hooks 2009-05-13 ygdura [r105]
ilcg 2014-06-30 paulcockshott [r567]
ilcg2 2012-09-21 paulcockshott [r414]
ilcgasm 2009-09-22 paulcockshott [r169] The changes here are to get Ilcgasm closer to w...
java_cup 2009-06-25 tajaddinov [r125] Removed binaries
locks 2009-05-13 ygdura [r105]
matlab 2010-08-19 paulcockshott [r217]
org 2011-07-04 paulcockshott [r322]
papers 2012-05-03 paulcockshott [r352]
psrc 2008-06-10 paulcockshott [r8]
reports 2008-06-06 laurencehole [r1] Initial copy from Ouen (Glasgow University)
rtl 2014-06-30 paulcockshott [r566] fixes associated with trying to get C code gene...
tests 2014-06-30 paulcockshott [r567]
tinyb 2011-07-07 paulcockshott [r323] commit the demonstration tiny basic compiler us...
viper 2008-06-09 laurencehole [r5]
win 2008-06-06 laurencehole [r1] Initial copy from Ouen (Glasgow University)
.nautilus-metafile.xml 2008-06-06 laurencehole [r1] Initial copy from Ouen (Glasgow University)
3DNOW.PIC 2008-06-06 laurencehole [r1] Initial copy from Ouen (Glasgow University)
AMD64macros.s 2008-09-17 paulcockshott [r72] Have fixed all known bugs relating to the accep...
AVX32CGtaskexecute.s 2013-04-24 paulcockshott [r466] AVX64 now works for at least one large application
AVX64CGtaskexecute.s 2013-04-24 paulcockshott [r466] AVX64 now works for at least one large application
AVX64taskexecute.s 2013-04-24 paulcockshott [r466] AVX64 now works for at least one large application
CBFM.awk 2010-12-22 ygdura [r272]
Chinese01.eps 2008-06-06 laurencehole [r1] Initial copy from Ouen (Glasgow University)
Chinese02.eps 2008-06-06 laurencehole [r1] Initial copy from Ouen (Glasgow University)
Copy of makefile 2008-06-06 laurencehole [r1] Initial copy from Ouen (Glasgow University)
Konv 2008-06-06 laurencehole [r1] Initial copy from Ouen (Glasgow University)
MICmacros.s 2013-07-04 paulcockshott [r484] debug fixes for the MIC to pass more tests
MICmacros.s~ 2013-06-25 paulcockshott [r479] first working version for MIC
MMXFMT.PIC 2008-06-06 laurencehole [r1] Initial copy from Ouen (Glasgow University)
OVERVIEW.PIC 2008-06-06 laurencehole [r1] Initial copy from Ouen (Glasgow University)
OpteronCGtaskexecute.s 2009-04-24 paulcockshott [r97]
Opterontaskexecute.s 2009-04-20 paulcockshott [r88]
PPCmacros.s 2010-11-18 ygdura [r245]
PPEcode.cpp 2010-11-18 ygdura [r245]
Param.h 2010-11-18 ygdura [r245]
README.txt 2009-05-13 ygdura [r105]
Regs.pic 2008-06-06 laurencehole [r1] Initial copy from Ouen (Glasgow University)
SMICCGtaskexecute.s 2013-08-30 paulcockshott [r498]
SPEcode.cpp 2010-11-18 ygdura [r245]
SystemReset.java 2008-06-06 laurencehole [r1] Initial copy from Ouen (Glasgow University)
Testparam.m4 2008-06-06 laurencehole [r1] Initial copy from Ouen (Glasgow University)
Testparams.m4 2008-06-06 laurencehole [r1] Initial copy from Ouen (Glasgow University)
VPUnicode.doc 2008-06-06 laurencehole [r1] Initial copy from Ouen (Glasgow University)
XMM.PIC 2008-06-06 laurencehole [r1] Initial copy from Ouen (Glasgow University)
YYlex 2008-06-06 laurencehole [r1] Initial copy from Ouen (Glasgow University)
accel.lyx.emergency 2008-06-06 laurencehole [r1] Initial copy from Ouen (Glasgow University)
accel.tex 2008-06-06 laurencehole [r1] Initial copy from Ouen (Glasgow University)
allclasses-frame.html 2012-05-21 paulcockshott [r365]
allviperoptions.eps 2008-06-06 laurencehole [r1] Initial copy from Ouen (Glasgow University)
apl2002.pdf 2008-06-06 laurencehole [r1] Initial copy from Ouen (Glasgow University)
apl2002.tex 2008-06-06 laurencehole [r1] Initial copy from Ouen (Glasgow University)
arrayabs.tex 2008-06-06 laurencehole [r1] Initial copy from Ouen (Glasgow University)
arrays.tex 2008-06-06 laurencehole [r1] Initial copy from Ouen (Glasgow University)
bench.pas 2012-09-04 paulcockshott [r408]
bmp 2008-06-06 laurencehole [r1] Initial copy from Ouen (Glasgow University)
bmul 2008-06-06 laurencehole [r1] Initial copy from Ouen (Glasgow University)
boo 2008-06-06 laurencehole [r1] Initial copy from Ouen (Glasgow University)
build.bat 2008-06-06 laurencehole [r1] Initial copy from Ouen (Glasgow University)
charsets.png 2011-06-24 paulcockshott [r311]
complex.tex 2008-06-06 laurencehole [r1] Initial copy from Ouen (Glasgow University)
dependencies.eps 2008-06-06 laurencehole [r1] Initial copy from Ouen (Glasgow University)
deprecated-list.html 2012-05-21 paulcockshott [r365]
dhry 2008-06-06 laurencehole [r1] Initial copy from Ouen (Glasgow University)
dynamicoptions.eps 2008-06-06 laurencehole [r1] Initial copy from Ouen (Glasgow University)
echoit 2008-06-06 laurencehole [r1] Initial copy from Ouen (Glasgow University)
elfcoff.eps 2008-06-06 laurencehole [r1] Initial copy from Ouen (Glasgow University)
emlines.sty 2008-06-06 laurencehole [r1] Initial copy from Ouen (Glasgow University)
fast.sab 2012-09-21 paulcockshott [r414]
fblurtime2.pas 2010-11-18 ygdura [r245]
firstinvocationoftotal.eps 2008-06-06 laurencehole [r1] Initial copy from Ouen (Glasgow University)
firstinvocationoftotal.pdf 2011-06-23 paulcockshott [r307] update the manual
firstinvocationoftotal.png 2011-06-24 paulcockshott [r309]
foo 2008-06-06 laurencehole [r1] Initial copy from Ouen (Glasgow University)
format 2009-05-13 ygdura [r105]
fullframe.eps 2008-06-06 laurencehole [r1] Initial copy from Ouen (Glasgow University)
fullframe.pdf 2011-06-23 paulcockshott [r307] update the manual
fullframe.png 2011-06-24 paulcockshott [r309]
gatedcall.eps 2008-06-06 laurencehole [r1] Initial copy from Ouen (Glasgow University)
gnuP4CGtaskexecute.s 2009-07-16 tajaddinov [r136] gnuP4CGtaskexecute.s is a copy of gnuPentiumCGt...
gnuPentiumCGtaskexecute.s 2009-07-08 tajaddinov [r133] Fixed a syntax error in gnuPentiumCGtaskexecute...
gpupc.bat 2012-09-04 paulcockshott [r409]
graphics.pas 2008-06-06 laurencehole [r1] Initial copy from Ouen (Glasgow University)
heaptest.pas 2008-06-06 laurencehole [r1] Initial copy from Ouen (Glasgow University)
ilcg.tex 2008-06-06 laurencehole [r1] Initial copy from Ouen (Glasgow University)
ilcg2.sab 2011-06-23 paulcockshott [r307] update the manual
ilcgasm.tex 2009-09-22 paulcockshott [r169] The changes here are to get Ilcgasm closer to w...
ilcggram.tex 2014-05-15 paulcockshott [r551] add ability to parallise for loops
ilcggram_infix 2008-06-06 laurencehole [r1] Initial copy from Ouen (Glasgow University)
included.pas 2008-06-06 laurencehole [r1] Initial copy from Ouen (Glasgow University)
includer 2008-06-06 laurencehole [r1] Initial copy from Ouen (Glasgow University)
intro.tex 2008-06-06 laurencehole [r1] Initial copy from Ouen (Glasgow University)
iotest.pas 2008-06-06 laurencehole [r1] Initial copy from Ouen (Glasgow University)
lawn147.ps 2008-06-06 laurencehole [r1] Initial copy from Ouen (Glasgow University)
list 2008-06-06 laurencehole [r1] Initial copy from Ouen (Glasgow University)
macros.asm 2013-04-19 paulcockshott [r464]
macros.h 2014-06-30 paulcockshott [r566] fixes associated with trying to get C code gene...
macros.s 2009-03-25 paulcockshott [r84] adding description for the atom processor
makefile 2014-06-24 paulcockshott [r564] this is mainly formatting changes plus fixing ...
makefile.ins 2008-06-17 paulcockshott [r23]
makewoviper 2008-06-06 laurencehole [r1] Initial copy from Ouen (Glasgow University)
man.tex 2008-06-24 paulcockshott [r32] this was deleted by mistake earlier:
manual.html 2008-06-06 laurencehole [r1] Initial copy from Ouen (Glasgow University)
manual.tex 2014-06-06 paulcockshott [r558]
math.pas 2008-06-06 laurencehole [r1] Initial copy from Ouen (Glasgow University)
math.pasgcj 2008-06-06 laurencehole [r1] Initial copy from Ouen (Glasgow University)
mingvpc 2008-06-06 laurencehole [r1] Initial copy from Ouen (Glasgow University)
mmpc.bat 2008-06-06 laurencehole [r1] Initial copy from Ouen (Glasgow University)
mmpc.mf 2008-06-06 laurencehole [r1] Initial copy from Ouen (Glasgow University)
mmpcmmpc.bat 2008-06-06 laurencehole [r1] Initial copy from Ouen (Glasgow University)
mmpcsystem.asm 2008-06-06 laurencehole [r1] Initial copy from Ouen (Glasgow University)
mmxcomp.ps 2008-06-06 laurencehole [r1] Initial copy from Ouen (Glasgow University)
mmxcomp.tex 2008-06-06 laurencehole [r1] Initial copy from Ouen (Glasgow University)
msvpc.bat 2008-06-06 laurencehole [r1] Initial copy from Ouen (Glasgow University)
n-body.cpp 2010-12-10 ygdura [r255]
nVPV4.pas 2010-12-10 ygdura [r256]
nVPV42.pas 2010-12-21 ygdura [r269]
nbody.cpp 2010-12-10 ygdura [r256]
ncurses.pas 2008-06-06 laurencehole [r1] Initial copy from Ouen (Glasgow University)
nest.pas 2010-11-18 ygdura [r245]
nestparstack1.pdf 2011-06-24 paulcockshott [r308] added pdf files for manual
nestparstack1.png 2011-06-27 paulcockshott [r312]
nestparstack3.pdf 2011-06-24 paulcockshott [r308] added pdf files for manual
nestparstack3.png 2011-06-27 paulcockshott [r312]
projprop.eps 2008-06-06 laurencehole [r1] Initial copy from Ouen (Glasgow University)
readme 2013-09-08 paulcockshott [r505] Add peephole optimizer for the mic
rightclick.eps 2008-06-06 laurencehole [r1] Initial copy from Ouen (Glasgow University)
runops.eps 2008-06-06 laurencehole [r1] Initial copy from Ouen (Glasgow University)
sablecc.bat 2008-06-06 laurencehole [r1] Initial copy from Ouen (Glasgow University)
sablecc.jar 2008-06-06 laurencehole [r1] Initial copy from Ouen (Glasgow University)
sableutil.jar 2008-06-06 laurencehole [r1] Initial copy from Ouen (Glasgow University)
secondinvocationoftotal.eps 2008-06-06 laurencehole [r1] Initial copy from Ouen (Glasgow University)
secondinvocationoftotal.pdf 2011-06-23 paulcockshott [r307] update the manual
secondinvocationoftotal.png 2011-06-24 paulcockshott [r309]
sets.tex 2008-06-06 laurencehole [r1] Initial copy from Ouen (Glasgow University)
stackwithdisplay.eps 2008-06-06 laurencehole [r1] Initial copy from Ouen (Glasgow University)
stackwithdisplay.pdf 2011-06-23 paulcockshott [r307] update the manual
stackwithdisplay.png 2011-06-24 paulcockshott [r309]
staclonentrytoi.eps 2008-06-06 laurencehole [r1] Initial copy from Ouen (Glasgow University)
structpluastack.pdf 2011-06-23 paulcockshott [r307] update the manual
structplusstack.eps 2008-06-06 laurencehole [r1] Initial copy from Ouen (Glasgow University)
structplusstack.pdf 2011-06-23 paulcockshott [r307] update the manual
structplusstack.png 2011-06-24 paulcockshott [r309]
structplustack.pdf 2011-06-23 paulcockshott [r307] update the manual
stylesheet.css 2010-05-27 paulcockshott [r203]
sumsq.eps 2013-05-01 paulcockshott [r467] version ready for release with alias implemente...
sumsq.fig 2013-05-01 paulcockshott [r467] version ready for release with alias implemente...
sumsq.png 2013-05-28 paulcockshott [r472]
system.eps 2008-06-06 laurencehole [r1] Initial copy from Ouen (Glasgow University)
system.pas 2014-06-30 paulcockshott [r566] fixes associated with trying to get C code gene...
system.pdf 2011-06-23 paulcockshott [r307] update the manual
test.bat 2008-06-06 laurencehole [r1] Initial copy from Ouen (Glasgow University)
threadlib.pas 2014-06-10 paulcockshott [r559]
tinyb.sab 2012-05-03 paulcockshott [r352]
toolset.eps 2008-06-06 laurencehole [r1] Initial copy from Ouen (Glasgow University)
toolset.pdf 2011-06-23 paulcockshott [r307] update the manual
trig.pas 2008-06-06 laurencehole [r1] Initial copy from Ouen (Glasgow University)
twostacks.eps 2008-06-06 laurencehole [r1] Initial copy from Ouen (Glasgow University)
vcc 2008-06-06 laurencehole [r1] Initial copy from Ouen (Glasgow University)
vecadd 2008-06-06 laurencehole [r1] Initial copy from Ouen (Glasgow University)
vectest.tex 2008-06-06 laurencehole [r1] Initial copy from Ouen (Glasgow University)
vectorstyle.zip 2008-06-06 laurencehole [r1] Initial copy from Ouen (Glasgow University)
viper.bat 2008-06-06 laurencehole [r1] Initial copy from Ouen (Glasgow University)
viper.mf 2008-06-06 laurencehole [r1] Initial copy from Ouen (Glasgow University)
viper.tex 2008-06-06 laurencehole [r1] Initial copy from Ouen (Glasgow University)
vipset.bat 2008-06-06 laurencehole [r1] Initial copy from Ouen (Glasgow University)
vp 2010-11-18 ygdura [r245]
vp-abs.doc 2008-06-06 laurencehole [r1] Initial copy from Ouen (Glasgow University)
vp-abs.html 2008-06-06 laurencehole [r1] Initial copy from Ouen (Glasgow University)
vp-abs.pdf 2008-06-06 laurencehole [r1] Initial copy from Ouen (Glasgow University)
vp-abs.tex 2008-06-06 laurencehole [r1] Initial copy from Ouen (Glasgow University)
vp-msp3.lyx 2008-06-06 laurencehole [r1] Initial copy from Ouen (Glasgow University)
vp-msp3.pdf 2008-06-06 laurencehole [r1] Initial copy from Ouen (Glasgow University)
vp-msp3.tex 2008-06-06 laurencehole [r1] Initial copy from Ouen (Glasgow University)
vp-ver2.html 2008-06-06 laurencehole [r1] Initial copy from Ouen (Glasgow University)
vp-ver2.lyx 2008-06-06 laurencehole [r1] Initial copy from Ouen (Glasgow University)
vp-ver2.pdf 2008-06-06 laurencehole [r1] Initial copy from Ouen (Glasgow University)
vp-ver2.ps 2008-06-06 laurencehole [r1] Initial copy from Ouen (Glasgow University)
vp-ver2.tex 2008-06-06 laurencehole [r1] Initial copy from Ouen (Glasgow University)
vp.bat 2008-06-06 laurencehole [r1] Initial copy from Ouen (Glasgow University)
vpc 2014-06-06 paulcockshott [r558]
vpc-cygwin 2008-06-19 laurencehole [r26] Added vpc-cygwin's graceful handling of no $mmp...
vpc-cygwin.bat 2008-06-06 laurencehole [r1] Initial copy from Ouen (Glasgow University)
vpc.bat 2012-05-03 paulcockshott [r355]
vpcee 2008-06-06 laurencehole [r1] Initial copy from Ouen (Glasgow University)
vpp.bat 2008-06-06 laurencehole [r1] Initial copy from Ouen (Glasgow University)
vptask.bat 2008-06-06 laurencehole [r1] Initial copy from Ouen (Glasgow University)
vptexoptions.eps 2008-06-06 laurencehole [r1] Initial copy from Ouen (Glasgow University)
yylex.lex 2008-06-06 laurencehole [r1] Initial copy from Ouen (Glasgow University)

Read Me

Latest features
Sept 5 2013 Beta version of code generator for the Intel MIC now included see notes below.
Preliminary support for classes is provided, as described in latest version of manual.
Listing files now produced showing which lines have been auto parallelised
AVX instructionset now supported including support for 64 bit address space versions
with code generator flag AVX64
Manual provides more detail on how to use multi core parallelism
Aliasing operations now supported for array sections via built
in alias procedure


Installation details

Unpack  a recent version of either the install.jar file or the install.zip file.

You can do this by using the
jar -xf install.jar
command, or by usings a windows unzip package.

This will create a directory mmpc containing the files needed by the compiler.

Dependencies
------------
Java, Nasm, Gcc, M4 macro processor if you are doing source development work.


You can install either from source or from the download files install.win32.zip or
install.linux.tar.gz

If installing from source, you should run the command
make install
to create the installation archives.


On Linux
--------
If you are just running the compiler to compile Pascal source you
need : (Sun's) Java, Nasm and Gcc.

GCC is used to build and link runtime libraries to the assembler
produced by Vector Pascal. On Linux the standard GCC compiler will work.

Extract the mmpc directory from install.tar.gz with the command:
tar -zxvf install.linux.tar.gz

You will now need to build a compatible RTL by doing the following:
Go into the directory mmpc and type
make rtl
and then type
make rtl.o

Optionally, place the directory mmpc on your path with the following command:
export PATH=$PATH:/path/to/mmpc
Note that this will have to be set to run every time your computer starts.

If you have altered the locations of the installed files from the default, you
will need to define the symbol mmpcdir to point at the directory containing
mmpc.jar by running the following command:
export mmpcdir=/path/to/mmpc


On Windows
----------
When working on Windows some incompatibilities exist between different releases
of GCC and of assemblers. The NASM assembler under Windows will only work
reliably with the djgpp release of GCC and not with Cygwin. Given Cygwin's easy
installation, when working with Windows, the prefered method is to use the
Cygwin compiler, not the DJGPP compiler. If using the cygwin compiler
specify that you are using the gnu versions of the code generator
as this is required to produce gnu compatible assembler code.
Examples of using the gnu versions of the compiler would be to specify
-cpugnuP4 or -cpugnuPentium

To install, first obtain a copy of Cygwin from http://cygwin.com/setup.exe
or http://www.cygwin.com/

When installing Cygwin, add the "make" package to the default programs to
install.

Once Cygwin is installed, extract the VPC archive using the following:
unzip install.win32.zip

You will now need to build a compatible RTL by doing the following:
Go into the directory mmpc and type
make rtl
Then type
make rtl.o

The environment variable "mmpcdir" will have to be set. This can be done by
right clicking on "My Computer" and selecting "Properties". Select the
"Advanced" tab and clicking on the "Environment Variables" button. mmpcdir
should then be set to the path to the files you extracted earlier.

Additionally, you may choose to add the same directory to your path.

To execute, you can use either Cygwin's shell or a standard Dos prompt.

=================================================================
If you want to use the pretty printer facility built into the compiler, then
you will need Latex.

If you want to use the garbage collector go into the directory
for the garbage collector mmpc/rtl/gc and follow the instructions
to build the Boehm garbage collection library gc.a

then go into mmpc and type

make rtlb.o

For the Intel MIC (Xeon Phi)
The compiler works as a cross compiler on the host machine. The compiler
flag you must use is -cpuMIC to generate code for it. 
You need to have the intel MPSS package installed and you need
to set up a pair of symbolic links on your path to the mic assembler and
and mic gcc compilers. The Pascal compiler expects a mic version of
the gnu assembler to be on its path with the name mic-as and a mic version
of the gcc compiler with the name mic-gcc.

At present it supports multi-core operations and basic SIMD operations
on single precision floats. Double precision maths is still scalar.