Last changes in the Scriptol to JavaScript compiler
2.4 - February 6, 2018
- Solj.exe is now compiled with CL and no longer requires additional DLL.
- The exec command now compiles to scriptol.exec rather than process.exec.
2.3 - July 10, 2017
- New switch case control flow implemented.
- Added the arrayval function for compatibility with Scriptol C++.
2.2 - June 26, 2017
- @ followed by an ident is a mean to insert this ident in the target language.
- For example @await writes "await" before the call of a function which returns a promise.
- $(ident) syntax is deprecated.
2.1 - June 15, 2017
- Switch case implemented.
- "else" in do case control is deprecated and replaced by "default".
- Added support to async/await.
2.0 - March 21, 2017
- 64 bits version for Window.
- The scriptol.js module must be installed in node_modules now.
1.8.2 - July 21, 2016
- The import reserved word is now used to import a module declared like an object.
- The const reserved word is used to add directlly a module to the global scope. (See include, import and require in the manual).
1.8.1 - July 18, 2016
- Scriptol 3 is supported by the JavaScript compiler.
- Conditional assignment is deprecated. Now the := operator is similar to the = operator.
1.8 - June 14, 2016
- Added support to modules included by npm. Now functions, attributes and objects in modules may be part of the Scriptol code with zero interface.
- Removed useless cast in generated code in some cases.
1.7.2 - October 31, 2015
- Added -j option to generate a pure JS file to be included into an HTML document.
- Added -w option to the list of commands (was already active but not displayed yet).
1.7.1 - October 21, 2015
- Goal control structure now supports variables in time parameters.
- Improved the look of generated code with extra blank lines removed.
- Fixed bug in goal when a second time parameter is added to.
- New versions of ScriptolBrowser and ScriptolCanvas.
1.7 - September 18, 2015
- JSON is now a built-in class.
- Added the scriptolcanvas.js library to display SVG in canvas.
- Added the svgtojs.sol script to convert SVG images to JavaScript objects.
1.6.2 - September 2, 2015
- Fixed a bug when generating a for loop with key and value, and value is a var.
- Improved the conversion of object to XML.
1.6 - August 11, 2015
- Changed the internal format for an XML or SVG document loaded into a dict. Now each element assigned to a property is a value or a dict. A dict may now be used as a virtual DOM for SVG.
- Added the getByTag method to dict.
1.5.4 - July 4, 2015
- Added a parameter of delay between two actions in a goal statement;
1.5.3 - June 9, 2015
- Added the ES6 template format for a string on multiple lines with interpolation.
- Template are converted to standard strings in the JavaScript code for now, for compatibility with all browsers and Node.js.
- But in a XML tag, a template is not converted at all. XML with templates is assumed to run at command line only, with io.js.
1.5.2 - May 12, 2015
- Added a flag to the store method of array, to add the eol code or not.
1.5.1 - May 8, 2015
- Conditionnal assignement is now deprecated.
- Promise demo included.
1.5 - April 14, 2015
- It is now possible to link properties of a dict just like in JavaScript. For example: dict Engine = d.Car.Engine.
- Added setById method to dict.
- Added updById method to dict.
- New control structure: to for .. /to adds goal-oriented features to Scriptol.
1.4.1 - March 16, 2015
- Added getById method to dict.
- Added getByNames method to dict.
1.4 - March 14, 2015
- The display method of dict is now indented and has now an optional argument: false to a flat display.
- Implemented loading an XML file into an objet. The load method recognizes the format from the extension: xml, rss or svg.
- Let in a one line if statement is deprecated. if ... let ... else becomes if ... ? ... else or if ? ... : ...
- Method store of dict improved to save objects with embedded objects.
1.3 - February 10, 2015
- Better formatted JavaScript output, extra lines now removed.
- The exec builtin function now relies on execSync rather than exec so you need Node 0.12.
1.2 - January 24, 2015
- Improved print result.
- Changed the scriptol.fgets function with return false.
1.1 - October 2, 2014
- Include statement now allows to include target files when compatible with the target language.
- Added a canvas demo to be used with the -w option (compiling Scriptol to JavaScript in a Web page).
1.00 - September 23, 2014
- First version.