⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 history

📁 类PASCAL语言的编译器,LINUX环境的,我没试过是否正确.
💻
📖 第 1 页 / 共 2 页
字号:
12.0	+ The previous feature that enables string merging like:		string a = b + c;	  where b and c are strings, is re-implemented!11.6	* 'continue' within statements that wasn't within braces didn't	  work as it should!11.5	* [Amiga] The internal table of funclibs did not survive after the	  program that opened a funclib quit! Now it does...	* [Amiga] Added RESETOPTIONS to the compiler flags to ignore all those	  *stupid* ENV:sc/SCOPTIONS used by people who try to compile FPL...11.4	* "\x" didn't work with uppercase letters in the hexadecimal number!	* Accessing an array illegally when *not* declaring, made FPL to	  strcpy() a NULL pointer...	* Assigning a string variable like		string a,b;		a = b	  where 'b' never was initialized could lead to 'out of memory'!11.3	+ stristr(), stricmp() and strnicmp() were added to the language!11.2	* Another small fix to break-within-switch. This is the third in a row	  of bugs discovered by Bj鰎n when I've been planning to make a public	  release...!	* Argh!! Forgot to check if it really was a break that broke a	  switch(), which made strange results on i.e return()s from within	  switch()es...!	* Breaks within a switch() could get left after the switch() statement	  so that one 'break' happened to break out of several levels!	* Using 'break' with a too high level parameter now results in the	  (much better) 'illegal break' error message...11.1	Released to Bj鰎n for test use in FrexxLink	* The 'break' keyword didn't work in a program like:	  while(1) {	    if(1) {              if(1)                break;            }            /* shouldn't reach this but did previously! */          }	11.0	Pre-release only used by a minimum of people.	* [Amiga] funclib/lib.c didn't remove the "libTest2" function on exit!	* #pragma nocache was no real success if FPL decided that the program	  was subject for caching...	* Cleaned up a bit more, and made more functions return proper error	  messages.	+ Seven new error messages have been added to help debugging FPL	  programs. The new ones are more specified of what exactly the error	  is. Of course I remade a few details to make them use the new	  errors. Read the updated (at last) chapter in the documentation!10.7	* Accessing a string array with i.e foobar[-1] now generates	  'illegal array "foobar" error!' instead of previous 'out of reach	  error!'.	* The since a long time known, but very-hard-to-find bug that made FPL	  loose control of the line number in error messages is now removed.	  It occured in situations like:		if/while ( FALSE )		  STATEMENT;          The newlines between 'STATEMENT' and the following statement were	  then counted twice...!	* A single exported/global string variable that was assigned at	  declaration time wasn't properly taken care of. Later use of the	  variable could lead to crashes!10.6	* FPLTAG_KIDNAP_CACHED was fixed and should be working now!	- Since we're planning a release (software based on FPL) on OS/2, all	  packages from now is gonna be multi-platform. It means a few things:	  o ASCII formatted docs will be included as well as the .guide ones.	  o Binary versions of FPL.DLL (OS/2) and FPLlib.so (Intel SVR4 UNIX)	    will be included.	  o The archive directory tree now holds the directories bin_amiga/,	    bin_os2/ and bin_svr4/.10.5	* Assigning a global/exported string variable after it had been	  "globalfied", did cause a crash!	* Deleting a global/exported variable with DelIdentifier was not	  healthy...	+ Made both fplDealloc() and fplDealloca() capable of freeing memory	  allcated both with fplAlloc() and fplAlloca(). They're now virtually	  the same function.	+ Introducing the FPLREF_ARRAY_RESIZE... This tag to fplReference()	  enables the host program to resize the array to which a reference	  was sent as parameter to a function. I have to increase the library	  version number for the next public/developer release!	* Using 'resize' on arrays that were declared as global/exported	  did result in system crashes!	* Improved the error message when trying to refer to non-existing	  or negative array fields. Could previously easily contain the wrong	  variable name.	  Did the same to illegal 'resize' operations.10.4	+ Added FPLSEND_GETRETURNINT, which returns a pointer to the value	  returned by a program. If no value was returned, this will return	  NULL.	* Fixed the fplExecuteXXXXXX() invokes that allow strings to get	  returned so that the string pointer is set to NULL if a string	  wasn't returned. Previous versions didn't touch the pointer in such	  situations.10.3	* Fixed another small detail with the nested runnings and failure.	  Nobody has experienced any trouble with it though.10.2	* Execution of nested files (and an error in a nested level) could	  lead to files being cached accidentaly, which could lead to serious	  confusion!10.1	+ FPL now offers external variables to be added just like functions	  have been a long time. With the function fplAddVariable(), they	  will be added and recognized instantly by FPL. Added variables are	  always read-only, and all reads from them causes the interface	  function to get called as in a regular external function case, and	  the returned value (with 'fplSend()') will be the result of the	  variable read. The fplArgument struct has been extended with an	  extra member which will hold the default variable result, the result	  that will be the variable contents if the interface function doesn't	  return anything.	* Fixed some serious errors when FPL found 'const' variables. It did	  not prevent some changes, and some changes caused peculiar error	  messages!	* Fixed a bug in the fplAllocString() which made the fplReference()	  or fplSend() where the string could be used to cause damage to	  the system's memory list.10.0	FPL VERSION 10	~~~~~~~~~~~~~~	We've now reached version 10. The version number increase is because	of the following reasons:	+ The expression parsing is now 100% C compatible to the very last	  detail AFAIK!! Expressions like the following are now treated the	  C-style way:	  1) if(a++ && b++)...  the right part is only executed if the left	     part was evaluated TRUE	  2) if(a++ || b++)... the right part is only executed if the left	     part was evaluated FALSE	  3) if(a ? b++ : c++ )... "b++" is only executed if 'a' evaluates	     TRUE, and "c++" if 'a' evaluates FALSE	+ FPL now allows array references sent as parameters to functions. Such	  parameters are declared as "int *array[]" or simply "int *[]" for	  integer arrays.	+ fplReference() now features:	  FPLREF_TYPE_ARRAY is now a valid type bit returned by the FPLREF_TYPE	  tag.	  FPLREF_ARRAY_ITEM lets you set which array item you want to read or	  write. The strings/ints are still read with the previous tags for	  those purposes (or the new ones described below).	  FPLREF_ARRAY_INFO gives you information about the looks of the	  referenced array variable.	  FPLREF_SET_MY_STRING makes a normal string valid as new string for	  a referenced variable. The length can be set with...	  FPLREF_SET_MY_STRLEN defines the length of the string set with the	  tag above.	+ fplInit() features this new tag:	  FPLTAG_PREVENT_RUNNING_SAME which will make FPL to abort any tries	  to run a program that already is cashed. The FPLTAG_REREAD_CHANGES	  tag still works fine with this though.	+ fplSend() features these new tags:	  FPLSEND_RESULT which will give fplSend() a long to store results in.	  FPLSEND_IS_FILE_CACHED will give information regarding if the	  specified file is cached (held in memory) or not.	+ sprintf() is a new FPL function. Features all ANSI C %-codes plus	  a few additional ones:	  %o - octal number	  %b - binary number	  %n - number of characters	  %P - pointer shown with uppercase letters

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -