paxCompiler is an embeddable compiler of the Object Pascal programming language. The key features of the paxCompiler are:
* The compiler generates machine code for Intel compatible processors (IA-32 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.0.
* 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.
* Script-defined functions support register (Borland fastcall), cdecl, stdcall, safecall, pascal and msfastcall (Microsoft fastcall) calling conventions. The default calling convention is stdcall. (You can change it by means of TPaxPascalLanguage.SetCallConv method).
* COM support.
* TPaxCompilerDebugger and TPaxCompilerExplorer components implement debugger (breakpoints, call stack, watches, step over, trace into, run to cursor, pause) and code explorer capabilities.
* You can import host-defined types with paxCompiler importer.
* You can create stand alone executable files.
* paxCompiler engine is thread safe.
* The roadmap of the compiler includes: JavaScript compiler, Basic compiler and C compiler, cross-language programming, built-in assembler.