CrossPascal aims to be a Delphi 7 compatible cross-platform source-to-source compiler which generates intermediate C code.
  • Pascal 92.9%
  • C++ 4%
  • Gnuplot 2.1%
  • C 0.5%
  • OpenEdge ABL 0.5%
Find a file
2026-05-01 15:22:59 +00:00
doc/grammar Initial commit 2013-03-20 18:02:58 +00:00
src Ignore it :) Just a dummy commit 2013-08-15 09:27:49 +00:00
README.md Updated README.md 2026-05-01 15:22:59 +00:00

Important

The primary repository has moved to git.rosseaux.net/BeRo1985/crosspascal. This GitHub repository is kept up-to-date via push mirroring.

CrossPascal

Abstract

CrossPascal aims to be a Delphi 7 compatible cross-platform source-to-source compiler (together with the new unicode string types from XE3 but where ansistring is still the default string type for to be still Delphi 7 compatible) which generates intermediate C code. Since C compilers are available on nearly every platform, this introduces a large variety of targets (native 32 bit targets for as minimum) for crosspascal to work with.

CrossPascal is not a simple converter. It features a full parser building an abstract syntax tree, from which C code is generated. All unique language features compared to C (such as nested functions, Delphi RTTI, and much more) are translated accordingly and reimplemented in C code.

Current Status

Last update: Juny 11th, 2013

Here is a little overview of the current status, our main focus is the actual code generation right now. The parser itself was originally written by Benjamin Rosseaux in 2005-2006 and was used as a starting point for this project.

Task Done
Parser 95%
General Code Generation 65%
Nested Functions 100%
Unit Handling 100%
Strings 80%
Objects (Turbo Pascal oldstyle) 100%
Classes 90%
Interfaces 10%
Variants 0%
Dynamic arrays 75%
RTTI 95%
Exception Handling 80%
Codepage Handling 0%
RTL 0%