diff options
author | dos-reis <gdr@axiomatics.org> | 2012-05-30 01:42:38 +0000 |
---|---|---|
committer | dos-reis <gdr@axiomatics.org> | 2012-05-30 01:42:38 +0000 |
commit | 7ce6e4867ffda62855e183baceb02747408a86ca (patch) | |
tree | e56fa54ae893bb380db25b5426ae3e1babf06a39 /src/boot/parser.boot | |
parent | f41afae2b242dd56e8dbfa0b3f8cb16a6ab29ff0 (diff) | |
download | open-axiom-7ce6e4867ffda62855e183baceb02747408a86ca.tar.gz |
* boot/parser.boot: Remove references to $stack.
* boot/translator.boot: Likewise.
Diffstat (limited to 'src/boot/parser.boot')
-rw-r--r-- | src/boot/parser.boot | 58 |
1 files changed, 29 insertions, 29 deletions
diff --git a/src/boot/parser.boot b/src/boot/parser.boot index 1348aa57..90d72172 100644 --- a/src/boot/parser.boot +++ b/src/boot/parser.boot @@ -114,36 +114,36 @@ bpRequire(ps,f) == apply(f,ps,nil) or bpTrap() bpState ps == - [parserTokens ps,$stack,$bpParenCount,$bpCount] + [parserTokens ps,parserTrees ps,$bpParenCount,$bpCount] bpRestore(ps,x)== parserTokens(ps) := first x bpFirstToken ps - $stack:=second x + parserTrees(ps) := second x $bpParenCount:=third x $bpCount:=CADDDR x true bpPush(ps,x) == - $stack:=[x,:$stack] + parserTrees(ps) := [x,:parserTrees ps] bpPushId ps == - $stack:= [bfReName $ttok,:$stack] + parserTrees(ps) := [bfReName $ttok,:parserTrees ps] bpPop1 ps == - a:=first $stack - $stack:=rest $stack + a := first parserTrees ps + parserTrees(ps) := rest parserTrees ps a bpPop2 ps == - a:=second $stack - $stack.rest := CDDR $stack + a := second parserTrees ps + parserTrees(ps).rest := CDDR parserTrees ps a bpPop3 ps == - a:=third $stack - $stack.rest.rest := CDDDR $stack + a := third parserTrees ps + parserTrees(ps).rest.rest := CDDDR parserTrees ps a bpIndentParenthesized(ps,f) == @@ -201,10 +201,10 @@ bpPileBracketed(ps,f) == bpListof(ps,f,str1,g)== apply(f,ps,nil) => bpEqKey(ps,str1) and bpRequire(ps,f) => - a:=$stack - $stack:=nil + a := parserTrees ps + parserTrees(ps) := nil while bpEqKey(ps,str1) and bpRequire(ps,f) repeat nil - $stack:=[reverse! $stack,:a] + parserTrees(ps) := [reverse! parserTrees ps,:a] bpPush(ps,FUNCALL(g, [bpPop3 ps,bpPop2 ps,:bpPop1 ps])) true false @@ -214,10 +214,10 @@ bpListof(ps,f,str1,g)== bpListofFun(ps,f,h,g)== apply(f,ps,nil) => apply(h,ps,nil) and bpRequire(ps,f) => - a:=$stack - $stack:=nil + a := parserTrees ps + parserTrees(ps) := nil while apply(h,ps,nil) and bpRequire(ps,f) repeat nil - $stack:=[reverse! $stack,:a] + parserTrees(ps) := [reverse! parserTrees ps,:a] bpPush(ps,FUNCALL(g, [bpPop3 ps,bpPop2 ps,:bpPop1 ps])) true false @@ -225,20 +225,20 @@ bpListofFun(ps,f,h,g)== bpList(ps,f,str1)== apply(f,ps,nil) => bpEqKey(ps,str1) and bpRequire(ps,f) => - a:=$stack - $stack:=nil + a := parserTrees ps + parserTrees(ps) := nil while bpEqKey(ps,str1) and bpRequire(ps,f) repeat nil - $stack:=[reverse! $stack,:a] + parserTrees(ps) := [reverse! parserTrees ps,:a] bpPush(ps,[bpPop3 ps,bpPop2 ps,:bpPop1 ps]) bpPush(ps,[bpPop1 ps]) bpPush(ps,nil) bpOneOrMore(ps,f) == apply(f,ps,nil)=> - a:=$stack - $stack:=nil + a := parserTrees ps + parserTrees(ps) := nil while apply(f,ps,nil) repeat nil - $stack:=[reverse! $stack,:a] + parserTrees(ps) := [reverse! parserTrees ps,:a] bpPush(ps,[bpPop2 ps,:bpPop1 ps]) false @@ -313,9 +313,9 @@ bpRecoverTrap ps == bpPush(ps,[['"pile syntax error"]]) bpListAndRecover(ps,f)== - a := $stack + a := parserTrees ps b := nil - $stack := nil + parserTrees(ps) := nil done := false c := parserTokens ps while not done repeat @@ -347,7 +347,7 @@ bpListAndRecover(ps,f)== bpNext ps c := parserTokens ps b := [bpPop1 ps,:b] - $stack := a + parserTrees(ps) := a bpPush(ps,reverse! b) bpMoveTo(ps,n) == @@ -948,7 +948,7 @@ bpExit ps == bpDefinition ps == bpEqKey(ps,"MACRO") => - bpName ps and bpStoreName() and + bpName ps and bpStoreName ps and bpCompoundDefinitionTail(ps,function %Macro) or bpTrap() a := bpState ps @@ -963,14 +963,14 @@ bpDefinition ps == bpRestore(ps,a) false -bpStoreName()== - $op := first $stack +bpStoreName ps == + $op := first parserTrees ps $wheredefs := nil $typings := nil true bpDef ps == - bpName ps and bpStoreName() and bpDefTail(ps,function %Definition) + bpName ps and bpStoreName ps and bpDefTail(ps,function %Definition) or bpNamespace ps and bpSimpleDefinitionTail ps bpDDef ps == |