The Beez
unread,Mar 24, 2013, 1:13:16 PM3/24/13Sign in to reply to author
Sign in to forward
You do not have permission to delete messages in this group
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to 4th-co...@googlegroups.com
What's new in version 3.62.1
Words
• The words ':TOKEN' and 'EQUATES' have been added.
Functionality
• Named execution tokens can be defined.
• Static variable and array pointers can be defined.
• The library files now support virtual memory, simple garbage collection, RfC 4180 compliant parsing, SEDOL numbers, Chi square calculations, runtime macros and several new sorting routines.
• The preprocessor now supports division and modulo with the new @divrm function.
Bugfixes
• Several obscure bugs in the peephole optimizer were fixed.
• Address checking was added to the 'TO' and 'VALUE' tokens.
• A documented bug in SkipSource() was fixed.
• A bug in bsearch.4th was fixed.
• Some bugs in parsing.4th were fixed.
• parse-csv in parsing.4th is now mostly RfC 4180 compliant.
Developer
• The library files now support virtual memory, simple garbage collection, RfC 4180 compliant parsing, SEDOL numbers, Chi square calculations, runtime macros and several new sorting routines.
• The new library file multiblk.4th is a multi buffer implementation of the BLOCK wordset. It is a drop-in replacement for ansblock.4th.
• A new peephole optimizer was added to the compiler, optimizing '1 +LOOP' expressions.
• Named execution tokens can be defined.
• Static variable and array pointers can be defined.
• The file null.4th was integrated in constant.4th.
• The preprocessor now supports division and modulo with the new @divrm function.
Documentation
• All documentation now reflects the functionality of the current version.
• Sections on garbage collection and virtual memory were added.
Hints
Porting your V3.62.0 programs to V3.62.1 shouldn't be any problem. All source files will compile correctly without modification and executables will run unmodified. There are three things to consider:
Obsolete compiler directives
Last warning: the compiler directives '[*]', '[/]', '[+]' and '[NEGATE]' have become obsolete since V3.62.0. It is recommended to change your sources accordingly by replacing them with '*', '/', '+' and 'NEGATE'. Note these language elements will be removed in a future version.
NULL
The constant 'NULL' is now part of constant.4th. The file null.4th has been removed. Please change your sources accordingly.
New reserved words
If you used the any of the new reserved words in your program as a name, you should replace those names by another. The new reserved words are ':TOKEN' and 'EQUATES'.
In order to prepare your programs for other changes, we strongly advise you not to use any names which are also mentioned in the COMUS list, TOOLBELT list or (proposed) ANS-Forth standard, except for porting purposes.