diff options
author | dos-reis <gdr@axiomatics.org> | 2010-05-10 02:32:04 +0000 |
---|---|---|
committer | dos-reis <gdr@axiomatics.org> | 2010-05-10 02:32:04 +0000 |
commit | cc1b3ad0c3e2375bff3d0d736b988d41840dcadd (patch) | |
tree | 4d92d50afb94d5e62303733bc35b5635163f5f39 /src/interp | |
parent | fff23d752812e2ae22bebc21d24c42bb145a916e (diff) | |
download | open-axiom-cc1b3ad0c3e2375bff3d0d736b988d41840dcadd.tar.gz |
Add lambda expression syntax to Boot.
* boot/parser.boot (bpLambda): New.
* boot/ast.boot (bfLambda): New.
* boot/tokens.boot: Add "+->" as token.
* interp/cparse.boot: Use lambda expression syntax.
* interp/c-util.boot: Likewise.
Diffstat (limited to 'src/interp')
-rw-r--r-- | src/interp/c-util.boot | 2 | ||||
-rw-r--r-- | src/interp/cparse.boot | 18 |
2 files changed, 10 insertions, 10 deletions
diff --git a/src/interp/c-util.boot b/src/interp/c-util.boot index 9a51fc2a..9325efb1 100644 --- a/src/interp/c-util.boot +++ b/src/interp/c-util.boot @@ -1506,7 +1506,7 @@ mutateToBackendCode x == $LocalVars := [y,:$LocalVars] newBindings := [y,:newBindings] res := mutateToBackendCode CDDR x - $LocalVars := REMOVE_-IF(function LAMBDA(y(), y in newBindings), + $LocalVars := REMOVE_-IF(function (y +-> y in newBindings), $LocalVars) [u,second x,:res] u = "DECLARE" => nil -- there is nothing to do convert there diff --git a/src/interp/cparse.boot b/src/interp/cparse.boot index 6f13f2dd..d8d89c95 100644 --- a/src/interp/cparse.boot +++ b/src/interp/cparse.boot @@ -204,15 +204,15 @@ npPPff f == FUNCALL f and npPush [npPop1()] npPPf f == - npSemiListing function LAMBDA(nil, npPPff f) + npSemiListing function (() +-> npPPff f) npPPg f == - npListAndRecover function LAMBDA(nil, npPPf f) + npListAndRecover function (() +-> npPPf f) and npPush pfAppend npPop1() npPP(f) == - npParened function LAMBDA(nil, npPPf f) - or npPileBracketed function LAMBDA(nil, npPPg f) and + npParened function (() +-> npPPf f) + or npPileBracketed function (() +-> npPPg f) and npPush pfEnSequence npPop1() or FUNCALL f @@ -220,11 +220,11 @@ npPCff f == FUNCALL f and npPush [npPop1()] npPCg f == - npListAndRecover function LAMBDA(nil,npPCff f) + npListAndRecover function (() +-> npPCff f) and npPush pfAppend npPop1() npPC(f) == - npPileBracketed function LAMBDA(nil, npPCg f) and + npPileBracketed function (() +-> npPCg f) and npPush pfEnSequence npPop1() or FUNCALL f @@ -615,7 +615,7 @@ npBackTrack(p1,p2,p3)== npMDEF() == npBackTrack(function npStatement,"MDEF", - function LAMBDA(nil, npMdef "MDEF")) + function (() +-> npMdef "MDEF")) npAssign()== npBackTrack(function npMDEF,"BECOMES",function npAssignment) @@ -647,7 +647,7 @@ npGives()== npBackTrack(function npExit,"GIVES",function npLambda) npDefinitionOrStatement()== npQuantified - function LAMBDA(nil, npBackTrack(function npGives, + function (() +-> npBackTrack(function npGives, "DEF",function npDef)) npVoid()== npAndOr("DO",function npStatement,function pfNovalue) @@ -724,7 +724,7 @@ npFix()== npEqKey "FIX" and npPP function npDef and npPush pfFix npPop1 () npMacro() == - npEqKey "MACRO" and npPP function LAMBDA(nil, npMdef "DEF") + npEqKey "MACRO" and npPP function (() +-> npMdef "DEF") npRule()== npEqKey "RULE" and npPP function npSingleRule |