diff options
Diffstat (limited to 'src/interp/parse.boot')
-rw-r--r-- | src/interp/parse.boot | 41 |
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) |