aboutsummaryrefslogtreecommitdiff
path: root/src/interp/parse.boot
diff options
context:
space:
mode:
authordos-reis <gdr@axiomatics.org>2011-04-23 06:18:38 +0000
committerdos-reis <gdr@axiomatics.org>2011-04-23 06:18:38 +0000
commit91d664eb6380ea490a6d30d0230f907a613652d3 (patch)
treedd3bf796a152087d94776490a13a7ef31ed9b2bf /src/interp/parse.boot
parentb825ed51bc11564e35f84a88bbb43fbe2ac51d99 (diff)
downloadopen-axiom-91d664eb6380ea490a6d30d0230f907a613652d3.tar.gz
* lisp/core.lisp.in: Export basic types and compiler data types.
* interp/modemap.boot (knownInfo): Fix latent bug uncovered by type declarations. * boot/ast.boot: Remove type definitions. (bfIN): Handle DOT as loop variable. (bfON): Likewise. Allow a loop variable to iterator over its own tails. * boot/parser.boot (bfTyping): Simplify. (bpSimpleMapping): Fix thinko.
Diffstat (limited to 'src/interp/parse.boot')
-rw-r--r--src/interp/parse.boot18
1 files changed, 9 insertions, 9 deletions
diff --git a/src/interp/parse.boot b/src/interp/parse.boot
index 607a646a..4cdbeb82 100644
--- a/src/interp/parse.boot
+++ b/src/interp/parse.boot
@@ -87,7 +87,7 @@ parseTypeList l ==
l = nil => nil
[parseType first l, :parseTypeList rest l]
-parseTranList: %List -> %List
+parseTranList: %List %Form -> %List %Form
parseTranList l ==
atom l => parseTran l
[parseTran first l,:parseTranList rest l]
@@ -358,13 +358,13 @@ makeSimplePredicateOrNil p ==
wrapSEQExit [["%LET",g:= gensym(),p],g]
-parseWhere: %List -> %Form
+parseWhere: %List %Form -> %Form
parseWhere t ==
t isnt ["where",:l] => systemErrorHere ["parseWhere",t]
["where",:parseTranList l]
-parseSeq: %List -> %Form
+parseSeq: %List %Form -> %Form
parseSeq t ==
t isnt ["SEQ",:l] => systemErrorHere ["parseSeq",t]
l isnt [:.,["exit",:.]] =>
@@ -372,7 +372,7 @@ parseSeq t ==
transSeq parseTranList l
-transSeq: %List -> %Form
+transSeq: %List %Form -> %Form
transSeq l ==
l = nil => nil
l is [x] => decExitLevel x
@@ -412,7 +412,7 @@ transCategoryItem x ==
[x]
-superSub: (%Symbol, %List) -> %Form
+superSub: (%Symbol, %List %Form ) -> %Form
superSub(name,x) ==
for u in x repeat y:= [:y,:u]
code:=
@@ -420,22 +420,22 @@ superSub(name,x) ==
strconc('"_(",scriptTranRow first x,scriptTran rest x,'"_)")
[INTERNL(symbolName name,"$",code),:y]
-scriptTran: %List -> %String
+scriptTran: %List %Form -> %String
scriptTran x ==
x = nil => '""
strconc('";",scriptTranRow first x,scriptTran rest x)
-scriptTranRow: %List -> %String
+scriptTranRow: %List %Form -> %String
scriptTranRow x ==
x = nil => '""
strconc($quadSymbol,scriptTranRow1 rest x)
-scriptTranRow1: %List -> %String
+scriptTranRow1: %List %Form -> %String
scriptTranRow1 x ==
x = nil => '""
strconc('",",$quadSymbol,scriptTranRow1 rest x)
-parseVCONS: %List -> %Form
+parseVCONS: %List %Form -> %Form
parseVCONS l ==
["VECTOR",:parseTranList rest l]