Pascal Script is a
scripting language
A scripting language or script language is a programming language that is used to manipulate, customize, and automate the facilities of an existing system. Scripting languages are usually interpreted at runtime rather than compiled.
A scripting ...
based on the
programming language
A programming language is a system of notation for writing computer programs. Most programming languages are text-based formal languages, but they may also be graphical. They are a kind of computer language.
The description of a programming ...
Pascal
Pascal, Pascal's or PASCAL may refer to:
People and fictional characters
* Pascal (given name), including a list of people with the name
* Pascal (surname), including a list of people and fictional characters with the name
** Blaise Pascal, Fren ...
that facilitates automated runtime control over scriptable
applications
Application may refer to:
Mathematics and computing
* Application software, computer software designed to help the user to perform specific tasks
** Application layer, an abstraction layer that specifies protocols and interface methods used in a c ...
and
server software
In computing, a server is a piece of computer hardware or software (computer program) that provides functionality for other programs or devices, called " clients". This architecture is called the client–server model. Servers can provide variou ...
. It is implemented by a free scripting engine that includes a
compiler
In computing, a compiler is a computer program that translates computer code written in one programming language (the ''source'' language) into another language (the ''target'' language). The name "compiler" is primarily used for programs that ...
and an
interpreter for
byte code
Bytecode (also called portable code or p-code) is a form of instruction set designed for efficient execution by a software interpreter. Unlike human-readable source code, bytecodes are compact numeric codes, constants, and references (norma ...
.
Pascal Script supports the majority of
Object Pascal
Object Pascal is an extension to the programming language Pascal (programming language), Pascal that provides object-oriented programming (OOP) features such as Class (computer programming), classes and Method (computer programming), methods.
...
constructs, making it partly compatible to
Delphi
Delphi (; ), in legend previously called Pytho (Πυθώ), in ancient times was a sacred precinct that served as the seat of Pythia, the major oracle who was consulted about important decisions throughout the ancient classical world. The oracle ...
,
Free Pascal
Free Pascal Compiler (FPC) is a compiler for the closely related programming-language dialects Pascal and Object Pascal. It is free software released under the GNU General Public License, witexception clausesthat allow static linking against it ...
and
GNU Pascal
GNU Pascal (GPC) is a Pascal compiler composed of a frontend to GNU Compiler Collection (GCC), similar to the way Fortran and other languages were added to GCC. GNU Pascal is ISO 7185 compatible, and it implements most of the ISO 10206 Extended P ...
.
Initially developed by
Carlo Kok Carlo is a given name. It is an Italian form of Charles. It can refer to:
* Carlo (name)
*Monte Carlo
* Carlingford, New South Wales, a suburb in north-west Sydney, New South Wales, Australia
*A satirical song written by Dafydd Iwan about Prince ...
as CajScript and renamed to Innerfuse Pascal Script with version 2.23, the software was taken over by
RemObjects
RemObjects Software is an American software company founded in 2002 by Alessandro Federici and Marc Hoffman. It develops and offers tools and libraries for software developers on a variety of development platforms, including Embarcadero Delphi, Mi ...
, renamed again to RemObjects Pascal Script and offered as open source software for the
Delphi IDE. Beginning with version 2.07 CajScript has been ported to Free Pascal. Since 2017 Pascal Script is included as a standard component in the
Lazarus IDE.
Software using Pascal Script
Pascal Script can be used by installer scripts for
Inno Setup
Inno Setup is a free software script-driven installation system created in Delphi by Jordan Russell. The first version was released in 1997.
History
Since Jordan Russell wasn't satisfied with InstallShield Express which he had received upon pur ...
, 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.
Pascal Script is also used for
server-side scripting
Server-side scripting is a technique used in web development which involves employing scripts on a web server which produces a response customized for each user's (client's) request to the website. The alternative is for the web server itself ...
in Pascal Server Pages and maXbox, a scripter studio with an inbuild Delphi engine.
ReNamer, a
batch-oriented
Computerized batch processing is a method of running software programs called jobs in batches automatically. While users are required to submit the jobs, no other interaction by the user is required to process the batch. Batches may automatically ...
automated file renaming tool for
Windows
Windows is a group of several proprietary graphical operating system families developed and marketed by Microsoft. Each family caters to a certain sector of the computing industry. For example, Windows NT for consumers, Windows Server for serv ...
, can be expanded by Macros written in Pascal Script.
With the release of version 1.2, the Lazarus IDE began to include the Pascal Script engine, which is now available in form of several components. Additionally, some of Lazarus' standard packages including
SynEdit and
TAChart
TAChart is a component for the Lazarus IDE that provides charting services. Similar to Tchart and Teechart for Delphi it supports a collection of different chart types including bar charts, pie charts, line charts and point series. Apart from ...
support Pascal Script, and the IDE may be extended by using macros written in Pascal Script.
Increasingly reported applications of Pascal Script in Science and Technology include
SCADA
Supervisory control and data acquisition (SCADA) is a control system architecture comprising computers, networked data communications and graphical user interfaces for high-level supervision of machines and processes. It also covers sensors and ...
,
robotics
Robotics is an interdisciplinary branch of computer science and engineering. Robotics involves design, construction, operation, and use of robots. The goal of robotics is to design machines that can help and assist humans. Robotics integrat ...
and education.
History
Pascal Script started out in 2000 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
RemObjects Software is an American software company founded in 2002 by Alessandro Federici and Marc Hoffman. It develops and offers tools and libraries for software developers on a variety of development platforms, including Embarcadero Delphi, Mi ...
, it was renamed RemObjects Pascal Script and is now being maintained by RemObjects Software. A fork of Pascal Script is maintained in the sources of the Lazarus IDE. The Lazarus and Free Pascal teams ported PascalScript from
Intel
Intel Corporation is an American multinational corporation and technology company headquartered in Santa Clara, California. It is the world's largest semiconductor chip manufacturer by revenue, and is one of the developers of the x86 seri ...
processors to additional architectures including
PowerPC
PowerPC (with the backronym Performance Optimization With Enhanced RISC – Performance Computing, sometimes abbreviated as PPC) is a reduced instruction set computer (RISC) instruction set architecture (ISA) created by the 1991 Apple Inc., App ...
and
ARM
In human anatomy, the arm refers to the upper limb in common usage, although academically the term specifically means the upper arm between the glenohumeral joint (shoulder joint) and the elbow joint. The distal part of the upper limb between th ...
.
References
External links
Pascal Script License Pascal Script examples in the Lazarus wiki
{{Pascal programming language family
Pascal (programming language)
Scripting languages