Version history


Version history


[See also the to-do list].

Date Version Comments
20250622 0.2d
  • Breaking change: The character used to separate foreground and background colors in style patches is now ":" (was "/").
  • Colors in CSS now accept alpha values, in the forms #rgba and #rrggbbaa.
  • .rex and .cls files are now automatically highlighted, but only when "view=highlight" is added to the URL as a query string.
  • Major rewrite of the CSS parsing algorithms (20250629).
  • Breaking change: the rx-doc-cm class has been renamed to rx-doc-comment, and rx-doc-lncm to rx-doc-comment-markdown (20250706).
  • Add support for detailed highlighting of doc-comments (20250706).
  • Add Set.Directive.SubKeyword, .EL.DIRECTIVE_SUBKEYWORD, .ALL.DIRECTIVE_KEYWORDS and rx-dskw (20220725).
  • Begin extensive refactoring to test and fix the Tree API (20250725).
  • Add support for array terms (20250803).
  • Add support for length positional patterns (20250808).
  • Add a "signature" attribute to the Code.Body class. This is an aid for compiler and transpiler writers. If a USE ARG instruction is the first instruction in the body (or the second, if this is a method body with an EXPOSE instruction), and additionally 1) the body makes no use of the ARG BIF, and 2) there are no other USE ARG, ARG, or PARSE ARG instructions in the body, then "signature" is that first USE ARG instruction. Otherwise, "signature" is .Nil (20250820).
  • Fix https://github.com/JosepMariaBlasco/rexx-parser/issues/14 (20250828).
20250427 0.2c
  • Breaking change: Continuation chars "-" and "," are now assigned a category of .EL.CONTINUATION. A new set .ALL.WHITESPACE_LIKE has been created that includes .EL.WHITESPACE and this new category.
  • Fix https://github.com/JosepMariaBlasco/rexx-parser/issues/11.
  • Update css/rgflight.css, add rgfdark.css (Rony) (20250528).
  • Add support for detailed string highlighing (20250529).
  • Add support for detailed number highlighing (20250531).
  • Add a new rexx-test1 CSS file (20250531).
  • Allow symbolic color names in CSS files (20250531).
  • Fix https://github.com/JosepMariaBlasco/rexx-parser/issues/13 (20250531).
  • Relax doc-comment requirements: now they can be placed anywhere (20250531).
  • Breaking change: Remove the compound= highlighting option. Anyone wanting homogeneus highlighting can design his own style (20250531).
  • Breaking change: Make detailed string and number highlighting mandatory, for the same reason (20250531).
  • Document string and number highlighting, and add a page showing some examples (20250531).
  • Added Related ooRexx bugs page (20250602).
  • Add --from and --to options to elements.rex. Create a /bin/tools subdirectory, and add a new cielab.cls utility and Rony Flatscher's w3c_colors.cls (20250606).
  • Substitute cielab.cls for sRGB.cls, which is more accurate (20250621).
  • CGI: Add support for .rex and .cls files (20250621).
20250421 0.2b
  • (Almost) complete early-checking of BIFs.
  • Start to write a unit test program (will document later).
  • Major refactoring of BIF early checking.
  • Add -extraletters and -emptyassignments options to rxcheck utility.
  • Update internal InternalError routine so that it raises HALT instead of SYNTAX to avoid some loops and stack exhaustion.
  • Add GenErrorText.rex utility (in bin/resources). It generates ANSI.ErrorText.cls, which provides an enhanced ANSI ErrorText routine with support for secondary messges and substitutions. Update rxchech to use this routine, and add a toggle to display an internal trace (off by default) (20250426).
  • Update --prolog option in highlight utility so that it does not emit the HTML classes (20250502).
  • Fix typo in rxcheck.rex (GitHub issue no. 10 - Thanks Geoff!) (20250508).
  • Add a "publications" section to the main documentation page (20250510).
  • Document CGI installation and CSS Paged Media usage thoroughly (20250511).
  • Move publications to a subdirectory under docs (20250512).
  • Fix error in Highlighter.cls (20250519, reported by Rony).
  • Ensure that the options arg to the Highlighter class has a 0 default value (20250520).
  • Allow specifying style patches as strings or arrays of strings when invoking the parse method of the Highlighter class (20250520).
  • Clarify the docs on how to use a style patch to modify only the background of a color combination (20250523, thanks to an observation by Rony).
  • Add experimental rgflight style (thanks, Rony!). Restrict style specifications to allow only ASCII letters, numbers, and a choice of ".", "-" and "_". Automatically detect styles used by the page and dynamically update the list of included CSS files (20250525).
  • Add --css option to the highlight utility, and "-" as a last option to select standard input, following suggestions by Rony (20250526).
20250416 0.2a
  • Add optional BIF argument checking.
  • Document the EARLYCHECK parser option.
  • Add the check utility.
  • Move BIF info to a new classfile, BIFs.cls, copy BIF arg checking information from the ANSI standard, create a new update section for ooRexx, and add optional TUTOR support.
  • Add many test cases for most BIFs.
  • Document the early check options.
  • Create the utilities page.
  • Document the RxCheck utility, move elements and highlight to the utilities page.
  • Document the early check for BIFs to also check one-letter options (20250417).
  • Early check now checks all literal whole numbers, including literal strings containing a number, and prefix expressions, to allow for negative literals. Numbers that are not required to be whole are also checked. Literal arguments to XRANGE are also checked (20250418).
  • Add "debug" toggle to rxcheck utility. Early check for D2C and D2X (20250419).
  • Add '-e' option to rxcheck (20250420).
