aboutsummaryrefslogtreecommitdiff
path: root/src/interp/parse.boot
diff options
context:
space:
mode:
Diffstat (limited to 'src/interp/parse.boot')
-rw-r--r--src/interp/parse.boot41
1 files changed, 41 insertions, 0 deletions
diff --git a/src/interp/parse.boot b/src/interp/parse.boot
index 3c0237e5..d5f07a25 100644
--- a/src/interp/parse.boot
+++ b/src/interp/parse.boot
@@ -485,3 +485,44 @@ scriptTranRow1 x ==
STRCONC(",",$quadSymbol,scriptTranRow1 rest x)
parseVCONS l == ["VECTOR",:parseTranList l]
+
+
+--% Register special parsers.
+
+for x in [["<=", :function parseLessEqual],_
+ [">", :function parseGreaterThan],_
+ [">=", :function parseGreaterEqual],_
+ ["$<=", :function parseDollarLessEqual],_
+ ["$>", :function parseDollarGreaterThan],_
+ ["$>=", :function parseDollarGreaterEqual],_
+ ["$^=", :function parseDollarNotEqual],_
+ ["^=", :function parseNotEqual],_
+ ["_:", :function parseColon],_
+ ["_:_:", :function parseCoerce],_
+ ["@", :function parseAtSign],_
+ ["and", :function parseAnd],_
+ ["CATEGORY", :function parseCategory],_
+ ["construct", :function parseConstruct],_
+ ["DEF", :function parseDEF],_
+ ["eqv", :function parseEquivalence],_
+ ["exit", :function parseExit],_
+ ["has", :function parseHas],_
+ ["IF", :function parseIf],_
+ ["implies", :function parseImplies],_
+ ["IN", :function parseIn],_
+ ["INBY", :function parseInBy],_
+ ["is", :function parseIs],_
+ ["isnt", :function parseIsnt],_
+ ["Join", :function parseJoin],_
+ ["leave", :function parseLeave],_
+ ["LET", :function parseLET],_
+ ["LETD", :function parseLETD],_
+ ["MDEF", :function parseMDEF],_
+ ["or", :function parseOr],_
+ ["pretend", :function parsePretend],_
+ ["return", :function parseReturn],_
+ ["SEGMENT", :function parseSegment],_
+ ["SEQ", :function parseSeq],_
+ ["VCONS", :function parseVCONS],_
+ ["where", :function parseWhere]] repeat
+ MAKEPROP(car x, "parseTran", cdr x)