suve
| rev. | ver. | date | changes |
|---|---|---|---|
| 41 | 0.5.5 | 2014/1010 | Project relincensed under zlib w/acknowledgement (open source) license. Massive code overhaul. Fixed GET/POST/COOKIE parsing in CGI unit and HTTP header mangling. Fixed output straight to stdout by :arr-print when in CGI mode. Added argument number info to expression and changed eval() accordingly. Made eval() heavily use file includes. Fixed many smaller bugs. |
| 40 | 0.5.4 | 2014/0906 | Fixed a bug in eval() which caused the interpreter to crash in recursive functions. Fixed a bug which caused :f-read and :f-readln behaviour to be swapped. Added several new functions (mostly string-related). Done some low-level optimisation for dictionaries and arrays. |
| 39 | 0.5.3 | 2014/0609 | Changes in the parser. Improved whitespace handling. Fixed bugs in :str-sub and :str-pos functions. Added (already implemented, but somehow forgotten) :f-write and :f-writeln functions. Added :file-size, :file-get-contents and :dir-list functions. |
| 38 | 0.5.2 | 2014/0413 | Project anniversary! Added JSON functions. Added cyclometric functions. Added the :arr-print function. Fixed bugs and expanded the :dt-str function. Slight changes to parsing. |
| 37 | 0.5.1 | 2014/0401 | Bugfix in hash unit. Eval optimisation. Added dt-*-unix functions. |
| 36 | 0.5.0 | 2014/0316 | Added file handling support and the hash unit. Added Base64 and Hex encoding/decoding to the CGI unit. Added :arr-min, :arr-max, :arr-qsort, :arr-isum and :arr-fsum functions. Added -O, -E and -i commandline arguments. Slightly reduced amount of memory used by DynPtrTries and NumPtrTries. Slightly altered parsing, throwing out trimming and changing the func-trie to use pointers instead of static values. Moved some code around and reduced the amount of copypasta in the typecast unit. Minified the auto-generated code fragments. |
| 35 | 0.4.4 | 2014/0228 | !break and !continue can now take an optional parameter describing escape depth. Greatly reduced amount of exceptions used. Fixed a bug in :gt function. |
| 34 | 0.4.3 | 2014/0227 | The interpreter will now not copy values passed to const built-ins. Built-in and user-def function tries have been unified; it is no longer possible to define a userfunc using the same name as a built-in. Function tries, value tries and dictionaries are now utilising dynamic tries. |
| 33 | 0.4.2 | 2014/0223 | Added a new value type: UTF-8 strings. Rewrote several functions to properly utilise the new type. Rewrote value comparison code to use Case-Of instead of If-Then-Else. |
| 32 | 0.4.1 | 2014/0211 | Rebuilt the parser, adding recognition for invalid closing of stacked blocks. Added the !break and !continue constructs. Added support for command-line parameters for scripts. Invalid tokens and unreadable input files are now considered fatal. |
| 31 | 0.4.0 | 2014/0201 | First public release. Instead of always freeing unused values and allocating new ones, the interpreter now keeps a small pool of values in cache and reuses them. Internal typecasts now don't create unnecessary values. Fixed bugs related to user-defined functions. Rebuilt the strings and datetime units. Fixed errors related to input and output files. Reversed the meaning of $ and & symbols. Added array arithmetic functionality. |
| 30 | 0.3.3 | 2014/0110 | Added support for indexing flying arrays. Rebuilt the parser, adding !include and !require constructs. Fixed errors related to output/error redirection. Fixed numerous memory leaks. |
| 29 | 0.3.2 | 2013/1213 | Made some optimisations and removed the predefined $ARG[] variable in favour of :func-args function.Added the :sysinfo-system and :sysinfo-version functions. |
| 28 | 0.3.1 | 2013/1209 | Changed arithmetics mechanics from a+b to a+=b. Fixed memory leaks when calling user-defined functions. |
| 27 | 0.3.0 | 2013/1205 | Instead of scapegoat trees, arrays are now based on numtries. |
| 26 | 0.2.6 | 2013/1201 | Removed duplicate code from arith, bitwise, cgi and compare units. Changed float-to-string conversion to use FPC's FloatToStrF instead of a homemade algorithm. Modified the :sysinfo-disk functions to allow checking multiple disks. Added Windows implementation of :sysinfo-disk and :hostname functions. Added :html-decode and :str-write functions. Added the =AWFUL-CGI predefined constant. |
| 25 | 0.2.5 | 2013/1120 | Pipe character can now be used with brackets. Added bitwise operations funtions. Added the –norun commandline switch. Numerous bugfixes. |
| 24 | 0.2.4 | 2013/1029 | Optimised file parsing, modified number parsing and made some bugfixes. |
| 23 | 0.2.3 | 2013/1022 | Added stdin buffer modifying functions, HTTP cookie support and improved HTTP header handling. |
| 22 | 0.2.2 | 2013/1021 | Implemented stdin support. In CGI mode, added automatic HTTP header printing, the http-header function, and made bugfixes to URL and HTML encoding/decoding functions. Changed comment digraphs from #> <# to #~ ~#. |
| 21 | 0.2.1 | 2013/1018 | Fixed the skipping bug when putting multiple constructs on the same line. Added HTTP POST support and the request method =const. In CGI mode, error message is now properly HTML-encoded. |
| 20 | 0.2.0 | 2013/1017 | Added CGI mode. In CGI mode, files are parsed in PHP-like fashion - code must be put between <?yuk and ?> tags, and everything outside the tags is treated as strings to output. Upon encountering a fatal error, in CGI mode, the interpreter will produce a simple HTML 4.01 page containing the error description and exit gracefully, instead of reporting failure back to the HTTP server process. Also, added the ~ expression separator, allowing to put multiple expressions on a single line. |
| 19 | 0.1.4 | 2013/1014 | Added support for nested array indexing. |
| 18 | 0.1.3 | 2013/1014 | Implemented cleanup and divided functions into several units. |
| 17 | 0.1.2 | 2013/1014 | Main expression functions no longer return a value. Function behaviour is controlled via an additional boolean parameter. |
| 16 | 0.1.1 | 2013/1011 | Crude bugfix around the array\dict varlevel issue. Minor optimisations. |
| 15 | 0.1.0 | 2013/1010 | Added support for linebreak-on-!construct. Var-seeking is now done only in the global and the highest-local var-pool. |
| 14 | 0.0.13 | 2013/1010 | Split array functionality into arr[] and dict[]. Support for multi-indexing added. Values now have a run-level, instead of a etemporarye flag. Functions can now use $ARG[] to retrieve arguments. |
| 13 | 0.0.12 | 2013/0702 | Fixed a bug in loop parsing. New array functions. |
| 12 | 0.0.11 | 2013/0625 | Partially implemented arrays. Started work on SDL module. |
| 11 | 0.0.10 | 2013/0508 | Implemented multi-line comments. Float size changed from double to extended. Mid-function separator changed from : to -. Some new functions. Minor bugfix. |
| 10 | 0.0.9 | 2013/0426 | Added the :random function. Some bugfixes. First version used in the playground. |
| 9 | 0.0.8 | 2013/0426 | Bugfix revision. |
| 8 | 0.0.7 | 2013/0425 | Added :mktype and :fork functions and command line stdout/stderr redirection. |
| 7 | 0.0.6 | 2013/0424 | Implemented user-defined functions. |
| 6 | 0.0.5 | 2013/0423 | Implemented =constants, added the !const construct. |
| 5 | 0.0.4 | 2013/0420 | Added :gt, :ge, :lt, :le functions and short aliases for operator functions. |
| 4 | 0.0.3 | 2013/0419 | Added :sysinfo:thermal and changed :get:process to :get:prepare. |
| 3 | 0.0.2 | 2013/0419 | Added datetime and sysinfo functions. Implemented conditionals and loops. Added :eq, :neq, :seq and :sneq functions. |
| 2 | (skipped) | Failed attempts at changing function mechanics. | |
| 1 | 0.0.1 | 2013/0417 | Second working version, first git-controlled version. |
| 2013/0413 | First lines of code are written; project is officially born. | ||
wikipage modified on 2014/1127/1428