' This is file h_2_bi_FbKwS.bas ' (C) 2010-2011 by TJF, GPLv3 ' It's part of 'h_2_bi.bas' package, see for details: ' http://www.freebasic.net/forum/viewtopic.php?t=15364&postdays=0&postorder=asc&start=0 ' checks if T is a FB keyword ' prueft, ob T ein BreeBasic-Schluesselwort ist FUNCTION checkFbKw(BYREF T AS STRING) AS INTEGER SELECT CASE AS CONST ASC(T) CASE ASC("_") SELECT CASE UCASE(T) CASE "__DATE__" : RETURN 1 CASE "__FB_ARGC__" : RETURN 1 CASE "__FB_ARGV__" : RETURN 1 CASE "__FB_BIGENDIAN__" : RETURN 1 CASE "__FB_BUILD_DATE__" : RETURN 1 CASE "__FB_CYGWIN__" : RETURN 1 CASE "__FB_DARWIN__" : RETURN 1 CASE "__FB_DEBUG__" : RETURN 1 CASE "__FB_DOS__" : RETURN 1 CASE "__FB_ERR__" : RETURN 1 CASE "__FB_FPMODE__" : RETURN 1 CASE "__FB_FPU__" : RETURN 1 CASE "__FB_FREEBSD__" : RETURN 1 CASE "__FB_LANG__" : RETURN 1 CASE "__FB_LINUX__" : RETURN 1 CASE "__FB_MAIN__" : RETURN 1 CASE "__FB_MIN_VERSION__" : RETURN 1 CASE "__FB_MT__" : RETURN 1 CASE "__FB_NETBSD__" : RETURN 1 CASE "__FB_OPENBSD__" : RETURN 1 CASE "__FB_OPTION_BYVAL__" : RETURN 1 CASE "__FB_OPTION_DYNAMIC__" : RETURN 1 CASE "__FB_OPTION_ESCAPE__" : RETURN 1 CASE "__FB_OPTION_EXPLICIT__" : RETURN 1 CASE "__FB_OPTION_GOSUB__" : RETURN 1 CASE "__FB_OPTION_PRIVATE__" : RETURN 1 CASE "__FB_OUT_DLL__" : RETURN 1 CASE "__FB_OUT_EXE__" : RETURN 1 CASE "__FB_OUT_LIB__" : RETURN 1 CASE "__FB_OUT_OBJ__" : RETURN 1 CASE "__FB_PCOS__" : RETURN 1 CASE "__FB_SIGNATURE__" : RETURN 1 CASE "__FB_SSE__" : RETURN 1 CASE "__FB_UNIX__" : RETURN 1 CASE "__FB_VECTORIZE__" : RETURN 1 CASE "__FB_VER_MAJOR__" : RETURN 1 CASE "__FB_VER_MINOR__" : RETURN 1 CASE "__FB_VER_PATCH__" : RETURN 1 CASE "__FB_VERSION__" : RETURN 1 CASE "__FB_WIN32__" : RETURN 1 CASE "__FB_XBOX__" : RETURN 1 CASE "__FILE__" : RETURN 1 CASE "__FILE_NQ__" : RETURN 1 CASE "__FUNCTION__" : RETURN 1 CASE "__FUNCTION_NQ__" : RETURN 1 CASE "__LINE__" : RETURN 1 CASE "__PATH__" : RETURN 1 CASE "__TIME__" : RETURN 1 END SELECT CASE ASC("#") SELECT CASE UCASE(T) CASE "#DEF" : RETURN 1 CASE "#ENDMACRO" : RETURN 1 CASE "#INCLIB" : RETURN 1 CASE "#LANG" : RETURN 1 CASE "#LIBPATH" : RETURN 1 CASE "#LINE" : RETURN 1 CASE "#MACRO" : RETURN 1 CASE "#PRAGMA" : RETURN 1 CASE "#PRINT" : RETURN 1 END SELECT CASE ASC("$") SELECT CASE UCASE(T) CASE "$INCLUDE" : RETURN 1 CASE "$DYNAMIC" : RETURN 1 CASE "$LANG" : RETURN 1 CASE "$STATIC" : RETURN 1 END SELECT CASE ASC("A"), ASC("a") SELECT CASE UCASE(T) CASE "ABS" : RETURN 1 CASE "ACCESS" : RETURN 1 CASE "ACOS" : RETURN 1 CASE "ADD" : RETURN 1 CASE "ALIAS" : RETURN 1 CASE "ALLOCATE" : RETURN 1 CASE "ALPHA" : RETURN 1 CASE "AND" : RETURN 1 CASE "ANDALSO" : RETURN 1 CASE "ANY" : RETURN 1 CASE "APPEND" : RETURN 1 CASE "AS" : RETURN 1 CASE "ASC" : RETURN 1 CASE "ASIN" : RETURN 1 CASE "ASM" : RETURN 1 CASE "ASSERT" : RETURN 1 CASE "ASSERTWARN" : RETURN 1 CASE "ATAN2" : RETURN 1 CASE "ATN" : RETURN 1 END SELECT CASE ASC("B"), ASC("b") SELECT CASE UCASE(T) 'CASE "BASE" : RETURN 1 CASE "BEEP" : RETURN 1 CASE "BIN" : RETURN 1 CASE "BINARY" : RETURN 1 CASE "BIT" : RETURN 1 CASE "BITRESET" : RETURN 1 CASE "BITSET" : RETURN 1 CASE "BLOAD" : RETURN 1 CASE "BSAVE" : RETURN 1 CASE "BYTE" : RETURN 1 CASE "BYREF" : RETURN 1 CASE "BYVAL" : RETURN 1 END SELECT CASE ASC("C"), ASC("c") SELECT CASE UCASE(T) CASE "CALL" : RETURN 1 CASE "CALLOCATE" : RETURN 1 'CASE "CALLS" : RETURN 1 CASE "CASE" : RETURN 1 CASE "CAST" : RETURN 1 CASE "CBYTE" : RETURN 1 CASE "CDBL" : RETURN 1 CASE "CDECL" : RETURN 1 CASE "CHAIN" : RETURN 1 CASE "CHDIR" : RETURN 1 CASE "CHR" : RETURN 1 CASE "CINT" : RETURN 1 CASE "CIRCLE" : RETURN 1 CASE "CLASS" : RETURN 1 CASE "CLEAR" : RETURN 1 CASE "CLNG" : RETURN 1 CASE "CLNGINT" : RETURN 1 CASE "CLOSE" : RETURN 1 CASE "CLS" : RETURN 1 CASE "COLOR" : RETURN 1 CASE "COM" : RETURN 1 CASE "COMMAND" : RETURN 1 CASE "COMMON" : RETURN 1 CASE "CONDBROADCAST" : RETURN 1 CASE "CONDCREATE" : RETURN 1 CASE "CONDDESTROY" : RETURN 1 CASE "CONDSIGNAL" : RETURN 1 CASE "CONDWAIT" : RETURN 1 CASE "CONS" : RETURN 1 CASE "CONST" : RETURN 1 CASE "CONSTRUCTOR" : RETURN 1 CASE "CONTINUE" : RETURN 1 CASE "COS" : RETURN 1 CASE "CPTR" : RETURN 1 CASE "CSHORT" : RETURN 1 CASE "CSIGN" : RETURN 1 CASE "CSNG" : RETURN 1 CASE "CSRLIN" : RETURN 1 CASE "CUBYTE" : RETURN 1 CASE "CUINT" : RETURN 1 CASE "CULNG" : RETURN 1 CASE "CULNGINT" : RETURN 1 CASE "CUSNG" : RETURN 1 CASE "CURDIR" : RETURN 1 CASE "CUSHORT" : RETURN 1 CASE "CUSTOM" : RETURN 1 CASE "CVD" : RETURN 1 CASE "CVI" : RETURN 1 CASE "CVL" : RETURN 1 CASE "CVLONGINT" : RETURN 1 CASE "CVS" : RETURN 1 CASE "CVSHORT" : RETURN 1 END SELECT CASE ASC("D"), ASC("d") SELECT CASE UCASE(T) CASE "DATA" : RETURN 1 CASE "DATE" : RETURN 1 CASE "DATEADD" : RETURN 1 CASE "DATEDIFF" : RETURN 1 CASE "DATEPART" : RETURN 1 CASE "DATESERIAL" : RETURN 1 CASE "DATEVALUE" : RETURN 1 CASE "DAY" : RETURN 1 CASE "DEALLOCATE" : RETURN 1 CASE "DECLARE" : RETURN 1 CASE "DEFBYTE" : RETURN 1 CASE "DEFDBL" : RETURN 1 CASE "DEFINE" : RETURN 1 CASE "DEFINED" : RETURN 1 CASE "DEFINT" : RETURN 1 CASE "DEFLNG" : RETURN 1 CASE "DEFLONGINT" : RETURN 1 CASE "DEFSHORT" : RETURN 1 CASE "DEFSNG" : RETURN 1 CASE "DEFSTR" : RETURN 1 CASE "DEFUBYTE" : RETURN 1 CASE "DEFUINT" : RETURN 1 CASE "DEFULONGINT" : RETURN 1 CASE "DEFUSHORT" : RETURN 1 CASE "DELETE" : RETURN 1 CASE "DESTRUCTOR" : RETURN 1 CASE "DIM" : RETURN 1 CASE "DIR" : RETURN 1 CASE "DO" : RETURN 1 CASE "DOUBLE" : RETURN 1 CASE "DRAW" : RETURN 1 CASE "DYLIBFREE" : RETURN 1 CASE "DYLIBLOAD" : RETURN 1 CASE "DYLIBSYMBOL" : RETURN 1 'CASE "DYNAMIC" : RETURN 1 END SELECT CASE ASC("E"), ASC("e") SELECT CASE UCASE(T) CASE "ELSE" : RETURN 1 CASE "ELSEIF" : RETURN 1 CASE "ENCODING" : RETURN 1 CASE "END" : RETURN 1 CASE "ENDIF" : RETURN 1 CASE "ENDMACRO" : RETURN 1 CASE "ENUM" : RETURN 1 CASE "ENVIRON" : RETURN 1 CASE "EOF" : RETURN 1 CASE "EQV" : RETURN 1 CASE "ERASE" : RETURN 1 CASE "ERFN" : RETURN 1 CASE "ERL" : RETURN 1 CASE "ERMN" : RETURN 1 CASE "ERR" : RETURN 1 CASE "ERROR" : RETURN 1 'CASE "ESCAPE" : RETURN 1 CASE "EXEC" : RETURN 1 CASE "EXEPATH" : RETURN 1 CASE "EXIT" : RETURN 1 CASE "EXP" : RETURN 1 'CASE "EXPLICIT" : RETURN 1 CASE "EXPORT" : RETURN 1 CASE "EXTENDS" : RETURN 1 CASE "EXTERN" : RETURN 1 END SELECT CASE ASC("F"), ASC("f") SELECT CASE UCASE(T) CASE "FIELD" : RETURN 1 CASE "FILEATTR" : RETURN 1 CASE "FILECOPY" : RETURN 1 CASE "FILEDATETIME" : RETURN 1 CASE "FILEEXISTS" : RETURN 1 CASE "FILELEN" : RETURN 1 CASE "FIX" : RETURN 1 CASE "FLIP" : RETURN 1 CASE "FOR" : RETURN 1 CASE "FORMAT" : RETURN 1 CASE "FRAC" : RETURN 1 CASE "FRE" : RETURN 1 CASE "FREEFILE" : RETURN 1 CASE "FUNCTION" : RETURN 1 END SELECT CASE ASC("G"), ASC("g") SELECT CASE UCASE(T) CASE "GET" : RETURN 1 CASE "GETJOYSTICK" : RETURN 1 CASE "GETKEY" : RETURN 1 CASE "GETMOUSE" : RETURN 1 CASE "GOSUB" : RETURN 1 CASE "GOTO" : RETURN 1 END SELECT CASE ASC("H"), ASC("h") SELECT CASE UCASE(T) CASE "HEX" : RETURN 1 CASE "HIBYTE" : RETURN 1 CASE "HIWORD" : RETURN 1 CASE "HOUR" : RETURN 1 END SELECT CASE ASC("I"), ASC("i") SELECT CASE UCASE(T) CASE "IF" : RETURN 1 CASE "IIF" : RETURN 1 CASE "IMAGECONVERTROW" : RETURN 1 CASE "IMAGECREATE" : RETURN 1 CASE "IMAGEDESTROY" : RETURN 1 CASE "IMAGEINFO" : RETURN 1 CASE "IMP" : RETURN 1 CASE "IMPORT" : RETURN 1 CASE "INCLIB" : RETURN 1 CASE "INCLUDE" : RETURN 1 CASE "INKEY" : RETURN 1 CASE "INP" : RETURN 1 CASE "INPUT" : RETURN 1 CASE "INSTR" : RETURN 1 CASE "INSTRREV" : RETURN 1 CASE "INT" : RETURN 1 CASE "INTEGER" : RETURN 1 CASE "IS" : RETURN 1 CASE "ISDATE" : RETURN 1 END SELECT CASE ASC("K"), ASC("k") SELECT CASE UCASE(T) CASE "KILL" : RETURN 1 END SELECT CASE ASC("L"), ASC("l") SELECT CASE UCASE(T) CASE "LBOUND" : RETURN 1 CASE "LCASE" : RETURN 1 CASE "LEFT" : RETURN 1 CASE "LEN" : RETURN 1 CASE "LET" : RETURN 1 CASE "LIB" : RETURN 1 CASE "LIBPATH" : RETURN 1 CASE "LINE" : RETURN 1 CASE "LOBYTE" : RETURN 1 CASE "LOC" : RETURN 1 CASE "LOCAL" : RETURN 1 CASE "LOCATE" : RETURN 1 CASE "LOCK" : RETURN 1 CASE "LOF" : RETURN 1 CASE "LOG" : RETURN 1 CASE "LONG" : RETURN 1 CASE "LONGINT" : RETURN 1 CASE "LOOP" : RETURN 1 CASE "LOWORD" : RETURN 1 CASE "LPOS" : RETURN 1 CASE "LPRINT" : RETURN 1 CASE "LPT" : RETURN 1 CASE "LSET" : RETURN 1 CASE "LTRIM" : RETURN 1 END SELECT CASE ASC("M"), ASC("m") SELECT CASE UCASE(T) CASE "MID" : RETURN 1 CASE "MINUTE" : RETURN 1 CASE "MKD" : RETURN 1 CASE "MKDIR" : RETURN 1 CASE "MKI" : RETURN 1 CASE "MKL" : RETURN 1 CASE "MKLONGINT" : RETURN 1 CASE "MKS" : RETURN 1 CASE "MKSHORT" : RETURN 1 CASE "MOD" : RETURN 1 CASE "MONTH" : RETURN 1 CASE "MONTHNAME" : RETURN 1 CASE "MULTIKEY" : RETURN 1 CASE "MUTEXCREATE" : RETURN 1 CASE "MUTEXDESTROY" : RETURN 1 CASE "MUTEXLOCK" : RETURN 1 CASE "MUTEXUNLOCK" : RETURN 1 END SELECT CASE ASC("N"), ASC("n") SELECT CASE UCASE(T) CASE "NAKED" : RETURN 1 CASE "NAME" : RETURN 1 CASE "NAMESPACE" : RETURN 1 CASE "NEW" : RETURN 1 CASE "NEXT" : RETURN 1 'CASE "NOGOSUB" : RETURN 1 'CASE "NOKEYWORD" : RETURN 1 CASE "NOT" : RETURN 1 CASE "NOW" : RETURN 1 END SELECT CASE ASC("O"), ASC("o") SELECT CASE UCASE(T) CASE "OCT" : RETURN 1 CASE "OFFSETOF" : RETURN 1 CASE "ON" : RETURN 1 CASE "ONCE" : RETURN 1 CASE "OPEN" : RETURN 1 CASE "OPERATOR" : RETURN 1 'CASE "OPTION" : RETURN 1 CASE "OR" : RETURN 1 CASE "ORELSE" : RETURN 1 CASE "OUT" : RETURN 1 CASE "OUTPUT" : RETURN 1 CASE "OVERLOAD" : RETURN 1 END SELECT CASE ASC("P"), ASC("p") SELECT CASE UCASE(T) CASE "PAINT" : RETURN 1 CASE "PALETTE" : RETURN 1 CASE "PASCAL" : RETURN 1 CASE "PCOPY" : RETURN 1 CASE "PEEK" : RETURN 1 CASE "PIPE" : RETURN 1 CASE "PMAP" : RETURN 1 CASE "POINT" : RETURN 1 CASE "POINTER" : RETURN 1 CASE "POKE" : RETURN 1 CASE "POS" : RETURN 1 CASE "POP" : RETURN 1 CASE "PRESERVE" : RETURN 1 CASE "PRESET" : RETURN 1 CASE "PRINT" : RETURN 1 CASE "PRIVATE" : RETURN 1 CASE "PROCPTR" : RETURN 1 CASE "PROPERTY" : RETURN 1 CASE "PROTECTED" : RETURN 1 CASE "PSET" : RETURN 1 CASE "PTR" : RETURN 1 CASE "PUBLIC" : RETURN 1 CASE "PUT" : RETURN 1 CASE "PUSH" : RETURN 1 END SELECT CASE ASC("R"), ASC("r") SELECT CASE UCASE(T) CASE "RANDOM" : RETURN 1 CASE "RANDOMIZE" : RETURN 1 CASE "READ" : RETURN 1 CASE "REALLOCATE" : RETURN 1 CASE "REDIM" : RETURN 1 CASE "REM" : RETURN 1 CASE "RESET" : RETURN 1 CASE "RESTORE" : RETURN 1 CASE "RESUME" : RETURN 1 CASE "RETURN" : RETURN 1 CASE "RGB" : RETURN 1 CASE "RGBA" : RETURN 1 CASE "RIGHT" : RETURN 1 CASE "RMDIR" : RETURN 1 CASE "RND" : RETURN 1 CASE "RSET" : RETURN 1 CASE "RTRIM" : RETURN 1 CASE "RUN" : RETURN 1 END SELECT CASE ASC("S"), ASC("s") SELECT CASE UCASE(T) CASE "SADD" : RETURN 1 CASE "SCOPE" : RETURN 1 CASE "SCREEN" : RETURN 1 CASE "SCREENCONTROL" : RETURN 1 CASE "SCREENCOPY" : RETURN 1 CASE "SCREENEVENT" : RETURN 1 CASE "SCREENGLPROC" : RETURN 1 CASE "SCREENINFO" : RETURN 1 CASE "SCREENLIST" : RETURN 1 CASE "SCREENLOCK" : RETURN 1 CASE "SCREENPTR" : RETURN 1 CASE "SCREENRES" : RETURN 1 CASE "SCREENSET" : RETURN 1 CASE "SCREENSYNC" : RETURN 1 CASE "SCREENUNLOCK" : RETURN 1 CASE "SCRN" : RETURN 1 CASE "SECOND" : RETURN 1 CASE "SEEK" : RETURN 1 CASE "SELECT" : RETURN 1 CASE "SETDATE" : RETURN 1 CASE "SETENVIRON" : RETURN 1 CASE "SETMOUSE" : RETURN 1 CASE "SETTIME" : RETURN 1 CASE "SGN" : RETURN 1 CASE "SHARED" : RETURN 1 CASE "SHELL" : RETURN 1 CASE "SHL" : RETURN 1 CASE "SHORT" : RETURN 1 CASE "SHR" : RETURN 1 CASE "SIN" : RETURN 1 CASE "SINGLE" : RETURN 1 CASE "SIZEOF" : RETURN 1 CASE "SLEEP" : RETURN 1 CASE "SPACE" : RETURN 1 CASE "SPC" : RETURN 1 CASE "SQR" : RETURN 1 CASE "STATIC" : RETURN 1 CASE "STDCALL" : RETURN 1 CASE "STEP" : RETURN 1 CASE "STICK" : RETURN 1 CASE "STOP" : RETURN 1 CASE "STR" : RETURN 1 CASE "STRIG" : RETURN 1 CASE "STRING" : RETURN 1 CASE "STRPTR" : RETURN 1 CASE "SUB" : RETURN 1 CASE "SWAP" : RETURN 1 CASE "SYSTEM" : RETURN 1 END SELECT CASE ASC("T"), ASC("t") SELECT CASE UCASE(T) CASE "TAB" : RETURN 1 CASE "TAN" : RETURN 1 CASE "THEN" : RETURN 1 CASE "THIS" : RETURN 1 CASE "THREADCREATE" : RETURN 1 CASE "THREADWAIT" : RETURN 1 CASE "TIME" : RETURN 1 CASE "TIMER" : RETURN 1 CASE "TIMESERIAL" : RETURN 1 CASE "TIMEVALUE" : RETURN 1 CASE "TO" : RETURN 1 CASE "TRANS" : RETURN 1 CASE "TRIM" : RETURN 1 CASE "TYPE" : RETURN 1 CASE "TYPEOF" : RETURN 1 END SELECT CASE ASC("U"), ASC("u") SELECT CASE UCASE(T) CASE "UBOUND" : RETURN 1 CASE "UBYTE" : RETURN 1 CASE "UCASE" : RETURN 1 CASE "UINTEGER" : RETURN 1 CASE "ULONG" : RETURN 1 CASE "ULONGINT" : RETURN 1 CASE "UNDEF" : RETURN 1 CASE "UNION" : RETURN 1 CASE "UNLOCK" : RETURN 1 CASE "UNSIGNED" : RETURN 1 CASE "UNTIL" : RETURN 1 CASE "USHORT" : RETURN 1 CASE "USING" : RETURN 1 END SELECT CASE ASC("V"), ASC("v") SELECT CASE UCASE(T) CASE "VA_ARG" : RETURN 1 CASE "VA_FIRST" : RETURN 1 CASE "VA_NEXT" : RETURN 1 CASE "VAL" : RETURN 1 CASE "VAL64" : RETURN 1 CASE "VALINT" : RETURN 1 CASE "VALLNG" : RETURN 1 CASE "VALUINT" : RETURN 1 CASE "VALULNG" : RETURN 1 CASE "VAR" : RETURN 1 CASE "VARPTR" : RETURN 1 CASE "VIEW" : RETURN 1 END SELECT CASE ASC("W"), ASC("w") SELECT CASE UCASE(T) CASE "WAIT" : RETURN 1 CASE "WBIN" : RETURN 1 CASE "WCHR" : RETURN 1 CASE "WEEKDAY" : RETURN 1 CASE "WEEKDAYNAME" : RETURN 1 CASE "WEND" : RETURN 1 CASE "WHEX" : RETURN 1 CASE "WHILE" : RETURN 1 CASE "WIDTH" : RETURN 1 CASE "WINDOW" : RETURN 1 CASE "WINDOWTITLE" : RETURN 1 CASE "WINPUT" : RETURN 1 CASE "WITH" : RETURN 1 CASE "WOCT" : RETURN 1 CASE "WRITE" : RETURN 1 CASE "WSPACE" : RETURN 1 CASE "WSTR" : RETURN 1 CASE "WSTRING" : RETURN 1 END SELECT CASE ASC("X"), ASC("x") SELECT CASE UCASE(T) CASE "XOR" : RETURN 1 END SELECT CASE ASC("Y"), ASC("y") SELECT CASE UCASE(T) CASE "YEAR" : RETURN 1 END SELECT CASE ASC("Z"), ASC("z") SELECT CASE UCASE(T) CASE "ZSTRING" : RETURN 1 END SELECT END SELECT : RETURN 0 END FUNCTION