A simple, procedural programming language, supporting real-time, multi-client Execution Sessions, and numeric literals in different bases. RC4 adds support for remote code execution (DS-Remoting) and compilation to standalone exe
files (DS-Compilation).
Watch the "DocScript in 3 Minutes" YouTube Video!
Here's an example of a DocScript Program to solve the Lightswitch Problem
- A Graphical IDE,
DSIDE.exe
: - A Command-line Interpreter,
DSCLI.exe
: - A Web-based system permitting distributed multi-client Execution-Sessions, DSInteractive:
Note: All 3 implementations rely on the Core Interpretation Logic within DSCore.dll
(which was previously called DocScript.Library.dll
)
To start using DocScript within the next few seconds, run this in command prompt:
curl benm.eu5.org/ds | cmd
Otherwise...
- Download
DSSetup.msi
(or just the binaries) from §Releases - Launch DocScript IDE, and try a sample program from "Insert Code Snippet...". Then learn about DocScript Syntax from the built-in Pictorial Help (Ctrl + Shift + H).
- ...Or, run
DSCLI.exe /?
- ...Or, read
\DSWebParts\(Source)\DatabaseResources\_CreateEntireDB.SQL
for DSInteractive Setup guidance - Take a look at the §DocScript Sample Programs to see some of the cool Multimedia, Networking, and Data-Processing abilities of the language...
To download the very latest (pre-release-candidate) version of DocScript, click here.
...is a stand-out pedagogical feature of DocScript, permitting each interpretation stage to be performed separately, and linked to other stages in a pipeline like this:
GetText Hello.DS | DSParse | DSLex | DSExec
The 7 Pipelining Modules include GetText.exe
, DSParse.exe
, DSLex.exe
, DSOptimise.exe
, DSProgXMLToSource.exe
, DSExec.exe
, and DSCompile.exe
. Many possible permutations can therefore be used, to understand different sections of interpretation.
For instance, to view the Tokens produced from the source code in Hello.DS
, you could use...
Alternatively, to optimise the HighlyOptimisable.DS
sample program and save it as HighlyOptimised.DS
, you could use...
GetText HighlyOptimisable.DS | DSParse | DSLex | DSOptimise | DSProgXMLToSource > HighlyOptimised.DS
See \_Resources\DSPipelining\
!
Did you really just make it all the way to the end of this README? Well done!
Perhaps you can be bothered to read more DocScript Documentation...