diff options
Diffstat (limited to 'src/boot/parser.boot')
-rw-r--r-- | src/boot/parser.boot | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/src/boot/parser.boot b/src/boot/parser.boot index 9908a68a..9c41a07b 100644 --- a/src/boot/parser.boot +++ b/src/boot/parser.boot @@ -553,9 +553,19 @@ bpApplication()== (bpApplication() and bpPush(bfApplication(bpPop2(),bpPop1())) or true) +++ Typing: +++ SimpleType +++ Mapping +bpTyping() == + bpApplication() and + (bpEqKey "ARROW" and (bpApplication() or bpTrap()) and + bpPush Mapping(bpPop1(), bfUntuple bpPop1()) or true) or bpMapping() + +++ Tagged: +++ Name : Typing bpTagged()== bpApplication() and - (bpEqKey "COLON" and (bpApplication() or bpTrap()) and + (bpEqKey "COLON" and (bpTyping() or bpTrap()) and bpPush bfTagged(bpPop2(),bpPop1()) or true) bpExpt()== bpRightAssoc('(POWER),function bpTagged) |