diff options
author | dos-reis <gdr@axiomatics.org> | 2009-03-01 07:15:10 +0000 |
---|---|---|
committer | dos-reis <gdr@axiomatics.org> | 2009-03-01 07:15:10 +0000 |
commit | 18e478cfb26865634334253465dbda7e67dd8699 (patch) | |
tree | 191a334631bbde6905c7ac3fdc98eb9ea75902e3 /src/interp/fnewmeta.lisp | |
parent | c42526006076b88ff2755f33eb1defd2e455e67e (diff) | |
download | open-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.lisp | 10 |
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)) |