aboutsummaryrefslogtreecommitdiff
path: root/src/boot
diff options
context:
space:
mode:
Diffstat (limited to 'src/boot')
-rw-r--r--src/boot/parser.boot43
-rw-r--r--src/boot/translator.boot2
2 files changed, 26 insertions, 19 deletions
diff --git a/src/boot/parser.boot b/src/boot/parser.boot
index 6e7a1efe..baf38b14 100644
--- a/src/boot/parser.boot
+++ b/src/boot/parser.boot
@@ -546,14 +546,21 @@ bpSexp1()== bpFirstTok() and
bpPush nil
bpPrimary1() ==
- bpName() or
- bpDot() or
- bpConstTok() or
- bpConstruct() or
- bpCase() or
- bpStruct() or
- bpPDefinition() or
- bpBPileDefinition()
+ bpParenthesizedApplication() or
+ bpDot() or
+ bpConstTok() or
+ bpConstruct() or
+ bpCase() or
+ bpStruct() or
+ bpPDefinition() or
+ bpBPileDefinition()
+
+bpParenthesizedApplication() ==
+ bpName() and bpAnyNo function bpArgumentList
+
+bpArgumentList() ==
+ bpPDefinition() and
+ bpPush bfApplication(bpPop2(), bpPop1())
bpPrimary()== bpFirstTok() and (bpPrimary1() or bpPrefixOperator())
@@ -572,9 +579,6 @@ bpSelector()==
and bpPush(bfElt(bpPop2(),bpPop1()))
or bpPush bfSuffixDot bpPop1() )
-bpOperator() ==
- bpPrimary() and bpAnyNo function bpSelector
-
bpApplication()==
bpPrimary() and bpAnyNo function bpSelector and
(bpApplication() and
@@ -1056,12 +1060,17 @@ bpAssignVariable()==
bpBracketConstruct function bpPatternL or bpAssignLHS()
bpAssignLHS()==
- bpName() and (bpEqKey "COLON" and (bpApplication() or bpTrap())
- and bpPush bfLocal(bpPop2(),bpPop1())
- or bpEqKey "DOT" and bpList(function bpPrimary,"DOT")
- and bpChecknull() and
- bpPush bfTuple([bpPop2(),:bpPop1()])
- or true)
+ not bpName() => false
+ bpEqKey "COLON" => -- variable declaration
+ bpApplication() or bpTrap()
+ bpPush bfLocal(bpPop2(),bpPop1())
+ bpArgumentList() and (bpEqPeek "DOT" or bpTrap())
+ bpEqKey "DOT" => -- field path
+ bpList(function bpPrimary,"DOT") and
+ bpChecknull() and
+ bpPush bfTuple([bpPop2(),:bpPop1()])
+ true
+
bpChecknull()==
a := bpPop1()
a = nil => bpTrap()
diff --git a/src/boot/translator.boot b/src/boot/translator.boot
index ff996f23..3a13d44a 100644
--- a/src/boot/translator.boot
+++ b/src/boot/translator.boot
@@ -750,8 +750,6 @@ retainFile? ext ==
Option 'no in $FilesToRetain => false
Option ext in $FilesToRetain
-TRACE retainFile?
-
compileBootHandler(progname, options, file) ==
intFile := BOOTTOCL(file, getIntermediateLispFile(file,options))
errorCount() ~= 0 => nil