-
If you have installed a standalone version of the Rexx Parser, open a terminal shell and run
setenv
(this will be. ./setenv.sh
if you are running a Unix-like system). -
If you are running the Rexx Parser as part of the net-oo-rexx software bundle, please follow the installation instructions of that bundle. You can then choose to test the Parser from a terminal session (after running
setenv
), or use ooRexxShell, a powerful, Swiss army knife shell developed by Jean-Louis Faucher, which is part of the net-oo-rexx distribution; ooRexxShell includes direct support for the Parser. -
Change to the
samples
subdirectory. Runhighlight.rex
program passingsample.html
as an argument:rexx highlight.rex ./sample.html
You should see output similar to the following (line breaks have been added for readability):
<!doctype html><html lang='en'> <head> <title>Test</title> <link rel='stylesheet' href='/rexx-parser/css/rexx-dark.css'> <head> <body> Sample text <div class="highlight-rexx-dark"> <pre> <span class="rx-kw">If</span><span class="rx-ws"> </span> <span class="rx-var">a</span><span class="rx-ws"> </span> <span class="rx-op">=</span><span class="rx-ws"> </span> <span class="rx-var">b</span><span class="rx-ws"> </span> <span class="rx-kw">Then</span><span class="rx-ws"> </span> <span class="rx-var">c</span> </pre> Last line </body> </html>
-
Now look at the source of
highlight.rex
and inspectsample.html
too. You have just seen the Rexx HTML highlighter in action! -
Now, in the
/samples
directory, runelements.rex
with./hi.rex
as an argument.rexx elements ./hi.rex
You should see output similar to the following:
elements.rex run on 15 Feb 2025 at 10:54:37 Examining hi.rex... Elements marked '>' are inserted by the parser. Elements marked 'X' are ignorable. Compound symbol components are distinguished with a '->' mark. [ from : to ] >X 'value' (class) --------- --------- -- --------------------------- [ 1 1: 1 1] > ';' (a EL.END_OF_CLAUSE) [ 1 1: 1 4] 'SAY' (a EL.KEYWORD) [ 1 4: 1 5] X ' ' (a EL.WHITESPACE) [ 1 5: 1 9] 'Hi' (a EL.STRING) [ 1 9: 1 9] > ';' (a EL.END_OF_CLAUSE) [ 1 9: 1 9] > '' (a EL.IMPLICIT_EXIT) [ 1 9: 1 9] > ';' (a EL.END_OF_CLAUSE) [ 1 9: 1 9] > '' (a EL.END_OF_SOURCE) [ 1 9: 1 9] > ';' (a EL.END_OF_CLAUSE) Total: 9 elements and 0 compound symbol elements examined.
-
You can now browse the Rexx Highligther page, if you please, where you will find several new programs to run.
-
If you want to implement your own Rexx highlighter (recommended! :)), you will find a nice utility to do so in the Highligther page. You will also need some CSS files. The ones I am using in this site (which are fairly incomplete, specially the light background one!) can be found in the
css
subdirectory. -
Take a look at the HTML Highlighter page, and follow the links there, specially the features one.
-
For a beautiful highlighting example of a medium-sized (~750 lines) source program, see this program, which defines all the element categories, category sets and subcategories.
-
Take a look at the documentation about the Element API.
-
And, finally... please give feedback! Your feedback is important. Seriously! :) You can reach me at josep.maria.blasco@epbcn.com.