This is the current development version of the p5c and p5x pascal compilers
This directory contains the sources, build scripts and test code for p5c
The p5x compiler is in the directory p5x
building and testing is quite automated, and assumes a gnu environment.
For windows users, cygwin (preferred) or mingw with msys should provide this.
to build and test p5c from scratch:
-----------------------------------
type ./gen from the command line
p5c pascal is itself written in pascal so you need a working iso standard
pascal compiler to start.
If you don't have gnu pascal, gen will create a pascal compiler from the
current pre-compiled version of p5c.
Once it has built p5c, it will run a long series of acceptance tests and
rejection tests.
contents of this directory
------------------------
gen script to build and test p5c
pcom.pas the p5c compiler
p5c-good.c tested version of p5c, used to build pcom.pas if gnu pascal
is not found.
tp5c.pas main p5c test program
tp5c.out reference output of tp5c
tfile.pas test p5c external file bindings
guide.txt user guide
p5c.h header file for all p5c compiled programs
r script to compile and run a pascal program in gnu environment
pc script to compile a pascal program in gnu environment
clib.inc.pas include this file to use many standard c functions
see info inside this file
tclib.pas test/demo program for clib.inc.pas
pan a pascal static analyser
checks pascal source code for a variety of programming errors,
eg variable unused, not initialised, etc
tpan.pas test program for pan
tpan.rpt sample report of errors found in tpan.pas.
ppr prints a colourised pascal program with bold formatting for
identifiers, comments in italics, etc for easier reading.
p5c.ssh ppr control file for pascal p5c
tcov.sh example file to run test coverage analysis
rv run your pascal program under valgrind (linux only)
so you can identify hard-to-find bugs
examples/ benchmark programs, example code, demos
*-tests/ directories containing test code.
std-tests/ tests for standard pascal
rej-tests/ rejection tests
p5x/ the p5x pascal compiler