summaryrefslogtreecommitdiffstats
path: root/stream.c
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2016-01-15 20:21:48 -0800
committerKaz Kylheku <kaz@kylheku.com>2016-01-15 20:21:48 -0800
commitef72683bf0d5980f82d85ee0b29392755adcf1ca (patch)
tree5eca7e3e5a4177b505a1f27622b310697e3b7d1f /stream.c
parentde2c2b47f9c0858f785cafc276104377a7357630 (diff)
downloadtxr-ef72683bf0d5980f82d85ee0b29392755adcf1ca.tar.gz
txr-ef72683bf0d5980f82d85ee0b29392755adcf1ca.tar.bz2
txr-ef72683bf0d5980f82d85ee0b29392755adcf1ca.zip
New :mandatory keyword in until/last clauses.
* match.c (mandatory_k): New keyword variable. (h_coll, v_gather, v_collect): Implement :mandatory logic. (syms_init): Initialize mandatory_k. * parser.l (grammar): The UNTIL and LAST tokens must be matched similarly to collect, without consuming the closing parenthesis, allowing a list of items to be parsed between the symbol and the closure, in the NESTED state. * parser.y (gather_clause, collect_clause, elem, repeat_parts_opt, rep_parts_opt): Adjust to new until/last syntax. In the matching productions, the abstract syntax changes to incorporate the options. In the output productions, we throw an error if options are present. * txr.1: Documented :mandatory for collect, coll and gather.
Diffstat (limited to 'stream.c')
0 files changed, 0 insertions, 0 deletions