Pascal Script
Paradigm | Procedural, object-oriented, scripting |
---|---|
Developer | RemObjects |
First appeared | 2001 |
Stable release | 3.0
|
Typing discipline | Strong |
License | Custom open-source license |
Influenced by | |
Pascal, Object Pascal |
![]() | This article has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these messages)
|
Pascal Script is a scripting language based on the programming language Pascal that facilitates automated runtime control over scriptable applications. It is implemented by a free scripting engine that includes a compiler and an interpreter for byte code.
Pascal Script supports the majority of Object Pascal constructs, making it partly compatible to Delphi, Free Pascal and GNU Pascal.
Initially developed by RemObjects for the Delphi IDE, the software has later been ported to Free Pascal, where it is now included as a standard component in the Lazarus IDE.
Software using Pascal Script
Pascal Script can be used by installer scripts for Inno Setup, an open source setup engine. Using Pascal Script may provide additional flexibility during installation and uninstallation, e. g. by adding new wizard pages, calling DLLs and providing custom behaviour and install conditions[1].
Pascal Script is also used for server-side scripting in Pascal Server Pages and maXbox, a scripter studio with an inbuild Delphi engine.
Newer versions of the Lazarus IDE provide Pascal Script components. Additionally, the IDE may be extended by using scripts written in Pascal Script.
History
Pascal Script started out in 2001 with CajScript 1.0, which was soon superseded by CajScript 2.0 (later called Innerfuse Pascal Script 2.0).
Version 2.0 interpreted scripts while it ran them, which had the disadvantage that every piece of code had to be reparsed every time the script engine went over it.
With Pascal Script 3.0, this was changed to a new model, where the compiler and runtime were completely separated from each other and used a custom byte code format to represent the compiled script. This compiled script only contained the bare minimum that was required to execute the code.
Later, when Carlo Kok joined RemObjects, it was renamed RemObjects Pascal Script and is now being maintained by RemObjects Software.[2] A fork of Pascal Script is maintained in the sources of the Lazarus IDE.
References
- ^ Murphy, Craig (2004). "Inno Setup Revisited" (PDF). The Developers Magazine: 15–28. Retrieved 25 May 2019.
- ^ "Pascal Script | RemObjects Software". RemObjects Software. Retrieved 18 January 2014.