diff options
Diffstat (limited to 'keyword.h')
-rw-r--r-- | keyword.h | 305 |
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 |