aboutsummaryrefslogtreecommitdiff
path: root/src/interp/fnewmeta.lisp
diff options
context:
space:
mode:
authordos-reis <gdr@axiomatics.org>2009-03-01 07:15:10 +0000
committerdos-reis <gdr@axiomatics.org>2009-03-01 07:15:10 +0000
commit18e478cfb26865634334253465dbda7e67dd8699 (patch)
tree191a334631bbde6905c7ac3fdc98eb9ea75902e3 /src/interp/fnewmeta.lisp
parentc42526006076b88ff2755f33eb1defd2e455e67e (diff)
downloadopen-axiom-18e478cfb26865634334253465dbda7e67dd8699.tar.gz
* interp/compiler.boot (compTopLevel): Initialize list of
optimizable domain constructors. (processInlineRequest): New. * interp/define.boot (spadCompileOrSetq): Tidy. (mutateToNothing): New. (doIt): Use it. Add support for inline directives. * interp/fnewmeta.lisp (PARSE-Inline): New. * interp/metalex.lisp (KEYWORDS): Include 'inline'.
Diffstat (limited to 'src/interp/fnewmeta.lisp')
-rw-r--r--src/interp/fnewmeta.lisp10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/interp/fnewmeta.lisp b/src/interp/fnewmeta.lisp
index fd15745d..9867963c 100644
--- a/src/interp/fnewmeta.lisp
+++ b/src/interp/fnewmeta.lisp
@@ -1,6 +1,6 @@
;; Copyright (c) 1991-2002, The Numerical ALgorithms Group Ltd.
;; All rights reserved.
-;; Copyright (C) 2007, Gabriel Dos Reis.
+;; Copyright (C) 2007-2009, Gabriel Dos Reis.
;; All rights reserved.
;;
;; Redistribution and use in source and binary forms, with or without
@@ -454,6 +454,14 @@
(CONS '|import|
(CONS (POP-STACK-2) (APPEND (POP-STACK-1) NIL))))))
+;; domain inlining. Same syntax as import directive; except
+;; deliberate restriction on naming one type at a time.
+;; -- gdr, 2009-02-28.
+(DEFUN |PARSE-Inline| ()
+ (AND (MATCH-ADVANCE-STRING "inline")
+ (MUST (|PARSE-Expr| 1000))
+ (PUSH-REDUCTION '|PARSE-Inline|
+ (CONS '|%Inline| (CONS (POP-STACK-1) NIL)))))
(DEFUN |PARSE-Infix| ()
(AND (PUSH-REDUCTION '|PARSE-Infix| (CURRENT-SYMBOL))