v1.7.0: fix syntax issues, add legacy commands#31
Merged
davem-intersys merged 1 commit intointersystems:mainfrom Mar 30, 2026
Merged
v1.7.0: fix syntax issues, add legacy commands#31davem-intersys merged 1 commit intointersystems:mainfrom
davem-intersys merged 1 commit intointersystems:mainfrom
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Overview
This PR fixes the issue found here, and adds both internal and legacy commands/built in functions that are still supported in ObjectScript. Additionally, this PR extends the
objectscript_routinegrammar to parse the compiled version of .mac files (.rtn, .inc, etc), as well as to correctly parse the old version in.rtnfiles where a.replaces a blank line.Key Changes
Scanner Behavior Changes (Core Scanner)
File: common/scanner.h
&&or||is treated as whitespace continuation, not statement termination.{is treated as whitespace continuation.//comment handling avoids premature termination in multiline command contexts.\r) awareness in termination/post-conditional logic.>= 2spacing cases in relevant branches.Added support for legacy built-in command keywords via
objectscript_built_in_command, including:MV,MVDIMZA/ZALLOCATEZD/ZDEALLOCATEZDELETE,ZERASE,ZETRAP,ZFILE,ZHTRAPZI/ZINSERT,ZITRAPZL/ZLOADZNS,ZG/ZGO,ZMOVEZOMSPACK,ZONERROR,ZOS,ZREAD,ZS/ZSAVEZSYNC,ZTA,ZTB,ZTE,ZTRANSACTION,ZU/ZUSEcommands_with_printlist:MVC/MVCRTMVP/MVPRINTKeyword handling updates
C/Closeaccepted for close command keyword.Q/QuitandZQ/ZQuitaccepted for quit keyword.ZR/ZRemovekeyword into print-statement parsing.Core Metadata Module
Core Grammar Refactor + Robustness Changes
File: core/grammar.js
rule_refs(...).DO,WRITE,KILL,LOCK,READ,OPEN,QUIT,XECUTE, and related argument parsing paths.READformat-character support expanded to include numeric literals.OPENoption parsing moved toward normalizeddevice_keywordstreatment in parser output.Testing