Release notes for Model 204 version 7.9 (Beta): Difference between revisions

From m204wiki
Jump to navigation Jump to search
Line 14: Line 14:
The regular expression engine now supports [https://www.regular-expressions.info/backref.html back references]. The following illustrates the use of a back reference (\1 in the example) to display all lines in procedure FOO where the left side of an assignment also appears on the right side. Note that this example is somewhat simplistic in that it it doesn't account for continuation lines and might not be what one wants if the left side of an assignment is an object member or array element.
The regular expression engine now supports [https://www.regular-expressions.info/backref.html back references]. The following illustrates the use of a back reference (\1 in the example) to display all lines in procedure FOO where the left side of an assignment also appears on the right side. Note that this example is somewhat simplistic in that it it doesn't account for continuation lines and might not be what one wants if the left side of an assignment is an object member or array element.
</p>
</p>
<p class="pre">
<p class="code">
b                                                                   
b                                                                   
                                                                      
                                                                      

Revision as of 21:17, 24 February 2022

THIS PAGE IS UNDER CONSTRUCTION! These release notes list the enhancements and other changes contained in Model 204 version 7.9, which is still in development. Until the commercial release of the software, Rocket reserves the right to add to, remove, or change anything described herein.

Overview

These release notes contain installation and features information for the Rocket Model 204 version 7.9 release. Before beginning your installation, please read through this information about product installation and changes.

New in this release

Regular expression engine enhancements

The regular expression engine can now produce traces of regular expression processing to hep debug and optimize regular expressions. There are new user parameters REGEXTR and MREGEXTR, as well as a new "t" option on regex method and $function invocations to control this tracing.

The regular expression engine now supports back references. The following illustrates the use of a back reference (\1 in the example) to display all lines in procedure FOO where the left side of an assignment also appears on the right side. Note that this example is somewhat simplistic in that it it doesn't account for continuation lines and might not be what one wants if the left side of an assignment is an object member or array element.

b %i is float %sl is object stringlist %sl = new $procopn("FOO", "FOOPROC") %sl:appendOpenProcedure %i = 1 repeat while %i le %sl:count %i = %sl:regexLocate("(%[a-z._$]+) *=.*\1", %i, options="i") if %i eq 0 then loop end; end if print %ls(%i) %i = %i + 1 end repeat end

Operating system and hardware requirements

Operating system requirements

System Enhancements

Debugger enhancements

These enhancements apply to the Janus and TN3270 debuggers.


Performance enhancements

The regular expression engine has been completely rewritten to make it significantly faster. Tests indicate simple regex is at least three times as fast as the earlier regular expression engine, and 10 times or more faster for more complex regular expressions. In addition, constant regular expressions are now compiled when the containing procedure is compiled to eliminate the runtime cost of regular expression compilation and to detect errors in regular expressions at SOUL compile-time lather than evaluation time.

New products

New and changed messages

See New and updated messages in Model 204 version 7.9 for details.