aboutsummaryrefslogtreecommitdiff
path: root/src/interp
diff options
context:
space:
mode:
authordos-reis <gdr@axiomatics.org>2010-05-10 02:32:04 +0000
committerdos-reis <gdr@axiomatics.org>2010-05-10 02:32:04 +0000
commitcc1b3ad0c3e2375bff3d0d736b988d41840dcadd (patch)
tree4d92d50afb94d5e62303733bc35b5635163f5f39 /src/interp
parentfff23d752812e2ae22bebc21d24c42bb145a916e (diff)
downloadopen-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.boot2
-rw-r--r--src/interp/cparse.boot18
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