diff options
Diffstat (limited to 'src/interp/metalex.lisp')
| -rw-r--r-- | src/interp/metalex.lisp | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/interp/metalex.lisp b/src/interp/metalex.lisp index 18183d0d..a98d681f 100644 --- a/src/interp/metalex.lisp +++ b/src/interp/metalex.lisp @@ -637,11 +637,11 @@ as keywords.") (defun-parse-token ARGUMENT-DESIGNATOR) (defun |PARSE-OperatorFunctionName| () - (let ((tok (or (match-current-token 'keyword) - (match-current-token 'gliph)))) - (when (and tok (member (token-symbol tok) |$OperatorFunctionNames|)) - (Push-Reduction '|PARSE-OperatorFunctionName| - (copy-tree (token-symbol tok))) + (let ((id (make-symbol-of (or (match-current-token 'keyword) + (match-current-token 'gliph) + (match-current-token 'special-char))))) + (when (and id (member id |$OperatorFunctionNames|)) + (Push-Reduction '|PARSE-OperatorFunctionName| id) (action (advance-token))))) ; Meta tokens fall into the following categories: |
