diff options
author | dos-reis <gdr@axiomatics.org> | 2011-05-15 16:56:22 +0000 |
---|---|---|
committer | dos-reis <gdr@axiomatics.org> | 2011-05-15 16:56:22 +0000 |
commit | 8cf4c7d7040078b651859fbd998f6bbf7b68127e (patch) | |
tree | 478d9f7f40133f10583a0538c8a3ee28262b023f /src/boot/ast.boot | |
parent | e3790da8fee54ede09e8126213a10da0aa555d06 (diff) | |
download | open-axiom-8cf4c7d7040078b651859fbd998f6bbf7b68127e.tar.gz |
* boot/ast.boot (shoeCompTran1): Don't indiscriminately walk CASE
forms. Translate %Namespace forms too.
* boot/parser.boot (bpApplication): Include Namespace too.
Diffstat (limited to 'src/boot/ast.boot')
-rw-r--r-- | src/boot/ast.boot | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/boot/ast.boot b/src/boot/ast.boot index 32d6af8d..2ab77036 100644 --- a/src/boot/ast.boot +++ b/src/boot/ast.boot @@ -969,6 +969,12 @@ shoeCompTran1 x == x U := first x U is "QUOTE" => x + x is ["CASE",y,:zs] => + second(x) := shoeCompTran1 y + while zs ~= nil repeat + second(first zs) := shoeCompTran1 second first zs + zs := rest zs + x x is ["L%T",l,r] => x.op := "SETQ" third(x) := shoeCompTran1 r @@ -998,6 +1004,9 @@ shoeCompTran1 x == -- literal vectors. x is ['vector,['LIST,:args]] => (x.op := 'VECTOR; x.args := args; x) x is ['vector,'NIL] => (x.op := 'VECTOR; x.args := nil; x) + x is ['%Namespace,n] => + n is "DOT" => "*PACKAGE*" + ["FIND-PACKAGE",symbolName n] x.first := shoeCompTran1 first x x.rest := shoeCompTran1 rest x x @@ -1151,6 +1160,9 @@ bfMain(auxfn,op)== ["QUOTE", op],["QUOTE",'cacheInfo]],["QUOTE", cacheVector]]] +bfNamespace x == + ['%Namespace,x] + bfNameOnly: %Thing -> %Form bfNameOnly x== x is "t" => ["T"] |