Skip to content
CrossPascal aims to be a Delphi 7 compatible cross-platform source-to-source compiler which generates intermediate C code.
Pascal OpenEdge ABL C
Branch: master
Clone or download

Latest commit

Fetching latest commit…
Cannot retrieve the latest commit at this time.

Files

Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
doc/grammar
src
README.md

README.md

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%
You can’t perform that action at this time.