| 540.03 Change for BINDLIB resequence |
| Mon, July 19 2010 |
|
Internal change only.
|
| 540.02 Reorg step_dir includes |
| Wed, May 19 2010 |
|
Internal change only
|
| 540.01 Fix empty line DO file effects |
| Thu, January 28 2010 |
|
If an empty line preceded a new SELECT or REPORT command in a FLEX DO
file, the compiler would invariably fail the script with syntax errors.
This problem is now fixed.
|
| 530.10 More detail on big Opal warning |
| Fri, September 18 2009 |
|
If the combined size of Source and Code for a compiled define is
greater than 255 segments, the warning issued will now report the
size of the source and the code.
|
| 530.09 Stop MEMOS from flagging a failed compile |
| Thu, August 27 2009 |
|
If the first define in a file passed to SYSTEM/OPALS was as MEMO then
even if all other defines compiled the compiler would report that the
compile failed, although no errors were listed. This minor problem
has been corrected
|
| 530.08 Support for REP DO in flex do files |
| Wed, February 11 2009 |
|
Allow for REP DO and BACKUP commands in Flex DO files.
|
| 530.07 Handle empty context and high card sequence |
| Wed, September 3 2008 |
|
Previously, the compiler would have faulted with a SEG ARRAY ERROR @
302941000 if the context specified in a DEFINE was empty i.e.'()'.
Further, using a CARD patch input file with sequence numbers less than
10000000 caused SYSTEM/OPAL to loop indefinitely or fault with an
MEMORY REQUEST GREATER THAN 65535 WORDS error. Both these problems
have been fixed.
|
| 530.06 FLEX compile summaries |
| Wed, July 16 2008 |
|
Similar to SUPERVISOR DEFINEs, SYSTEM/OPAL compiles of FLEX REPORTS and
SELECTS will now provide summary information after each compilation,
showing number of lines processed and length of generated code.
|
| 530.05 Changes for OPAL resequence |
| Tue, July 1 2008 |
|
Internal Metalogic change.
|
| 530.04 Permit free-format FLEX DO files |
| Wed, May 21 2008 |
|
The OPAL compiler will now better handle free-format REPORT commands
especially where REPORT block BEGIN..END is used. Previously, the
BEGIN keyword had to be present on the same line as the REP directive.
|
| 530.03 Support for AFTER context |
| Fri, February 22 2008 |
|
This change supports a new SUPERVISOR context called AFTER; please see
SUPERVISOR DNote 530.22 for more information.
|
| 530.02 Support for WHEN context |
| Mon, January 28 2008 |
|
This change supports the new SUPERVISOR context called WHEN; please see SUPERVISOR DNote 530.13 for more information.
|
| 530.01 Support for additional SUPERVISOR contexts |
| Mon, December 17 2007 |
|
This changes supports the increase in the maximum number of OPAL contexts supported by SUPERVISOR. Please see SUPERVISOR DNote 530.02 for more information.
|
| 520.05 Internal change |
| Mon, December 3 2007 |
|
Use Include/Meta
|
| 520.04 Support for DO files without continuation character |
| Fri, June 29 2007 |
|
SYSTEM/OPAL now supports the compilation of Flex DO files without the use of the '\' continuation character for multi-line SELECT and REPORT scripts. Please see FLEX DNote 520.10 for more information.
|
| 520.03 Fix syntax error for SEL- card |
| Thu, May 31 2007 |
|
Compiling FLEX DO files will now not give a syntax error when a SEL-
card is encountered.
|
| 520.02 Support for WRITE method |
| Thu, May 24 2007 |
|
This change supports the new WRITE method for OPAL string variables as described in OPAL DNote 520.64. Please refer to this note for more details.
|
| 520.01 Compile PD Context |
| Fri, May 18 2007 |
|
Slight source mods to compile SYSTEM/OPAL after OPAL patches.
|
| 510.09 support for http context |
| Fri, November 24 2006 |
|
This change adds support for the new HTTP context
|
| 510.08 Fix for Define * |
| Mon, August 28 2006 |
|
Version 510.07 broke the parsing of DEFINE - all Flex parsing and
many other Supervisor commands. This change fixes these problems.
|
| 510.07 Support for new DEFINE * |
| Thu, August 17 2006 |
|
This change allows the new DEFINE * syntax to be used.
|
| 510.06 Internal change |
| Tue, July 18 2006 |
|
Metalogic internal change.
|
| 510.05 Support REPORT blocks |
| Tue, February 28 2006 |
|
The SYSTEM/OPAL compiler will now recognise the new REPORT BEGIN code block implementation discussed in detail in FLEX DNote 510.16.
|
| 510.04 Stricter usage of auto-ENTER of OPAL defines |
| Thu, December 15 2005 |
|
The implementation described in Dnote 510.02 for the auto-ENTER of OPAL DEFINES has been made more restrictive. Previously, file-equation of the CODE file to a title other than CANDE/CODEnnnn was sufficient for SYSTEM/OPAL to compile DEFINES into the SCHEDULE; this is now not the case and either of the following conditions must also be valid:
1. The task attribute TARGET is set to 255
2. The file CODE has a title that starts with the string AUTO/ENTER
(the compiler will skip the usercode when checking)
For example, from CANDE:
COMP;PL TARGET=255
COMP AS $AUTO/ENTER
|
| 510.03 DEFINE + COMMAND handling |
| Tue, September 27 2005 |
|
SYSTEM/OPAL will now recognise and compile DEFINES whose program type is COMMAND or COM. For more information on COMMAND programs, please refer to SUPERVISOR DNote 510.40.
|
| 510.02 Automatic DEFINEs update into SCHEDULE |
| Fri, September 23 2005 |
|
The standalone OPAL compiler will now permit the automatic compilation
of all SUPERVISOR defines in a source file directly into the SCHEDULE
file. This is implemented by calling an external procedure in
SUPERVISOR which now freezes as a BYTITLE library. Previously, after
editing and test compilation, the source file would have to be manually
ENTERed from a SUPERVISOR window, MARC or ODT.
To auto-enter DEFINES into the SCHEDULE, the compiler must be executed
with the title of its CODE file set to values other than "CODE." or
"CANDE/CODEnnnn.". From CANDE, this would be achieved by:
C W OPAL AS $T #COMPILING 17647 #? ** Compiling ODTS FI ** Compiled Ok.. 15 lines, 1383 bytes code, 15 sectors -- Entering DEFINES into live SCHEDULE -- SCHEDULE AMENDED, 17 RECORDS PROCESSED, 1 COMMANDS HANDLED 1 DEFINE FOUND, 1 DEFINE COMPILED OK #ET=0.7 PT=0.1 IO=0.0
By specifying the object file using 'AS $T' and after a successful
compile, the SYSTEM/OPAL compiler will initiate an ENTER command to
compile the DEFINES in the source file into the live SCHEDULE file.
Only users that are marked as privileged (PU) or SYSTEMUSER may perform
the ENTER from an OPAL compile.
|
| 510.01 ELIMINATE LOWER CASE SWITCH |
| Mon, March 14 2005 |
|
Minor compatibility change supporting the deimplementation of the SUPERVISOR LOCASE option, as described in SUPERVISOR DNote 510.16.
|
| 500.06 FIX COMMENT HANDLING IN FLEX DO FILES |
| Thu, December 9 2004 |
|
Previously, for multi-line SELECT or REPORT scripts in FLEX DO files, any commented text following OPAL source but prior to the '\' line terminator would cause unexpected syntax errors in the SELECT or REPORT. This problem is now fixed.
|
| 500.05 FIX PROCESSOR LOOP FOR DEFINE FROM FILETITLE |
| Thu, November 25 2004 |
|
The change implemented in DNote 500.04, under certain conditions, could have caused SYSTEM/OPAL to enter a tight processor loop after encountering a SUPERVISOR 'DEFINE + ... FROM <FILETITLE>' entry in an ENTER file. This problem has been fixed. Note that DEFINE...FROM <FILETITLE> constructs are still ignored by the OPAL compiler.
|
| 500.04 ALLOW FLEX DO FILE COMPILATIONS |
| Wed, November 24 2004 |
|
This change now allows SYSTEM/OPAL to compile standalone FLEX DO scripts without having to run FLEX Inquiry. This means that the SYSTEM/OPAL compiler can now syntax check all forms of Metalogic OPAL scripts (SUPERVISOR ENTER files, FLEX rules and DO files) from one environment.
SYSTEM/OPAL recognises keywords, such as REP, REPORT, SEL and SELECT, allowing the script to syntax-checked without the need to run through FLEX. Other FLEX commands such as WFL, FILES, USAGE etc are NOT syntaxed.
If a DO file uses a PARAMETERS function, then it is possible to optionally assign default values to each variable:
PARAMETERS(FAM=A,MAXDAYS=10,MAXSEGS)
These assigned values will then be used in the compiled script to replace individual parameters. If no default is provided, SYSTEM/OPAL considers the parameter as numeric. Note that, in the current implementation, all default values must be shorter in length than the original parameter name to avoid complex substitution issues.
NEXT+ ....*....1....*....2....*....3....*....4....*....5....*....6..
00000001PARAMETER(DIR,SELECT=TRUE)
00000010WFL REMOVE LST,CDI/JOB
00000100REPORT TITLE,",",ROWSIZE,",",SEGMENTS,",",DFHHDRLENGTH
00000120SEL #SELECT#
00000200FILES #DIR#:FL,F LST
00000300REPORT HEAD "BEGIN JOB CDITEST;COPY "
00000400REPORT FOOT " NOFILE TO CDIMAGE(CD,HOSTNAME=LOCAL);END JOB"
00000500REPORT TITLE,","
00000600FILE #DIR#:FL,F CDI/JOB
00000700WFL START CDI/JOB
00000800QUIT
C W OPAL
#UPDATING
#COMPILING 40203
#?
** Compiling REPORT **
Ok..
** Compiling SELECT **
Ok..
** Compiling REPORT HEAD **
Ok..
** Compiling REPORT FOOT **
Ok..
** Compiling REPORT **
Ok..
#ET=0.6 PT=0.3 IO=0.1
The $SET LIST compiler directive can be used to obtain printed compile listings, as if OP+SETL was input. It is not currently possible to use ' FROM <filename' with SELECT or REPORT.
|
| 500.03 IMPLEMENT FLEX RULE COMPILE TESTING |
| Tue, August 31 2004 |
|
SYSTEM/OPAL may now be used to compile source files containing FLEX rules used by the FAMILYMANAGER utility. As with DEFINE in ENTER files, the stand-alone compiler searches for the keywords ZAP, RELEASE, RIP etc. to signify the start of a rule definition. This allows new FLEX rules to be checked for syntax from a non-rules usercode without requiring a RULES ENTER command.
For a rule to compile successfully, the same conditions employed by FLEX Inquiry apply i.e. there must be a message description enclosed in quotes after the rule type (this is handled as an OPAL string and is compiled), followed by a colon. The rule expression may appear on the same line. The expression MUST terminate with a semi-colon or the OPAL compiler will give a syntax error. Note
NEXT+ ....*....1....*....2....*....3....*....4....*....5....*...
00000100FORGET "XREFFILES" :"XREFFILES" ISIN TITLE;
00000200FORGET "CANDE & MAIL recovery files":
00000300 ( FILEID(TITLE,1)="CANDE" AND
00000400 FILEID(TITLE,2) HDIS {"RECV","TEXT","CODE"}) OR
00000500 ( FILEID(TITLE,1)="MAIL" AND
00000600 FILEID(TITLE,2)="RECOVERY");
COMP W OPAL
#COMPILING 54981
#?
** Compiling FORGET Rule "XREFFILES" **
Compiled Ok.. 1 lines, 29 bytes code, 1 sectors
** Compiling FORGET Rule "CANDE & MAIL recovery files" **
Compiled Ok.. 4 lines, 120 bytes code, 4 sectors
2 RULE(S) processed, 0 RULE(S) failed, 0 Errors found, 0 Warnings
#ET=0.2 PT=0.1 IO=0.0
The dollar options LIST and CODE will generate source and code listings similar to compilation of ENTER files.
|
| 500.02 SUPPORT FOR VL CONTEXT |
| Mon, July 5 2004 |
|
The VL context is now supported by SYSTEM/OPAL; this also includes any usage within the COUNT and OBJECTS functions.
|
| 500.01 SUPPORT FOR JOBQUEUE CONTEXT |
| Tue, June 29 2004 |
|
The JOBQUEUE (or SQ) context is now supported by SYSTE/OPAL; this also includes any usage within the OBJECTS and COUNT functions.
|
| 490.03 USE MCP FILERECFORMAT |
| Tue, December 16 2003 |
|
SYSTEM/OPAL now uses the MCP FILERECFORMAT entrypoint for file-handling functions instead of an older, internal mechanism.
|
| 490.02 CHECK DEFINE NAME LEQ 17 CHARACTERS |
| Tue, November 11 2003 |
|
SYSTEM/OPAL will now syntax any DEFINE name that is longer than 17 characters. Also, the logging of DEFINE heading errors will now appear in the ERRORS listing generated by the compile. Some minor formatting changes have also been made.
|
| 490.01 UPDATE VERSION FOR MCP 49.1 |
| Wed, October 22, 2003 |
| Internal Metalogic change to update version for MCP 49.1.
|
| 480.04 CHECK RECORDER MNEMONICS |
| Wed, June 25, 2003 |
| SYSTEM/OPAL will now verify all mnemonic used in RECORD statements against the 'live' list maintained by the TT REC command. Previously, mnemonic checking was not performed.
|
| 480.03 REINSTATE AND IMPROVE EDITOR DOLLAR HANDLING |
| Tue, October 22, 2002 |
| The change discussed in Dnote 480.02 had the unfortunate side-effect of causing patched OPAL sources compilation using EDITOR to fail, usually ignoring $SET/POP VOIDT cards completely. This feature has been restored and improved.
|
| 480.02 RESTRICT DOLLAR HANDLING |
| Tue, October 15, 2002 |
| This changes restricts the usage of $ options such as STRICT and ERRORLIMIT prior to an DEFINE heading i.e. they should not be used inside a DEFINE body.
|
| 480.01 CHANGE VERSION TO 48 |
| Sat, March 16, 2002 |
| Internal Metalogic changes to update version number for MPC 48.1
|
| 470.02 IMPLEMENT 'STRICT' OPTION FOR ODTS COMPILES |
| Tue, September 11, 2001 |
| This note should be read in conjunction with Supervisor Dnote 480.02. This change implements the Opal modifications required to support the Supervisor STRICTODTS option. In addition some enhancements have been made to the Stand Alone Opal Compiler - SYSTEM/OPAL as follows:-
The compiler will now recognise and action the 'STRICT' option if it is set in the heading line of an ODTSEQUENCE. This option will cause the compiler to treat the use of isolated Strings or String Expressions used as Statements as a syntax error. A typical heading line to set the options 'LIST' and 'STRICT' might be:-
TT DEFINE + ODTSEQUENCE MYTESTODTS SET LIST STRICT:
If the STRICT option is not specified the compiler will output a Warning if an isolated String or String Expression used as a Statement is encountered.
The compiler will now continue after encountering an error until the entire input file is processed or a pre-defined Error limit is reached. It will also produce a closing summary of the number of Opals compiled the number of Errors encountered and the number of Warnings issued. In addition an ERRLIST file will be generated containing the Errors and Warnings produced.
The compiler will now accept a '$' (Dollar) card image as the first line of the input file. This option card image allows the User to specify a 'global' STRICT option that will be applied to all ODTSEQUENCE Opals compiled from the file together with an overall Error Limit after which the compilation will be terminated. A typical option card might be:-
$ SET STRICT ERRORLIMIT 30
If STRICT is not specified only those ODTSEQUENCE Opals where STRICT is specified as an option on the Header line will be subjected to the new STRICT String rules, any others will merely generate Warnings if an 'Unsafe' construct is encountered. If no ERRORLIMIT is set the compilations will continue until the end of file is reached regardless of the overall Error count.
The compiler will now provide printer backup listings for errors and warnings encountered the compile of the ENTER file. OPAL also provides a summary report to the originating station indicating the number of successful and failed compiles.
|
| 470.01 FIX SYSTEM/OPAL RECORD MNEMONIC PARSING |
| Thu, April 26, 2001 |
Previously SYSTEM/OPAL, the stand alone OPAL compiler, would generate a syntax error when attempting to parse a RECORD mnemonic eg.
RECORD [TEST] ("Test Message")
The compiler will now generate a warning message in these circumstances to indicate that the mnemonic was recognised but was not validated.
When OPAL is invoked to compile code being entered via SUPERVISOR any RECORD mnemonic will be validated against the REC_FILEMAP in the usual way.
|
| 460.05 USER OBJ WHEN CHANGES |
| Tue, September 5, 2000 |
| This change supports the implementation of the new SUPERVISOR context called USER, as discussed in SUPERVISOR Dnote 460.28.
|
| 460.03 ADVISE OF ENTER REF WHEN TOO BIG |
| Wed, April 5, 2000 |
| Extending the 255 sector limit check discussed in Dnote 460.01, the OPAL compiler will now suggest that an ENTER REFER should be used for very large DEFINES. This is a SUPERVISOR command that allows the DEFINE source to be kept in an external file.
The message appears as a warning:
WARNING:Code + Source size > 255 sectors!!
WARNING:You need to use ENTER REF to enter
|
| 460.02 LOCASE ERRORS & UPDATE INCLUDES |
| Wed, October 27, 1999 |
| DEFINES that are presented to SYSTEM/OPAL in lower-case are now correctly handled. This change also supports SUPERVISOR enhancements for larger terminal screen sizes.
|
| 460.01 HANDLE CHAR REC FORMATS AND CORRECT DEFINE |
| Thur, September 30, 1999 |
| SYSTEM/OPAL will now correctly handle ENTER files with a character-based format i.e. FRAMESIZE=8 as well as FRAMESIZE=48.
Also, the summary message ld displayed for each compiled DEFINE will now show the number of sectors required for storage in the SCHEDULE file. If this value exceeds 255 sectors, SYSTEM/OPAL will give an error:
Program size greater than 255 sectors!!
This error occurs because this is the maximum size of any DEFINE held in the SCHEDULE, including original source and generated code.
|
| 440.01 CHANGES TO SUPPORT NEW OPAL/BINDLIB |
| Fri, December 5, 1997 |
| Internal Metalogic change.
|
| 400.04 CORRECT SCANNING OF OPTIONS |
| Thu, July 11, 1996 |
SYSTEM/OPAL now permits a comma delimiter in any SET options that ET appear after a DEFINE heading e.g.:
DEFINE + ODTSEQUENCE TEST(MX) SET LIST,CODE:
Previously, the above would have generated a syntax error.
|
| 400.03 IMPLEMENT OBJECT_PARSE SCANNER |
| Thu, June 29, 1995 |
| SYSTEM/OPAL now supports the compilation of newer SUPERVISOR-OPAL contexts such as LOG, LOGEOJ, MX+GOING etc. This is now possible because SYSTEM/OPAL uses the same context-scanning procedures as SUPERVISOR itself. Any future contexts added in the future will now be automatically supported by the standalone OPAL compiler.
|
| 400.02 AVOID SYNTAX WITH OBJECT_DEF PROCS |
| Fri, December 16, 1994 |
| Internal Metalogic change.
|