aboutsummaryrefslogtreecommitdiff
path: root/src/interp/postpar.boot
diff options
context:
space:
mode:
Diffstat (limited to 'src/interp/postpar.boot')
-rw-r--r--src/interp/postpar.boot13
1 files changed, 10 insertions, 3 deletions
diff --git a/src/interp/postpar.boot b/src/interp/postpar.boot
index 07619132..17a89fe8 100644
--- a/src/interp/postpar.boot
+++ b/src/interp/postpar.boot
@@ -421,11 +421,18 @@ postSequence t ==
postSignature: %ParseTree -> %ParseForm
postSignature t ==
t isnt ["%Signature",op,sig] => systemErrorHere ["postSignature",t]
+ op :=
+ op is 0 => 'Zero
+ op is 1 => 'One
+ postAtom
+ string? op =>
+ stackWarning('"String syntax for %1b in signature is deprecated.",[op])
+ makeSymbol op
+ op
sig is ["->",:.] =>
- sig1:= postType sig
- op:= postAtom (string? op => makeSymbol op; op)
+ sig1 := postType sig
["SIGNATURE",op,:removeSuperfluousMapping killColons sig1]
- ["SIGNATURE",postAtom op,:postType ["->","constant",sig]]
+ ["SIGNATURE",op,:postType ["->","constant",sig]]
killColons: %ParseTree -> %ParseForm
killColons x ==