In a nutshell, I want a **full-fledged scripting language&IDE**. The scripting language to be used already exists, and so does the IDE. Visit [url removed, login to view] and obtain Innerfuse PascalScript. This is the scripting language, and one of the examples included is an IDE example. I want these items to be extended in the following ways:
* Standard **compile/execute** behavior (already exists in IDE).
* Compile PascalScript programs into stand-alone **.EXE** files. There are many ways this can be done, but your solution should use the minimum runtime overhead in the stub. The .EXE files should contain no debug information, and ideally encrypt the compiled PascalScript bytecode.
* Debugging support: Add support for **watches, call stack, step over-into-out, terminate debugged program**.
* A way to automatically **get/set the value of variables** used in the script, and optionally have them refer to real Delphi variables. This mechanism should work even while IFPS is executing (i.e. its already working a script when either from a Timer/[url removed, login to view] or from another thread, the variables are changed).
* **Thread safe execution**: synchronized VCL calls should properly execute when IFPS is executed from a worker thread.
* Support for executing **events** when IFPS is already executing (for example, in response to a click in a dialog box, an event defined in the script must execute, but the script may already be executing/waiting on some other code at the time this happens)
* The IDE should display **nice visual cues when debugging**: breakpoints as in Delphi should be set and cleared (only on lines where they are legal), while debugging, hovering the mouse over a variable should display the value of the variable.
* The IDE must feature **CodeInsight features**: when a function statement is being written, hints for displaying function parameters. Auto-suggestion of proper variables/calls to be used in a statement. Auto-completion of code forms.
Note that I am NOT associated in any way with the URL referenced above, and/or the makers of IFPS.
Most of this above functionality already exists in the Innerfuse PascalScript component, the SynEdit IDE editor component, and the IDE which ships as an example with the IFPS download (perhaps even all of it). Where the standard download does not contain all necessary items, the newsgroups for IFPS does. Your job is to put all the information together, and deliver a full-fledged, working, visual IDE with the features requested above. I anticipate it will be more of understanding how to use the existing materials, rather than inventing new code.
1) Complete and fully-functional working program(s) in executable form as well as complete source code of all work done.
2) Installation package that will install the software (in ready-to-run condition) on the platform(s) specified in this bid request.
3) Exclusive and complete copyrights to all work purchased. (No GPL, 3rd party components, etc. unless all copyright ramifications are explained AND AGREED TO by the buyer on the site).
All Win32 Platforms.