diff options
author | dos-reis <gdr@axiomatics.org> | 2009-07-13 22:36:51 +0000 |
---|---|---|
committer | dos-reis <gdr@axiomatics.org> | 2009-07-13 22:36:51 +0000 |
commit | c6efaa6ac903c17bd85eb51e672f80e9baa0ebc4 (patch) | |
tree | f0543ea203bea22c063a517ca7136ed10a486be1 /src/interp/parse.boot | |
parent | 361eca1c035acd57ad9f0ac1133fb641eabe122b (diff) | |
download | open-axiom-c6efaa6ac903c17bd85eb51e672f80e9baa0ebc4.tar.gz |
* interp/metalex.lisp: "break" is now a keyword.
* interp/fnewmeta.lisp (PARSE-Jump): New.
* interp/compiler.boot (compAtom): Dipatch compilation of "break"
and "iterate" to...
(compBreak): ... here
(compIterate): and here.
(jumpFromLoop): New.
(compRepeatOrCollect): Initialize $lookKind, $iterateCount, and
$breakCount. Set exit point for loop bodies with 'iterate'
expressions.
* interp/parse.boot (parseAtom): Remove.
(parseTran): Adjust.
* algebra/outform.spad.pamphlet: Tidy.
* interp/c-util.boot ($loopKind): Declare.
($repeatBodyLabel): Likewise.
($iterateCount): Likewise.
($breakCount): Likewise.
Diffstat (limited to 'src/interp/parse.boot')
-rw-r--r-- | src/interp/parse.boot | 8 |
1 files changed, 1 insertions, 7 deletions
diff --git a/src/interp/parse.boot b/src/interp/parse.boot index 2a93222d..e656c023 100644 --- a/src/interp/parse.boot +++ b/src/interp/parse.boot @@ -70,7 +70,7 @@ parseTransform x == parseTran: %ParseForm -> %Form parseTran x == - atom x => parseAtom x + atom x => x [op,:argl]:= x u := g(op) where g op == (op is ["elt",op,x] => g x; op) u="construct" => @@ -87,12 +87,6 @@ parseType t == parseTypeList l == mapInto(l, function parseType) -parseAtom: %Atom -> %Form -parseAtom x == - -- next line for compatibility with new compiler - x = "break" => parseLeave ["leave","$NoValue"] - x - parseTranList: %List -> %List parseTranList l == atom l => parseTran l |