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

📄 history

📁 类PASCAL语言的编译器,LINUX环境的,我没试过是否正确.
💻
📖 第 1 页 / 共 2 页
字号:
HISTORY of changesSyntax description:	* Bug fix	+ New feature	- Note/change	: Obsolete/old stuff------------------------------------------------------------------------------14.12   - The win32 and unix version in the same archive. At last. May 9,          1998.14.11   - Completed my win32 port. No complaints when compiled with VC++ 4.2          (fplc still to go)        * The .FPL <-> .FPC checker did not work properly for non-amiga          systems. Now fixed.14.10	- The FPLTAG_INTERPRET tag does not work for compiled programs. I have	  not yet made the corrections that'll make it work. I don't know if I	  will either. I re-wrote some minor things in the FrexxEd FPL programs	  to avoid using this.	* exported symbols from within compiled programs were not deleted the	  proper way which could ruin internal lists14.9	* 'fplc' now uses a lot less memory when compiling.	* #line lines could get parsed very wrong by the compiler	* Compiled programs declared variables slightly wrong. They excluded	  the file name information which was lethal...14.8	- Slightly bug tested.	* Now compiled scripts run fine under unix-style OSes.	- Improved the nested runs data backup and removed the ugly 'struct	  Store' usage.	* Exported functions from compiled programs did not get their "I	  belong in this file" setup properly.	* it previously could crash some memory if a program that ran did very	  little and was allowed to return a string.	+ fpl (interpreter) now skips first lines that starts with '#!' to	  enable 100% use as a true unix script language. Unfortunately, the	  compiler does not [yet?] support this (since the preprocessor has a	  habit of adding a #line statement on the absolutely first line which	  ruins this). We might need to come up with a nice way to make work	  in the compiler as well as making compiled output that can be run in	  the same smooth manner under unix (and similar) operating systems.	* 'fplc' deals with cpp-instructions that skips 'line' as in '# 3'	  (such as the gcc preprocessor generates by default)	* the GETLONG macro used to run compiled programs crashed under	  solaris and made me decide to have one amiga version and one non-	  amiga. The non-amiga does not use those dirty typecasts of char	  pointers to long, but uses a function.14.7	* Compiles as shared library on Linux, Solaris and IRIX. Linked	  library on SunOS. More?	* Made returning strings from inside functions work [better]!	  Reported by Jorgen Olmats.	* fplc now deals with #line instructions followed by lines with quoted	  strings as it should.	* fplc did not deal with 'continue' properly until now.	+ fplc now shows version number when 'fplc' only is entered.14.6	- lots14.3	* conditional expressions ?:-style, were _not_ treated in a good way	  by the compiler.14.0	- rename() is from now on only possible on external or exported	  functions due to compiler effeciency decisions.        - expressions like (++name, name++) were *not* previously taken take	  care of properly.	- FPL compiler available. Running compiled programs is done	  transparent just as if they were still interpreted.13.8	* A single character access (from a string) were accepted in places	  where strings are required.13.7	+ If FPLTAG_ISOLATE is used in a fplExecuteXXXX() call, the program	  run can't access nor declare any exported identifiers. Only	  external, internal and those it creates within its own program.	  (FPLTAG_ISOLATE forces all 'export' variables to be treated as	  regular globals.)13.6	* Fixed a stupid read from NULL that could occur at strange times...13.5	* Executing files that only declared/exported variables/funcitons	  repeatedly wasn't taken care of properly...	* a fplAddFunction()-call with an already existing name didn't make	  FPL happy... (still doesn't, but now it survives!)13.4	* rename() to "" returned a very random number.	* The FPLSEND_GETSYMBOL_* didn't work properly if the hash table size	  was altered.13.3	* fplAddVariable() that added a string with NULL as default string	  did crash.13.2	* ltostr() didn't work properly on numbers like 1<<31...	+ [Amiga]燜PLdb is much improved. It's now cabable of showing	  function return codes and a few other things as well as it can be	  controlled through ARexx and even disabled/enabled.	* Setting DEBUG_MODE with the fplReset() or in the fplInit() will now	  switch on/off "global" debug mode. That is everything will be run in	  debug mode. Previously, they only switched it on and off just like	  the 'debug()' function, which made them pretty useless...!13.1	* External functions that were expected to return a string, but	  didn't, could make FPL rather confused... I even improved	  interpreting speed pretty much when strings are returned from	  external functions.	: [Amiga]	  FPLTAG_LOCKUSED is removed. There is no substitute, but I doubt	  anyone will ever miss it...	* sprintf() now has some better checks when using more %-codes than	  parameters	+ 'rename' can change name of already existing identifiers. By using	  this the right way, you can alter the working of *any* already	  written or added function in FPL. Even external or internal ones!!	+ exists() returns information about the presence of identifiers.13.0	+ sscanf() is here!	+ [Amiga]	  FPLdb version 2 is introduced and needed if you want to debug FPL	  from now on! A couple of new switches and cleaned code have gotten	  be started to create a better and more advanced debugger.12.6	+ The interpreter makes much better assumptions and errors now about	  functions that return optional types. An example, we have a function	  called 'myown()' that has been added by the program to return	  optional string or int. Previously, uses like this caused problems:		int a;		a = myown("return string!"); /* this returned a string */	* Removed an error that would occur when an integer was returned	  from a function returning optional type, when FPL expected a string!	* The following little program stopped with 'Out of memory error!':	  string hi()	  {	     string p;             return p;          }	  hi();	* Using variable references as parameters to inside functions could	  mess up the return-value of the function!!!12.5	* A string that ended with a single backslash confused	  fplConvertString().12.4	+ fplStrtol() now accepts NULL in the third parameter.12.3	* Accessing the first column of an empty string will now generate	  an "Illegal string index error" instead of simply crashing...	* If sprintf() didn't make a string (or a zero-length), FPL could	  write to a stupid address (0x000004) ...12.2	- FPL now keeps a good control of the "break level". Thereby, it can	  alert much better on breaks with too high level and other illegal	  uses (like using break outside of loops and switches).	* 'continue' is now harder to abuse.	* FPL could loose track of the real line number when passing if()-	  statements that wasn't evaluated.	+ Added the FPLSEND_GETVERSION and FPLSEND_GETREVISION to enable	  the FPL library user to get FPL version and revision number.12.1	* Using nested switch()-statements actually had a high fail ratio	  since FPL would find the 'case' - labels of "inner-level"	  switch()es !	+ Included all the xxxxxxxTags() functions to the actual library	  instead of have them as separate stubs. Not made for the Amiga	  library.

⌨️ 快捷键说明

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