20250215 0.2
  • First version published simultaneously in rexx.epbcn.com and GitHub.
  • Ensure that CGIs work under windows, when the Apache drive is different from the installation drive (20250222).
  • Call pandoc with Address COMMAND instead of Address PATH (20250222).
  • Enhance CGI support so that it allows a single query of the form style=dark (the default) or styke=light. This may come handy when using CSS for print: web versions may look better with style=dark, but printed versions should normally use style=light, as dark versions tend to look awful and consume too much ink (20250317).
  • Change module method syntax from "class:newmethod" to "class::newmethod", a la C++ (20250318).
  • Add WARNING.md file and modify root readme.md (20250325).
  • Raise an error when a module tries to redefine an already-defined method (thanks Jean Louis!) (20250327).
  • Refactor for inclusion in the net-oo-rexx bundle: rename main directory to rexx-parser, for consistency with GitHub; rename the main binary directory to "bin" instead of "cls"; move the "modules" and "resources" directories inside "bin"; and rename "utils" to "samples". (20250329).
  • Move "highlight.rex" and "elements.rex" to the "bin" directory so that they can be used directly after setenv (or from ooRexxShell, etc) (20250403).
  • Add references to the net-oo-rexx distribution and to ooRexxShell in the appropriate places. Fix some broken breakcrumbs (20250405).
  • Rename fractional numbers to decimal (20250406).
20250128 0.1g
  • Breaking change: .TK.xxx variables have been renamed to .EL.xxx.
  • Nomenclature change: "tokens" are renamed to "elements". A "token" is now a standard Rexx token. We still speak of "the tokenizer", though: it now returns elements instead of tokens.
  • Breaking change: Class Token renamed to Element.
  • Add the << method to the Element class.
  • Rename "utils/tokenizer.rex" to "utils/elements.rex".
20250102 0.1f
  • Breaking change: inline patches inside HTML Comments are no longer accepted in fenced code blocks. Use the new patch="styles" attribute instead.
  • Highlighting HTML, ANSI terminals, and (Lua)LaTeX.
  • Document the Highlighter class.
  • Create a new Utilitites and samples document.
  • Add --prolog and --noprolog options to highligth.rex, and a corresponding boolean prolog option to the Highlighter class.
  • Add optional support for TUTOR-flavored Unicode Y-, P-, G-, T- and U-strings.
  • Make style patches work with all the highlighter modes. Add --patch and --patchfile options to highligth.rex, and patch and patchfile attributes to fenced code blocks. Change -t and --term to -a and --ansi; add --pad.
  • Add the set of 147 HTML standard colors (see https://www.w3.org/TR/css-color-4/#named-colors), and update the style patch class so that it understands these colors.
  • Move Rexx.Highlighter to cls and rename it to Highlighter.
  • Move Style.Patch to cls and rename it to StylePatch.
  • Move Highlighter.Drivers to cls/HLDrivers and rename it to Drivers.
  • Move Process.Rexx.Fenced.Code.Blocks to cls and rename to FencedCode.
  • Move category2HTMLClass to cls and rename it to HTMLClasses.
  • Rename "token class" to "token category", and "token subclass" to "token subcategory".
  • Added "taken constant" to the glossary.
  • Document the Driver class.
  • Mutate .EL.PERIOD -> .EL.PARSE_PERIOD in parsing templates.
  • Mark assignment targets, USE ARG arguments, and PARSE target variables as "assigned".
  • Add size attribute to fenced code blocks.
20241229 0.1e
  • Initial version of the ANSI highlighter.
  • New multi-modal highligther utility program.
  • Strengthen self-integrity tests again (check highlighter/ subdir too).
  • Move highlighter software to the highlighter/ directory (from utils/).
  • Implement a highlighting driver system (see the highlighter/drivers subdirectory).
  • We provide three drivers by default: one for HTML, one for ANSI SGR terminal codes, and one for LaTex.
20241223 0.1d
  • Implement doc-comments, and extend padding to support doc-comments.
  • Start working on a User Guide and a Reference.
  • Document the Rexx.Parser and Token classes.
  • Strengthen self-integrity tests (check utils/ subdir too).
  • Extensive documentation refactoring.
  • Start working on the Terminal and LaTeX highlighters
20241217 0.1c
  • Migrate documentation to markdown and make it downloadable as part of the installation file.
  • Allow ~~~rexx blocks inside foreign blocks
  • Move root to https://rexx.epbcn.com/rexx-parser/
  • Relativize source= and patch= to the current file when processing fenced code blocks
  • Add support for .numberLines, numberWidth, startFrom and pad fenced code block options.
  • Implement a pad=n option in fenced code blocks. ::RESOURCE data will be padded to n columns.
  • Started a glossary.
20241209 0.1b
  • Add support for shebangs
  • New function and procedure call system
20241208 0.1a
  • Add support for the extraletters option
  • c/TK.CLASSIC_COMMENT/TK.STANDARD_COMMENT/
  • Create the page for the Tree API
20241206 0.1
  • Initial limited release