aboutsummaryrefslogtreecommitdiff
path: root/src/interp/spad-parser.boot
diff options
context:
space:
mode:
Diffstat (limited to 'src/interp/spad-parser.boot')
-rw-r--r--src/interp/spad-parser.boot56
1 files changed, 56 insertions, 0 deletions
diff --git a/src/interp/spad-parser.boot b/src/interp/spad-parser.boot
index 99071c56..678c66d2 100644
--- a/src/interp/spad-parser.boot
+++ b/src/interp/spad-parser.boot
@@ -1131,6 +1131,62 @@ for x in ["-", "=", "*", "rem", "mod", "quo", "div", "/", "^",
--%
+MAKENEWOP(x,y) ==
+ MAKEOP(x,y,'PARSE_-NewKEY)
+
+for j in [
+ ["*",800,801],
+ ["rem",800,801],
+ ["mod",800,801],
+ ["quo",800,801],
+ ["div",800,801],
+ ["/",800,801],
+ ["**",900,901],
+ ["^",900,901],
+ ["exquo",800,801],
+ ["+",700,701],
+ ["-",700,701],
+ ["->",1001,1002],
+ ["<-",1001,1002],
+ [":",996,997],
+ ["::",996,997],
+ ["@",996,997],
+ ["pretend",995,996],
+ ["."],
+ ["!","!",1002,1001],
+ [",",110,111],
+ [";",81,82,function parseSemicolon],
+ ["<",400,400],
+ [">",400,400],
+ ["<<",400,400],
+ [">>",400,400],
+ ["<=",400,400],
+ [">=",400,400],
+ ["=",400,400],
+ ["~=",400,400],
+ ["in",400,400],
+ ["case",400,400],
+ ["add",400,120],
+ ["with",2000,400,function parseInfixWith],
+ ["has",400,400],
+ ["where",121,104],
+ ["when",112,190],
+ ["is",400,400],
+ ["isnt",400,400],
+ ["and",250,251],
+ ["or",200,201],
+ ["/\",250,251],
+ ["\/",200,201],
+ ["..","SEGMENT",401,699,function parseSegmentTail],
+ ["=>",123,103],
+ ["+->",998,121],
+ ["==","DEF",122,121],
+ ["==>","MDEF",122,121],
+ ["|",108,111],
+ [":-",125,124],
+ [":=",125,124]
+ ] repeat MAKENEWOP(j,'Led)
+
for j in [
["for",130,350,function parseLoop],
["while",130,190,function parseLoop],