paxCompiler 4.2 Full Source | 1.4 Mb
The compiler generates machine code for Intel compatible processors (IA-32/64 architecture).
It is possible to use the compiler as a scripting engine. You can embed the compiler into host application, register host-defined types, routines, variables and constants for the engine, read/write script-defined variables, call script-defined functions etc. You can save/load compiled scripts to/from a stream.
The compiler was initially written in Borland Delphi as a set of Delphi components. TPaxCompiler, TPaxProgram and TPaxPascalLanguage are Delphi components that allows you to embed the paxCompiler into Delphi, Kylix or Borland C++ Builder application so you can customize and extend the application without having to recompile it.
Source code of paxCompiler is compatible with Free Pascal 2.6.2.
paxCompiler, implemented as paxcompilerlib.dll, can be used for scripting Microsoft Visual C++ applications.
The compiler supports Object Pascal language based on the Delphi 7 standard. Syntax of Basic language is similar to VB.NET.
Script-defined functions support register (Borland fastcall), cdecl, stdcall, safecall, pascal and msfastcall (Microsoft fastcall) calling conventions.
TPaxCompilerDebugger and TPaxCompilerExplorer components implement debugger (breakpoints, call stack, watches, step over, trace into, run to cursor, pause) and code explorer capabilities.
Script-defined types support run-time information (RTTI).
You can bind instances of script-defined classes with dfm files.
You can import host-defined types with paxCompiler importer.
You can create stand alone executable files.
Support of compiled units and run-time packages.
paxCompiler engine is thread safe.
The roadmap of the compiler includes: Java compiler, C++ compiler, built-in assembler.