aboutsummaryrefslogtreecommitdiffstats
path: root/keyword.h
diff options
context:
space:
mode:
Diffstat (limited to 'keyword.h')
-rw-r--r--keyword.h305
1 files changed, 305 insertions, 0 deletions
diff --git a/keyword.h b/keyword.h
new file mode 100644
index 0000000..7ca062d
--- /dev/null
+++ b/keyword.h
@@ -0,0 +1,305 @@
+#ifndef INCLUDE_BLASSIC_KEYWORD_H
+#define INCLUDE_BLASSIC_KEYWORD_H
+
+// keyword.h
+// Revision 9-jan-2005
+
+#include "blassic.h"
+
+const BlCode
+ keyColon= ':',
+ keyPlus= '+',
+ keyMinus= '-',
+ keyMult= '*',
+ keyDiv= '/',
+ keyDivInt= '\\',
+ keyEqual= '=',
+ keyMinor= '<',
+ keyGreater= '>',
+ keyOpenPar= '(',
+ keyClosePar= ')',
+ keyComma= ',',
+ keySharp= '#',
+ keyPower= '^',
+
+ keyEND= 0x0101,
+ keyLIST= 0x0102,
+ keyREM= 0x0103,
+ keyLOAD= 0x0104,
+ keySAVE= 0x0105,
+ keyNEW= 0x0106,
+ keyEXIT= 0x0107,
+ keyRUN= 0x0108,
+ keyPRINT= 0x0109,
+ keyFOR= 0x010A,
+ keyNEXT= 0x010B,
+ keyTO= 0x010C,
+ keySTEP= 0x010D,
+ keyIF= 0x010E,
+ keyTHEN= 0x010F,
+ keyELSE= 0x0110,
+ keyTRON= 0x0111,
+ keyTROFF= 0x0112,
+ keyLET= 0x0113,
+ keyGOTO= 0x0114,
+ keySTOP= 0x0115,
+ keyCONT= 0x0116,
+ keyCLEAR= 0x0117,
+ keyGOSUB= 0x0118,
+ keyRETURN= 0x0119,
+ keyPOKE= 0x011A,
+ keyDATA= 0x011B,
+ keyREAD= 0x011C,
+ keyRESTORE= 0x011D,
+ keyINPUT= 0x011E,
+ keyLINE= 0x011F,
+ keyRANDOMIZE= 0x0120,
+ keyPLEASE= 0x0121,
+ keyAUTO= 0x0122,
+ keyDIM= 0x0123,
+ keySYSTEM= 0x0124,
+ keyON= 0x0125,
+ keyERROR= 0x0126,
+ keyOPEN= 0x0127,
+ keyCLOSE= 0x0128,
+ keyOUTPUT= 0x0129,
+ keyAS= 0x012A,
+ keyLOCATE= 0x012B,
+ keyCLS= 0x012C,
+ keyAPPEND= 0x012D,
+ keyWRITE= 0x012E,
+ keyMODE= 0x012F,
+ keyMOVE= 0x0130,
+ keyCOLOR= 0x0131,
+ keyGET= 0x0132,
+ keyLABEL= 0x0133,
+ keyDELIMITER= 0x0134,
+ keyREPEAT= 0x0135,
+ keyUNTIL= 0x0136,
+ keyWHILE= 0x0137,
+ keyWEND= 0x0138,
+ keyPLOT= 0x0139,
+ keyPOPEN= 0x013A,
+ keyRESUME= 0x013B,
+ keyDELETE= 0x013C,
+ keyLOCAL= 0x013D,
+ keyRANDOM= 0x013E,
+ keyPUT= 0x013F,
+ keyFIELD= 0x0140,
+ keyLSET= 0x0141,
+ keyRSET= 0x0142,
+ keySOCKET= 0x0143,
+ keyDRAW= 0x0144,
+ keyDEF= 0x0145,
+ keyFN= 0x0146,
+ keyERASE= 0x0147,
+ keySWAP= 0x0148,
+ keySYMBOL= 0x0149,
+ keyZONE= 0x014A,
+ keyPOP= 0x014B,
+ keyNAME= 0x014C,
+ keyKILL= 0x014D,
+ keyFILES= 0x014E,
+ keyPAPER= 0x014F,
+ keyPEN= 0x0150,
+ keySHELL= 0x0151,
+ keyMERGE= 0x0152,
+ keyCHDIR= 0x0153,
+ keyMKDIR= 0x0154,
+ keyRMDIR= 0x0155,
+ keyBREAK= 0x0156,
+ keySYNCHRONIZE= 0x0157,
+ keyPAUSE= 0x0158,
+ keyCHAIN= 0x0159,
+ keySTR= 0x015A,
+ keyREAL= 0x015B,
+ keyENVIRON= 0x015C,
+ keyEDIT= 0x015D,
+ keyDRAWR= 0x015E,
+ keyPLOTR= 0x015F,
+ keyMOVER= 0x0160,
+ keyPOKE16= 0x0161,
+ keyPOKE32= 0x0162,
+ keyRENUM= 0x0163,
+ keyCIRCLE= 0x0164,
+ keyMASK= 0x0165,
+ keyWINDOW= 0x0166,
+ keyGRAPHICS= 0x0167,
+ keyAFTER= 0x0168,
+ keyBEEP= 0x0169,
+ keyDEFINT= 0x016A,
+ keyDEFSTR= 0x016B,
+ keyDEFREAL= 0x016C,
+ keyDEFSNG= 0x016D,
+ keyDEFDBL= 0x016E,
+ keyINK= 0x016F,
+ keySET_TITLE= 0x0170,
+ keyTAG= 0x0171,
+ keyTAGOFF= 0x0172,
+ keyORIGIN= 0x0173,
+ keyDEG= 0x0174,
+ keyRAD= 0x0175,
+ keyINVERSE= 0x0176,
+ keyIF_DEBUG= 0x0177,
+ keyLPRINT= 0x0178,
+ keyLLIST= 0x0179,
+ keyWIDTH= 0x017A,
+ keyBRIGHT= 0x017B,
+ keyBINARY= 0x017C,
+ keyDRAWARC= 0x017D,
+ keyPULL= 0x017E,
+ keyPAINT= 0x017F,
+ keyFREE_MEMORY= 0x0180,
+ keySCROLL= 0x0181,
+ keyZX_PLOT= 0x0182,
+ keyZX_UNPLOT= 0x0183,
+
+ keyMID_S= 0x0201,
+ keyLEFT_S= 0x0202,
+ keyRIGHT_S= 0x0203,
+ keyCHR_S= 0x0204,
+ keyENVIRON_S= 0x0205,
+ keySTRING_S= 0x0206,
+ keyOSFAMILY_S= 0x0207,
+ keyHEX_S= 0x0208,
+ keySPACE_S= 0x0209,
+ keyUPPER_S= 0x020A,
+ keyLOWER_S= 0x020B,
+ keySTR_S= 0x020C,
+ keyOCT_S= 0x020D,
+ keyBIN_S= 0x020E,
+ keyINKEY_S= 0x020F,
+ keyPROGRAMARG_S= 0x0210,
+ keyDATE_S= 0x0211,
+ keyTIME_S= 0x0212,
+ keyINPUT_S= 0x0213,
+ keyMKI_S= 0x0214,
+ keyMKS_S= 0x0215,
+ keyMKD_S= 0x0216,
+ keyMKL_S= 0x0217,
+ keyTRIM_S= 0x0218,
+ keyLTRIM_S= 0x0219,
+ keyRTRIM_S= 0x021A,
+ keyOSNAME_S= 0x021B,
+ keyFINDFIRST_S= 0x021C,
+ keyFINDNEXT_S= 0x021D,
+ keyCOPYCHR_S= 0x021E,
+ keySTRERR_S= 0x021F,
+ keyDEC_S= 0x0220,
+ keyVAL_S= 0x0221,
+ keySCREEN_S= 0x0222,
+ keyMKSMBF_S= 0x0223,
+ keyMKDMBF_S= 0x0224,
+ keyREGEXP_REPLACE_S= 0x0225,
+ keyUCASE_S= 0x0226,
+ keyLCASE_S= 0x0227,
+
+ keyASC= 0x0301,
+ keyLEN= 0x0302,
+ keyPEEK= 0x0303,
+ keyPROGRAMPTR= 0x0304,
+ keyRND= 0x0305,
+ keyINT= 0x0306,
+ keySIN= 0x0307,
+ keyCOS= 0x0308,
+ keyPI= 0x0309,
+ keyTAN= 0x030A,
+ keySQR= 0x030B,
+ keyASIN= 0x030C,
+ keyACOS= 0x030D,
+ keyINSTR= 0x030E,
+ keyATAN= 0x030F,
+ keyABS= 0x0310,
+ keyUSR= 0x0311,
+ keyVAL= 0x0312,
+ keyEOF= 0x0313,
+ keyVARPTR= 0x0314,
+ keySYSVARPTR= 0x0315,
+ keySGN= 0x0316,
+ keyLOG= 0x0317,
+ keyLOG10= 0x0318,
+ keyEXP= 0x0319,
+ keyTIME= 0x031A,
+ keyERR= 0x031B,
+ keyERL= 0x031C,
+ keyCVI= 0x031D,
+ keyCVS= 0x031E,
+ keyCVD= 0x031F,
+ keyCVL= 0x0320,
+ keyMIN= 0x0321,
+ keyMAX= 0x0322,
+ keyCINT= 0x0323,
+ keyFIX= 0x0324,
+ keyXMOUSE= 0x0325,
+ keyYMOUSE= 0x0326,
+ keyXPOS= 0x0327,
+ keyYPOS= 0x0328,
+ keyPEEK16= 0x0329,
+ keyPEEK32= 0x032A,
+ keyRINSTR= 0x032B,
+ keyFIND_FIRST_OF= 0x032C,
+ keyFIND_LAST_OF= 0x032D,
+ keyFIND_FIRST_NOT_OF= 0x032E,
+ keyFIND_LAST_NOT_OF= 0x032F,
+ keySINH= 0x0330,
+ keyCOSH= 0x0331,
+ keyTANH= 0x0332,
+ keyASINH= 0x0333,
+ keyACOSH= 0x0334,
+ keyATANH= 0x0335,
+ keyATAN2= 0x0336,
+ keyTEST= 0x0337,
+ keyTESTR= 0x0338,
+ keyPOS= 0x0339,
+ keyVPOS= 0x033A,
+ keyLOF= 0x033B,
+ keyFREEFILE= 0x033C,
+ keyINKEY= 0x033D,
+ keyROUND= 0x033E,
+ keyCVSMBF= 0x033F,
+ keyCVDMBF= 0x0340,
+ keyREGEXP_INSTR= 0x0341,
+ keyALLOC_MEMORY= 0x0342,
+ keyLOC= 0x0343,
+
+ keyNOT= 0x0401,
+ keyOR= 0x0402,
+ keyAND= 0x0403,
+ keyTAB= 0x0404,
+ keySPC= 0x0405,
+ keyAT= 0x0406,
+ keyXOR= 0x0407,
+ keyMOD= 0x0408,
+ keyUSING= 0x0409,
+
+ keyIDENTIFIER= 0x0601, // Not in program.
+ keyNUMBER= 0x0602, // Not in program.
+ keySTRING= 0x0603, // Not in program.
+ keyDISTINCT= 0x0604,
+ keyMINOREQUAL= 0x0605,
+ keyGREATEREQUAL= 0x0606,
+ keyINTEGER= 0x0607, // Not in program.
+ keyEQUALMINOR= 0x0608,
+ keyEQUALGREATER= 0x0609,
+ keyGREATERMINOR= 0x060A,
+ keyENDLINE= 0x06FF, // Not in program.
+
+ keyMAX_CODE_USED= 0x06FF;
+
+
+inline bool iskey (unsigned char c)
+{
+ // Por ahora.
+ return c == '\x01' || c == '\x02' || c == '\x03' ||
+ c == '\x04' || c == '\x06';
+}
+
+const BlChar INTEGER_PREFIX= '\x05';
+
+void excludekeyword (const std::string & str);
+BlCode keyword (const std::string & str);
+std::string decodekeyword (BlCode s);
+
+#endif
+
+// Fin de keyword.h
Un proyecto texto-plano.xyz