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