Warning: Illegal string offset 'doublequoteopening' in /usr/home/svgames/domains/ on line 766 Warning: Illegal string offset 'doublequoteclosing' in /usr/home/svgames/domains/ on line 774

awful: changelog

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