pascal p5c Code
fast, portable Pascal compiler using gnu c as intermediate code
Brought to you by:
trevorbl
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 cstr.inc.pas include this file to use standard c str functions see info inside this file tclib.pas test/demo program for clib.inc.pas & cstr.inc.pas assert.inc.pas add assertions to check your code, like in c 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 iso7185-tests acceptance tests from p5 project rej-tests/ rejection tests m-tests/ try to break the compiler by feeding it mutated source code p5x/ the p5x pascal compiler