diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2018-05-22 20:03:13 -0700 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2018-05-22 20:03:13 -0700 |
commit | 42afde14b0e59de2e0f938806323dad9e2e5ed06 (patch) | |
tree | 3d00929c93994345382cc10dae674704cd5ef11a /txr.1 | |
parent | a580c45de5a825165f46d95206d9ac3c2c52fcd6 (diff) | |
download | txr-42afde14b0e59de2e0f938806323dad9e2e5ed06.tar.gz txr-42afde14b0e59de2e0f938806323dad9e2e5ed06.tar.bz2 txr-42afde14b0e59de2e0f938806323dad9e2e5ed06.zip |
txr: support variable in postive match.
In the @{var mod} syntax in the pattern language, allow mod to
be a variable which contains a regex or integer, not just an
integer or regex literal.
* match.c (h_var): Check for modifier being a variable, and
resolve it.
* parser.y (modifiers): Allow a SYMTOK phrase.
* txr.1: Documented.
Diffstat (limited to 'txr.1')
-rw-r--r-- | txr.1 | 21 |
1 files changed, 21 insertions, 0 deletions
@@ -2179,6 +2179,7 @@ enclosed with the variable in braces: .mets >> @{ bident <> / regex /} .mets >> @{ bident >> ( fun >> [args ...])} .mets >> @{ bident << number } +.mets >> @{ bident << bident } .cble These specify a variable binding that is driven by a positive match derived @@ -2227,6 +2228,26 @@ This syntax is processed without consideration of what other syntax follows. A positive match may be directly followed by an unbound variable. +The +.cblk +.mets >> @{ bident << bident } +.cble +syntax allows the +.meta number +or +.meta regex +modifier to come from a variable. The variable must be bound and contain +a non-negative integer or regular expression. +For example, +.code "@{x y}" +behaves like +.code "@{x 3}" +if +.code y +is bound to the integer 3. It is an error if +.code y +is unbound. + .coSS Special Symbols @ nil and @ t Just like in the Common Lisp language, the names |