----------------------------------------------------------------------------- by Parent and Childset Accessible Syntax Tree Language Interpreter change log ----------------------------------------------------------------------------- v2.1.1 2012-02-03 Statements in a "return" call argument get now fully executed. v2.1 2012-01-27 Added internal functions "alloc_copy" and "free". "source" internal function can now read Windows text files (CR LF) on Linux. "source" internal function can now be used inside a file read by this function. v2.0.1 2012-01-08 Statements on the command line are no more deleted immediately after execution. They are deleted by the garbage collector when not referenced. Fixed the "!=" operator issue. v2.0 2011-12-26 Added C fundamental types: char, signed char, unsigned char, short, unsigned short, int, unsigned int, long, unsigned long, long long, unsigned long long, float and long double. Added cast operator. Added reference "&", indirection "*" and dereference "->" C operators. Added pointer type to all PCASTL base types. Also, pointer to pointer and so on. Object, array and list member can now be used with ++ and -- operators. Assignments of functions and code segments do now copy the command syntax tree, so statements on the command line are now deleted immediately after execution. Added internal function "freetree". Garbage collection does now manage strings, objects, arrays and lists. String assignation from a variable to another now does not allocate and copy. Added internal functions "strclone" and "strcpy". Arguments for "scanf", "fscanf" and "sscanf" must now be passed as in C language. Added internal functions "openlib", "getfuncpt" and "closelib" to allow calls to a dynamic-link library or a shared object library. Removed internal functions "catlist", "listsize" and "sublist". v1.10 2011-11-18 Internal function name search improved. Added internal functions "atovar" and "vartoa". "for" and "while" loops can now have blank control fields. v1.9 2009-09-18 Added file pointer data type. Added i/o internal functions "printf", "scanf", "fopen", "fclose", "fprintf", "fscanf", "feof", "fread", "fwrite", "clearerr", "fgetpos", "fsetpos", "ferror", "fgetc", "ungetc", "fflush", "fputc", "fseek", "ftell", "freopen", "rewind", "tmpfile", "sprintf" and "sscanf". Fixed multiple lines paste issue with Linux. Added internal function "cls". Strings now accept ASCII charracters in octal and hex notation in escapes sequences. Logical operators AND, OR and NOT can now have node pointer and file pointer operands. Numbers can now be entered in hexadecimal format and those are taken as signed integers. v1.8 2009-04-04 Added object, array and chained list data types. They are respectively created by internal functions "names", "array" and "list". Replaced internal function "catlist" by more flexible function "concat". Replaced internal function "sublist" by more polyvalent function "subseq". Replaced internal function "listsize" by more polyvalent function "length". Added internal functions "setlength", "insert", "replace", "source", "strlen", "as_array", "as_list", "as_statements", "gettype", "undefine" and "abort". Enabled string variable subscripting. Lowered exponentiation operator precedence. Fixed "for" initialization scope error. Fixed string node type skipping in tree copy. Fixed genealogical dotted list on non reference symbols. v1.7 2009-02-20 Added internal functions "execute" and "prompt". Parameter file is now created if does not exist. v1.6.1 2008-11-02 Fixed string variable reading issue. Improved memory gestion in relational and logical operations. v1.6 2008-06-23 Improved memory gestion. Added parameter file pcastli.ini. Added internal function "clear". v1.5 2008-04-12 Extended the "Type error." messages for operators. Statements in a statement list can now be separated by a ';'. Improved "Symbol not found." messages with symbol name. v1.4 2008-03-16 Added the unary operator '*'. Added internal function "copytree". v1.3.1 2008-03-15 Identifiers can now include the character '_'. v1.3 2008-03-15 Added internal function "return". v1.2 2008-03-05 Added ++ and -- operators. Fixed the "for" incrementation issue. v1.1 2008-02-24 Added i/o internal functions "scan", "read" and "write". Added internal functions "getwd", "setwd", "tonode", "sublist", "catlist", "ntoa" and "aton". Fixed the '\\' issue and the "" issue in string reading. v1.0 2008-02-16