123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250 |
- using NTERA.Engine.Compiler;
- namespace NTERA.Engine.Runtime
- {
- public static class BaseDefinitions
- {
- public static FunctionVariable[] DefaultGlobalVariables { get; } =
- {
- new FunctionVariable("LOCAL", ValueType.Real),
- new FunctionVariable("ABL", ValueType.Real),
- new FunctionVariable("RESULT", ValueType.Real),
- new FunctionVariable("SOURCE", ValueType.Real),
- new FunctionVariable("ARG", ValueType.Real),
- new FunctionVariable("GLOBAL", ValueType.Real),
- new FunctionVariable("IS", ValueType.Real),
- new FunctionVariable("CUP", ValueType.Real),
- new FunctionVariable("CDOWN", ValueType.Real),
- new FunctionVariable("UP", ValueType.Real),
- new FunctionVariable("DOWN", ValueType.Real),
- new FunctionVariable("DOWNBASE", ValueType.Real),
- new FunctionVariable("COUNT", ValueType.Real),
- new FunctionVariable("TCVAR", ValueType.Real),
- new FunctionVariable("CDFLAG", ValueType.Real),
- new FunctionVariable("ITEMPRICE", ValueType.Real),
- new FunctionVariable("RANDDATA", ValueType.Real),
- new FunctionVariable("LINECOUNT", ValueType.Real),
- new FunctionVariable("ISTIMEOUT", ValueType.Real),
- new FunctionVariable("__INT_MAX__", ValueType.Real),
- new FunctionVariable("__INT_MIN__", ValueType.Real),
- new FunctionVariable("RAND", ValueType.Real),
- new FunctionVariable("CHARANUM", ValueType.Real),
- new FunctionVariable("TALENT", ValueType.Real),
- new FunctionVariable("FLAG", ValueType.Real),
- new FunctionVariable("TFLAG", ValueType.Real),
- new FunctionVariable("CFLAG", ValueType.Real),
- new FunctionVariable("MASTER", ValueType.Real),
- new FunctionVariable("BASE", ValueType.Real),
- new FunctionVariable("MAXBASE", ValueType.Real),
- new FunctionVariable("PALAM", ValueType.Real),
- new FunctionVariable("TEQUIP", ValueType.Real),
- new FunctionVariable("EQUIP", ValueType.Real),
- new FunctionVariable("DAY", ValueType.Real),
- new FunctionVariable("MARK", ValueType.Real),
- new FunctionVariable("PALAMLV", ValueType.Real),
- new FunctionVariable("TARGET", ValueType.Real),
- new FunctionVariable("PLAYER", ValueType.Real),
- new FunctionVariable("NOWEX", ValueType.Real),
- new FunctionVariable("EX", ValueType.Real),
- new FunctionVariable("STAIN", ValueType.Real),
- new FunctionVariable("EXP", ValueType.Real),
- new FunctionVariable("ASSIPLAY", ValueType.Real),
- new FunctionVariable("ASSI", ValueType.Real),
- new FunctionVariable("ITEM", ValueType.Real),
- new FunctionVariable("EXPLV", ValueType.Real),
- new FunctionVariable("TIME", ValueType.Real),
- new FunctionVariable("MONEY", ValueType.Real),
- new FunctionVariable("SELECTCOM", ValueType.Real),
- new FunctionVariable("PREVCOM", ValueType.Real),
- new FunctionVariable("NEXTCOM", ValueType.Real),
- new FunctionVariable("DITEMTYPE", ValueType.Real),
- new FunctionVariable("NO", ValueType.Real),
- new FunctionVariable("RELATION", ValueType.Real),
- new FunctionVariable("JUEL", ValueType.Real),
- new FunctionVariable("GOTJUEL", ValueType.Real),
- new FunctionVariable("EJAC", ValueType.Real),
- new FunctionVariable("BOUGHT", ValueType.Real),
- new FunctionVariable("ITEMSALES", ValueType.Real),
- new FunctionVariable("FORWARD", ValueType.Real), //special casing for SORTCHARA
- new FunctionVariable("BACK", ValueType.Real), //special casing for SORTCHARA
- new FunctionVariable("LEFT", ValueType.Real), //special casing for __FORMAT
- new FunctionVariable("RIGHT", ValueType.Real), //special casing for __FORMAT
- new FunctionVariable("DEBUG_MODE", ValueType.Real),
- new FunctionVariable("NOITEM", ValueType.Real),
- new FunctionVariable("A", ValueType.Real),
- new FunctionVariable("B", ValueType.Real),
- new FunctionVariable("C", ValueType.Real),
- new FunctionVariable("D", ValueType.Real),
- new FunctionVariable("E", ValueType.Real),
- new FunctionVariable("F", ValueType.Real),
- new FunctionVariable("G", ValueType.Real),
- new FunctionVariable("H", ValueType.Real),
- new FunctionVariable("I", ValueType.Real),
- new FunctionVariable("J", ValueType.Real),
- new FunctionVariable("K", ValueType.Real),
- new FunctionVariable("L", ValueType.Real),
- new FunctionVariable("M", ValueType.Real),
- new FunctionVariable("N", ValueType.Real),
- new FunctionVariable("O", ValueType.Real),
- new FunctionVariable("P", ValueType.Real),
- new FunctionVariable("Q", ValueType.Real),
- new FunctionVariable("R", ValueType.Real),
- new FunctionVariable("S", ValueType.Real),
- new FunctionVariable("T", ValueType.Real),
- new FunctionVariable("U", ValueType.Real),
- new FunctionVariable("V", ValueType.Real),
- new FunctionVariable("W", ValueType.Real),
- new FunctionVariable("X", ValueType.Real),
- new FunctionVariable("Y", ValueType.Real),
- new FunctionVariable("Z", ValueType.Real),
- new FunctionVariable("LOCALS", ValueType.String),
- new FunctionVariable("ARGS", ValueType.String),
- new FunctionVariable("RESULTS", ValueType.String),
- new FunctionVariable("CSTR", ValueType.String),
- new FunctionVariable("GLOBALS", ValueType.String),
- new FunctionVariable("NICKNAME", ValueType.String),
- new FunctionVariable("MASTERNAME", ValueType.String),
- new FunctionVariable("NAME", ValueType.String),
- new FunctionVariable("TRAINNAME", ValueType.String),
- new FunctionVariable("BASENAME", ValueType.String),
- new FunctionVariable("EQUIPNAME", ValueType.String),
- new FunctionVariable("TEQUIPNAME", ValueType.String),
- new FunctionVariable("STAINNAME", ValueType.String),
- new FunctionVariable("EXNAME", ValueType.String),
- new FunctionVariable("SOURCENAME", ValueType.String),
- new FunctionVariable("CALLNAME", ValueType.String),
- new FunctionVariable("FLAGNAME", ValueType.String),
- new FunctionVariable("TFLAGNAME", ValueType.String),
- new FunctionVariable("CFLAGNAME", ValueType.String),
- new FunctionVariable("TCVARNAME", ValueType.String),
- new FunctionVariable("STRNAME", ValueType.String),
- new FunctionVariable("TSTRNAME", ValueType.String),
- new FunctionVariable("CSTRNAME", ValueType.String),
- new FunctionVariable("SAVESTRNAME", ValueType.String),
- new FunctionVariable("CDFLAGNAME", ValueType.String),
- new FunctionVariable("GLOBALNAME", ValueType.String),
- new FunctionVariable("GLOBALSNAME", ValueType.String),
- new FunctionVariable("GAMEBASE_AUTHOR", ValueType.String),
- new FunctionVariable("GAMEBASE_INFO", ValueType.String),
- new FunctionVariable("GAMEBASE_YEAR", ValueType.String),
- new FunctionVariable("GAMEBASE_TITLE", ValueType.String),
- new FunctionVariable("GAMEBASE_GAMECODE", ValueType.String),
- new FunctionVariable("GAMEBASE_VERSION", ValueType.String),
- new FunctionVariable("GAMEBASE_ALLOWVERSION", ValueType.String),
- new FunctionVariable("GAMEBASE_DEFAULTCHARA", ValueType.String),
- new FunctionVariable("GAMEBASE_NOITEM", ValueType.String),
- new FunctionVariable("WINDOW_TITLE", ValueType.String),
- new FunctionVariable("MONEYLABEL", ValueType.String),
- new FunctionVariable("DRAWLINESTR", ValueType.String),
- new FunctionVariable("LASTLOAD_VERSION", ValueType.String),
- new FunctionVariable("LASTLOAD_NO", ValueType.String),
- new FunctionVariable("LASTLOAD_TEXT", ValueType.String),
- new FunctionVariable("SAVEDATA_TEXT", ValueType.String),
- new FunctionVariable("TSTR", ValueType.String),
- new FunctionVariable("STR", ValueType.String),
- new FunctionVariable("SAVESTR", ValueType.String),
- new FunctionVariable("ABLNAME", ValueType.String),
- new FunctionVariable("MARKNAME", ValueType.String),
- new FunctionVariable("TALENTNAME", ValueType.String),
- new FunctionVariable("ITEMNAME", ValueType.String),
- new FunctionVariable("PALAMNAME", ValueType.String),
- new FunctionVariable("EXPNAME", ValueType.String)
- };
- public static FunctionDefinition[] DefaultGlobalFunctions { get; } =
- {
- new FunctionDefinition("ABS", new[] { new FunctionParameter("a", new string[0]) }, new FunctionVariable[0], true, "_GLOBAL"),
- new FunctionDefinition("SQRT", new[] { new FunctionParameter("a", new string[0]) }, new FunctionVariable[0], true, "_GLOBAL"),
- new FunctionDefinition("SIGN", new[] { new FunctionParameter("a", new string[0]) }, new FunctionVariable[0], true, "_GLOBAL"),
- new FunctionDefinition("CSVCALLNAME", new[] { new FunctionParameter("a", new string[0]) }, new FunctionVariable[0], true, "_GLOBAL"),
- new FunctionDefinition("TOFULL", new[] { new FunctionParameter("a", new string[0]) }, new FunctionVariable[0], true, "_GLOBAL"),
- new FunctionDefinition("TOINT", new[] { new FunctionParameter("a", new string[0]) }, new FunctionVariable[0], true, "_GLOBAL"),
- new FunctionDefinition("RAND", new[] { new FunctionParameter("a", new string[0]), new FunctionParameter("b", new string[0]) }, new FunctionVariable[0], true, "_GLOBAL"),
- new FunctionDefinition("VARSIZE", new[] { new FunctionParameter("a", new string[0]), new FunctionParameter("b", new string[0]) }, new FunctionVariable[0], true, "_GLOBAL"),
- new FunctionDefinition("TOSTR", new[] { new FunctionParameter("a", new string[0]), new FunctionParameter("b", new string[0], "") }, new FunctionVariable[0], true, "_GLOBAL"),
- new FunctionDefinition("TOUPPER", new[] { new FunctionParameter("a", new string[0]) }, new FunctionVariable[0], true, "_GLOBAL"),
- new FunctionDefinition("TOLOWER", new[] { new FunctionParameter("a", new string[0]) }, new FunctionVariable[0], true, "_GLOBAL"),
- new FunctionDefinition("TOHALF", new[] { new FunctionParameter("a", new string[0]) }, new FunctionVariable[0], true, "_GLOBAL"),
- new FunctionDefinition("TOFULL", new[] { new FunctionParameter("a", new string[0]) }, new FunctionVariable[0], true, "_GLOBAL"),
- new FunctionDefinition("TOUPPER", new[] { new FunctionParameter("a", new string[0]) }, new FunctionVariable[0], true, "_GLOBAL"),
- new FunctionDefinition("ISNUMERIC", new[] { new FunctionParameter("a", new string[0]) }, new FunctionVariable[0], true, "_GLOBAL"),
- new FunctionDefinition("LOG10", new[] { new FunctionParameter("a", new string[0]) }, new FunctionVariable[0], true, "_GLOBAL"),
- new FunctionDefinition("ESCAPE", new[] { new FunctionParameter("a", new string[0]) }, new FunctionVariable[0], true, "_GLOBAL"),
- new FunctionDefinition("STRCOUNT", new[] { new FunctionParameter("input", new string[0]), new FunctionParameter("match", new string[0]) }, new FunctionVariable[0], true, "_GLOBAL"),
- new FunctionDefinition("MIN", new[] { new FunctionParameter("a", new string[0], isArrayParameter: true) }, new FunctionVariable[0], true, "_GLOBAL"),
- new FunctionDefinition("MAX", new[] { new FunctionParameter("a", new string[0], isArrayParameter: true) }, new FunctionVariable[0], true, "_GLOBAL"),
- new FunctionDefinition("POWER", new[] { new FunctionParameter("a", new string[0]), new FunctionParameter("b", new string[0]) }, new FunctionVariable[0], true, "_GLOBAL"),
- new FunctionDefinition("GETPALAMLV", new[] { new FunctionParameter("a", new string[0]), new FunctionParameter("b", new string[0]) }, new FunctionVariable[0], true, "_GLOBAL"),
- new FunctionDefinition("GETBIT", new[] { new FunctionParameter("a", new string[0]), new FunctionParameter("b", new string[0]) }, new FunctionVariable[0], true, "_GLOBAL"),
- new FunctionDefinition("GETEXPLV", new[] { new FunctionParameter("a", new string[0]), new FunctionParameter("b", new string[0]) }, new FunctionVariable[0], true, "_GLOBAL"),
- new FunctionDefinition("UNICODE", new[] { new FunctionParameter("a", new string[0]) }, new FunctionVariable[0], true, "_GLOBAL"),
- new FunctionDefinition("MATCH", new[] { new FunctionParameter("a", new string[0]), new FunctionParameter("b", new string[0]), new FunctionParameter("c", new string[0], "a"), new FunctionParameter("d", new string[0], "f") }, new FunctionVariable[0], true, "_GLOBAL"),
- new FunctionDefinition("INRANGE", new[] { new FunctionParameter("a", new string[0]), new FunctionParameter("b", new string[0]), new FunctionParameter("c", new string[0]) }, new FunctionVariable[0], true, "_GLOBAL"),
- new FunctionDefinition("HE_SHE", new[] { new FunctionParameter("a", new string[0]) }, new FunctionVariable[0], true, "_GLOBAL"),
- new FunctionDefinition("SUBSTRING", new[] { new FunctionParameter("a", new string[0]), new FunctionParameter("a", new string[0]), new FunctionParameter("a", new string[0]) }, new FunctionVariable[0], true, "_GLOBAL"),
- new FunctionDefinition("STRLENS", new[] { new FunctionParameter("a", new string[0]) }, new FunctionVariable[0], true, "_GLOBAL"),
- new FunctionDefinition("CSVNAME", new[] { new FunctionParameter("a", new string[0]) }, new FunctionVariable[0], true, "_GLOBAL"),
- new FunctionDefinition("CSVNAME", new[] { new FunctionParameter("a", new string[0]), new FunctionParameter("a", new string[0]) }, new FunctionVariable[0], true, "_GLOBAL"),
- new FunctionDefinition("CSVBASE", new[] { new FunctionParameter("a", new string[0]), new FunctionParameter("a", new string[0]) }, new FunctionVariable[0], true, "_GLOBAL"),
- new FunctionDefinition("CSVTALENT", new[] { new FunctionParameter("a", new string[0]), new FunctionParameter("a", new string[0]) }, new FunctionVariable[0], true, "_GLOBAL"),
- new FunctionDefinition("CSVCFLAG", new[] { new FunctionParameter("a", new string[0]), new FunctionParameter("a", new string[0]) }, new FunctionVariable[0], true, "_GLOBAL"),
- new FunctionDefinition("CSVRELATION", new[] { new FunctionParameter("a", new string[0]), new FunctionParameter("a", new string[0]) }, new FunctionVariable[0], true, "_GLOBAL"),
- new FunctionDefinition("CSVCSTR", new[] { new FunctionParameter("a", new string[0]), new FunctionParameter("a", new string[0]) }, new FunctionVariable[0], true, "_GLOBAL"),
- new FunctionDefinition("CSVEXP", new[] { new FunctionParameter("a", new string[0]), new FunctionParameter("a", new string[0]) }, new FunctionVariable[0], true, "_GLOBAL"),
- new FunctionDefinition("CSVABL", new[] { new FunctionParameter("a", new string[0]), new FunctionParameter("a", new string[0]) }, new FunctionVariable[0], true, "_GLOBAL"),
- new FunctionDefinition("GETNUM", new[] { new FunctionParameter("a", new string[0]), new FunctionParameter("a", new string[0]) }, new FunctionVariable[0], true, "_GLOBAL"),
- new FunctionDefinition("FINDCHARA", new[] { new FunctionParameter("a", new string[0]), new FunctionParameter("a", new string[0]), new FunctionParameter("a", new string[0]), new FunctionParameter("a", new string[0]) }, new FunctionVariable[0], true, "_GLOBAL"),
- new FunctionDefinition("LIMIT", new[] { new FunctionParameter("a", new string[0]), new FunctionParameter("a", new string[0]), new FunctionParameter("a", new string[0]) }, new FunctionVariable[0], true, "_GLOBAL"),
- new FunctionDefinition("SUMCARRAY", new[] { new FunctionParameter("a", new string[0]), new FunctionParameter("a", new string[0]), new FunctionParameter("a", new string[0]) }, new FunctionVariable[0], true, "_GLOBAL"),
- new FunctionDefinition("MAXCARRAY", new[] { new FunctionParameter("a", new string[0]), new FunctionParameter("a", new string[0]), new FunctionParameter("a", new string[0]) }, new FunctionVariable[0], true, "_GLOBAL"),
- new FunctionDefinition("SUBSTRINGU", new[] { new FunctionParameter("a", new string[0]), new FunctionParameter("a", new string[0]), new FunctionParameter("a", new string[0]) }, new FunctionVariable[0], true, "_GLOBAL"),
- new FunctionDefinition("FINDELEMENT", new[] { new FunctionParameter("a", new string[0]), new FunctionParameter("a", new string[0]), new FunctionParameter("a", new string[0]), new FunctionParameter("a", new string[0]), new FunctionParameter("a", new string[0]) }, new FunctionVariable[0], true, "_GLOBAL"),
- new FunctionDefinition("GROUPMATCH", new[] { new FunctionParameter("a", new string[0]), new FunctionParameter("a", new string[0], isArrayParameter: true) }, new FunctionVariable[0], true, "_GLOBAL"),
- new FunctionDefinition("GETTIME", new FunctionParameter[0], new FunctionVariable[0], true, "_GLOBAL"),
- new FunctionDefinition("SAVENOS", new FunctionParameter[0], new FunctionVariable[0], true, "_GLOBAL"),
- new FunctionDefinition("GETCOLOR", new FunctionParameter[0], new FunctionVariable[0], true, "_GLOBAL"),
- new FunctionDefinition("CURRENTREDRAW", new FunctionParameter[0], new FunctionVariable[0], true, "_GLOBAL"),
- new FunctionDefinition("GETFONT", new FunctionParameter[0], new FunctionVariable[0], true, "_GLOBAL"),
- new FunctionDefinition("GETMILLISECOND", new FunctionParameter[0], new FunctionVariable[0], true, "_GLOBAL")
- };
- public static Keyword[] DefaultKeywords { get; } =
- {
- new Keyword("DRAWLINEFORM", true, true),
- new Keyword("PRINTFORML", true, true),
- new Keyword("DATAFORM", true, true),
- new Keyword("PRINTFORMD", true, true),
- new Keyword("PRINTFORMDL", true, true),
- new Keyword("PRINTFORMW", true, true),
- new Keyword("PRINTFORMDW", true, true),
- new Keyword("PRINTFORMC", true, true),
- new Keyword("PRINTFORMLC", true, true),
- new Keyword("PRINTFORM", true, true),
- new Keyword("PRINTPLAINFORM", true, true),
- new Keyword("DEBUGPRINTFORM", true, true),
- new Keyword("DEBUGPRINTFORML", true, true),
- new Keyword("THROW", true, true),
- new Keyword("PRINT", true),
- new Keyword("PRINTD", true),
- new Keyword("PRINTDW", true),
- new Keyword("PRINTDL", true),
- new Keyword("PRINTW", true),
- new Keyword("PRINTV", true),
- new Keyword("PRINTL", true),
- new Keyword("PRINTLC", true),
- new Keyword("PRINTC", true),
- new Keyword("ALIGNMENT", true),
- new Keyword("CALL", true, true),
- new Keyword("CUSTOMDRAWLINE", true),
- new Keyword("GOTO", true),
- new Keyword("DEBUGPRINTL", true),
- new Keyword("REUSELASTLINE", true),
- new Keyword("PRINTPLAIN", true),
- new Keyword("PRINT_TRAIN_NAME", true),
- new Keyword("PRINT_STR", true),
- };
- }
- }
|