From 03ca123dfb990c5ea8dde05b6f10902e4a4019b9 Mon Sep 17 00:00:00 2001 From: dos-reis Date: Sun, 7 Jun 2009 04:39:45 +0000 Subject: * algebra/domain.spad.pamphlet (DomainTemplate): New. (FunctorData): Likewise. (functorData$DomainConstructor): Likewise. --- src/interp/metalex.lisp | 10 +++++----- src/interp/sys-constants.boot | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) (limited to 'src/interp') 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: diff --git a/src/interp/sys-constants.boot b/src/interp/sys-constants.boot index d8521b88..000b2b4b 100644 --- a/src/interp/sys-constants.boot +++ b/src/interp/sys-constants.boot @@ -737,6 +737,6 @@ $SpadReaderTag == ++ List of operator names that can be overloaded in libraries. $OperatorFunctionNames == ["**", "^", "*", "/", "rem", "quo", "mod", "div", "exquo", - "+", "-", ">", ">=", "=", "~=", "<", "<=", "~", "not", + "+", "-", ">", ">=", "=", "~=", "<", "<=", "#", "~", "not", "case", "and", "or", "<<", ">>", "/\", "\/" ] -- cgit v1.2.3