From de2624b04b91359337d4cd5e29b97720ed61df1b Mon Sep 17 00:00:00 2001 From: Kaz Kylheku Date: Sun, 9 Mar 2014 21:24:55 -0700 Subject: * parser.l: Syntactic tweak. Do not allow the "extra" constituent chars # or ^ to start the symbol name after an @. Prior to this change @^a is a "meta-symbol" whose name is "^a", but ^a is the ^ quasiquote notation followed by symbol a. After this change @^a is meta, applied to quasiquote-a. --- ChangeLog | 8 ++++++++ parser.l | 4 ++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index 1f34a010..8e548a89 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2014-03-09 Kaz Kylheku + + * parser.l: Syntactic tweak. Do not allow the "extra" + constituent chars # or ^ to start the symbol name after an @. + Prior to this change @^a is a "meta-symbol" whose name is "^a", + but ^a is the ^ quasiquote notation followed by symbol a. + After this change @^a is meta, applied to quasiquote-a. + 2014-03-09 Kaz Kylheku * lib.c (lazy_sub_str): Bugfix: "from" was mistakenly used diff --git a/parser.l b/parser.l index 1d2d5525..0e569980 100644 --- a/parser.l +++ b/parser.l @@ -164,13 +164,13 @@ ID_END [^a-zA-Z0-9!$%&*+\-<=>?\\_~/] EXTRA [#^] TOK {SYM} BT0 {BSCHR}({BSCHR}|{EXTRA})* -BT1 @({BSCHR}|{EXTRA})+ +BT1 @{BT0}+ BT2 ({BSCHR}|{EXTRA})+ BTREG (({BT0}|{BT1})?:{BT2}|({BT0}|{BT1})(:{BT2})?|:) BTKEY @?:{BT2}? BTOK {BTREG}|{BTKEY} NT0 {NSCHR}({NSCHR}|{EXTRA})* -NT1 @({NSCHR}|{EXTRA})+ +NT1 @{NT0}+ NT2 ({NSCHR}|{EXTRA})+ NTREG (({NT0}|{NT1})?:{NT2}|({NT0}|{NT1})(:{NT2})?|:) NTKEY @?:{NT2}? -- cgit v1.2.3