aboutsummaryrefslogtreecommitdiff
path: root/src/boot/parser.boot
diff options
context:
space:
mode:
authordos-reis <gdr@axiomatics.org>2009-08-29 10:20:34 +0000
committerdos-reis <gdr@axiomatics.org>2009-08-29 10:20:34 +0000
commit5aa380ac80b14927f93494061568c868631c58eb (patch)
treecd1a5bb3ed3491777671ceebc4e39f1cdce550d8 /src/boot/parser.boot
parentd2aa4652224e0dd476e9bbe53cea718ec3d89506 (diff)
downloadopen-axiom-5aa380ac80b14927f93494061568c868631c58eb.tar.gz
* boot/translator.boot (bpOutItem): Move to parser.boot.
* boot/parser.boot (bpExceptionTail): Fix typo. (bpOutItem): Move from translator.boot.
Diffstat (limited to 'src/boot/parser.boot')
-rw-r--r--src/boot/parser.boot15
1 files changed, 14 insertions, 1 deletions
diff --git a/src/boot/parser.boot b/src/boot/parser.boot
index bd774842..255c065b 100644
--- a/src/boot/parser.boot
+++ b/src/boot/parser.boot
@@ -741,7 +741,7 @@ bpExceptionHead() ==
bpExceptionTail() ==
bpEqKey "EXIT" and (bpAssign() or bpTrap()) and
- bpPush Exit(bpPop2(),bpPop1())
+ bpPush %Exit(bpPop2(),bpPop1())
++ Exception:
++ ExpcetionHead
@@ -1173,3 +1173,16 @@ bpCaseItem()==
(bpWhere() or bpTrap()) and
bpPush bfCaseItem (bpPop2(),bpPop1())
+
+++ Main entry point into the parser module.
+bpOutItem()==
+ $op := nil
+ bpComma() or bpTrap()
+ b:=bpPop1()
+ bpPush
+ EQCAR(b,"+LINE")=> [ b ]
+ b is ["L%T",l,r] and IDENTP l =>
+ $InteractiveMode => [["SETQ",l,r]]
+ [["DEFPARAMETER",l,r]]
+ translateToplevel(b,false)
+