aboutsummaryrefslogtreecommitdiff
path: root/lib/qparser/idents.ml
diff options
context:
space:
mode:
authorChimrod <>2023-10-06 08:35:56 +0200
committerChimrod <>2023-10-06 08:35:56 +0200
commit97ab5c9a21166f0bffee482210d69877fd6809fa (patch)
treed1fa44000fa07631edc8924a90020f2cfe637263 /lib/qparser/idents.ml
parent40f4dbe7844725e0ab07f03f25c35f55b4699b46 (diff)
Moved qparser and syntax in the library folder
Diffstat (limited to 'lib/qparser/idents.ml')
-rw-r--r--lib/qparser/idents.ml179
1 files changed, 179 insertions, 0 deletions
diff --git a/lib/qparser/idents.ml b/lib/qparser/idents.ml
new file mode 100644
index 0000000..baf23dc
--- /dev/null
+++ b/lib/qparser/idents.ml
@@ -0,0 +1,179 @@
+open Tokens
+module T = Qsp_syntax.T
+
+let keyword_table = Hashtbl.create 53
+
+let _ =
+ List.iter
+ (fun (kwd, tok) -> Hashtbl.add keyword_table kwd tok)
+ [
+ ("ACT", ACT);
+ ("ADDLIB", KEYWORD "INCLIB");
+ ("ADDOBJ", KEYWORD "ADDOBJ");
+ ("ADD OBJ", KEYWORD "ADDOBJ");
+ ("ADDQST", KEYWORD "INCLIB");
+ ("AND", AND);
+ ("ARRCOMP", FUNCTION T.Arrcomp);
+ ("ARRPOS", FUNCTION T.Arrpos);
+ ("ARRSIZE", FUNCTION T.Arrsize)
+ (*
+ ; "BACKIMAGE", KEYWORD "BACKIMAGE"
+ ; "$BACKIMAGE", KEYWORD "BACKIMAGE"
+ ; "BCOLOR", KEYWORD "BCOLOR" *);
+ ("CLA", KEYWORD "CLA");
+ ("CLEAR", KEYWORD "CLEAR");
+ ("*CLEAR", KEYWORD "*CLEAR");
+ ("CLOSE", KEYWORD "CLOSE");
+ ("CLOSE ALL", KEYWORD "CLOSEALL");
+ ("CLR", KEYWORD "CLEAR");
+ ("*CLR", KEYWORD "*CLEAR");
+ ("CLS", KEYWORD "CLS");
+ ("CMDCLEAR", KEYWORD "CMDCLEAR");
+ ("CMDCLR", KEYWORD "CMDCLEAR");
+ ("COPYARR", KEYWORD "COPYARR");
+ ("COUNTOBJ", FUNCTION T.Countobj);
+ ("CURACTS", IDENT "CURACTS");
+ ("$CURACTS", IDENT "$CURACTS");
+ ("CURLOC", IDENT "CURLOC");
+ ("$CURLOC", IDENT "$CURLOC")
+ (*
+ ; "DEBUG", KEYWORD "DEBUG"
+*);
+ ("DELACT", KEYWORD "DELACT");
+ ("DEL ACT", KEYWORD "DELACT");
+ ("DELLIB", KEYWORD "FREELIB");
+ ("DELOBJ", KEYWORD "DELOBJ");
+ ("DEL OBJ", KEYWORD "DELOBJ");
+ ("DESC", FUNCTION T.Desc);
+ ("$DESC", FUNCTION T.Desc')
+ (*
+ ; "DISABLESCROLL", KEYWORD "DISABLESCROLL"
+ ; "DISABLESUBEX", KEYWORD "DISABLESUBEX"
+*);
+ ("DYNAMIC", KEYWORD "DYNAMIC");
+ ("DYNEVAL", FUNCTION T.Dyneval);
+ ("$DYNEVAL", FUNCTION T.Dyneval');
+ ("ELSE", ELSE);
+ ("ELSEIF", ELIF);
+ ("END", END);
+ ("EXEC", KEYWORD "EXEC");
+ ("EXIT", KEYWORD "EXIT")
+ (*
+ ; "FCOLOR", KEYWORD "FCOLOR"
+ ; "$FNAME", KEYWORD "$FNAME"
+*);
+ ("FREELIB", KEYWORD "FREELIB")
+ (*
+ ; "FSIZE", KEYWORD "FSIZE"
+*);
+ ("FUNC", FUNCTION T.Func);
+ ("$FUNC", FUNCTION T.Func');
+ ("GETOBJ", FUNCTION T.Getobj);
+ ("$GETOBJ", FUNCTION T.Getobj');
+ ("GOSUB", KEYWORD "GOSUB");
+ ("GOTO", KEYWORD "GOTO") (*
+ ; "GC", KEYWORD "GC"
+*);
+ ("GS", KEYWORD "GOSUB");
+ ("GT", KEYWORD "GOTO");
+ ("IF", IF);
+ ("IIF", FUNCTION T.Iif);
+ ("$IIF", FUNCTION T.Iif');
+ ("INCLIB", KEYWORD "INCLIB");
+ ("INPUT", FUNCTION T.Input);
+ ("$INPUT", FUNCTION T.Input');
+ ("INSTR", FUNCTION T.Instr);
+ ("ISNUM", FUNCTION T.Isnum);
+ ("ISPLAY", FUNCTION T.Isplay);
+ ("JUMP", KEYWORD "JUMP");
+ ("KILLALL", KEYWORD "KILLALL");
+ ("KILLOBJ", KEYWORD "KILLOBJ");
+ ("KILLQST", KEYWORD "FREELIB");
+ ("KILLVAR", KEYWORD "KILLVAR");
+ ("LCASE", FUNCTION T.Lcase);
+ ("$LCASE", FUNCTION T.Lcase')
+ (*
+ ; "LCOLOR", KEYWORD "LCOLOR"
+*);
+ ("LEN", FUNCTION T.Len);
+ ("LET", LET);
+ ("LOC", FUNCTION T.Loc);
+ ("MAINTXT", IDENT "MAINTXT");
+ ("$MAINTXT", IDENT "MAINTXT");
+ ("MAX", FUNCTION T.Max);
+ ("$MAX", FUNCTION T.Max');
+ ("MENU", KEYWORD "MENU");
+ ("MID", FUNCTION T.Mid);
+ ("$MID", FUNCTION T.Mid');
+ ("MIN", FUNCTION T.Min);
+ ("$MIN", FUNCTION T.Min');
+ ("MOD", MOD);
+ ("MSECSCOUNT", FUNCTION T.Msecscount);
+ ("MSG", KEYWORD "MSG");
+ ("NL", KEYWORD "NL");
+ ("*NL", KEYWORD "*NL");
+ ("NO", NO) (*
+ ; "NOSAVE", KEYWORD "NOSAVE"
+*);
+ ("OBJ", OBJ);
+ ("$ONACTSEL", IDENT "$ONACTSEL");
+ ("$ONGLOAD", IDENT "$ONGLOAD");
+ ("$ONGSAVE", IDENT "$ONGSAVE");
+ ("$ONNEWLOC", IDENT "$ONNEWLOC");
+ ("$ONOBJADD", IDENT "$ONOBJADD");
+ ("$ONOBJDEL", IDENT "$ONOBJDEL");
+ ("$ONOBJSEL", IDENT "$ONOBJSEL");
+ ("OPENGAME", KEYWORD "OPENGAME");
+ ("OPENQST", KEYWORD "OPENQST");
+ ("OR", OR);
+ ("P", KEYWORD "P");
+ ("*P", KEYWORD "*P");
+ ("PL", KEYWORD "PL");
+ ("*PL", KEYWORD "*PL");
+ ("PLAY", KEYWORD "PLAY");
+ ("QSPVER", FUNCTION T.Qspver);
+ ("$QSPVER", FUNCTION T.Qspver');
+ ("RAND", FUNCTION T.Rand);
+ ("REFINT", KEYWORD "REFINT");
+ ("REPLACE", FUNCTION T.Replace);
+ ("$REPLACE", FUNCTION T.Replace');
+ ("RGB", FUNCTION T.Rgb);
+ ("RND", FUNCTION T.Rnd);
+ ("SAVEGAME", KEYWORD "SAVEGAME");
+ ("SELACT", FUNCTION T.Selact);
+ ("$SELACT", IDENT "$SELACT");
+ ("SELOBJ", IDENT "SELOBJ");
+ ("$SELOBJ", IDENT "$SELOBJ");
+ ("SET", SET);
+ ("SETTIMER", KEYWORD "SETTIMER");
+ ("SHOWACTS", KEYWORD "SHOWACTS");
+ ("SHOWINPUT", KEYWORD "SHOWINPUT");
+ ("SHOWOBJS", KEYWORD "SHOWOBJS");
+ ("SHOWSTAT", KEYWORD "SHOWSTAT");
+ ("STATTXT", FUNCTION T.Stattxt);
+ ("$STATTXT", FUNCTION T.Stattxt');
+ ("STR", FUNCTION T.Str);
+ ("$STR", FUNCTION T.Str');
+ ("STRCOMP", FUNCTION T.Strcomp);
+ ("STRFIND", FUNCTION T.Strfind);
+ ("$STRFIND", FUNCTION T.Strfind');
+ ("STRPOS", FUNCTION T.Strpos);
+ ("TRIM", FUNCTION T.Trim);
+ ("$TRIM", FUNCTION T.Trim');
+ ("UCASE", FUNCTION T.Ucase);
+ ("$UCASE", FUNCTION T.Ucase');
+ ("UNSEL", KEYWORD "UNSELECT");
+ ("UNSELECT", KEYWORD "UNSELECT");
+ ("USEHTML", IDENT "USEHTML");
+ ("USERCOM", IDENT "USERCOM");
+ ("$USERCOM", IDENT "$USERCOM");
+ ("USER_TEXT", IDENT "USER_TEXT");
+ ("$USER_TEXT", IDENT "USER_TEXT");
+ ("USRTXT", IDENT "USER_TEXT");
+ ("$USRTXT", IDENT "USER_TEXT");
+ ("VAL", FUNCTION T.Val);
+ ("VIEW", KEYWORD "VIEW");
+ ("WAIT", KEYWORD "WAIT");
+ ("XGOTO", KEYWORD "XGOTO");
+ ("XGT", KEYWORD "XGOTO");
+ ]