aboutsummaryrefslogtreecommitdiff
path: root/src/interp/metalex.lisp
diff options
context:
space:
mode:
authordos-reis <gdr@axiomatics.org>2009-05-25 21:33:06 +0000
committerdos-reis <gdr@axiomatics.org>2009-05-25 21:33:06 +0000
commit48f85cd0f651d269dfc1c641befe1fb1e4c50486 (patch)
tree3b8da34eec93270d4696a19ac3489295952d2244 /src/interp/metalex.lisp
parente7ad9a3ff2ef291339dbb704426a8bef6ab8970a (diff)
downloadopen-axiom-48f85cd0f651d269dfc1c641befe1fb1e4c50486.tar.gz
* interp/sys-constants.boot ($OperatorFunctionNames): New.
* interp/metalex.lisp (|PARSE-OperatorFunctionName|): New. Use it. * interp/fnewmeta.lisp (|PARSE-Category|): Handle operator function names.
Diffstat (limited to 'src/interp/metalex.lisp')
-rw-r--r--src/interp/metalex.lisp7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/interp/metalex.lisp b/src/interp/metalex.lisp
index aebd2aaa..f89ebf6e 100644
--- a/src/interp/metalex.lisp
+++ b/src/interp/metalex.lisp
@@ -636,6 +636,13 @@ as keywords.")
(defun-parse-token KEYWORD)
(defun-parse-token ARGUMENT-DESIGNATOR)
+(defun |PARSE-OperatorFunctionName| ()
+ (let ((tok (match-current-token 'keyword)))
+ (when (and tok (member (token-symbol tok) |$OperatorFunctionNames|))
+ (Push-Reduction 'IDENTIFIER-TOKEN
+ (copy-tree (token-symbol tok)))
+ (action (advance-token)))))
+
; Meta tokens fall into the following categories:
;
; Number