aboutsummaryrefslogblamecommitdiffstats
path: root/keyword.h
blob: 7ca062d50a6b4c08e09a1f2257192e0651f9d523 (plain) (tree)
















































































































































































































































































































                                                           
#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