kolibrios-fun/programs/develop/c--/trunk/enums.h--
Yogev Ezra 02b76505a6 Add sources of "C--"'like compiler written in C--.
git-svn-id: svn://kolibrios.org@1846 a494cfbc-eb01-0410-851d-a64ba20cac60
2011-02-05 16:39:49 +00:00

112 lines
3.9 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

//===== ƒ«®¡ «ì­ë¥ ª®­áâ ­âë
#define SHOW "WRITESTR"
// ----
#define STD_INPUT_HANDLE -10
#define STD_OUTPUT_HANDLE -11
#define STD_ERROR_HANDLE -12
#define CREATE_NEW 1
#define CREATE_ALWAYS 2
#define OPEN_EXISTING 3
#define OPEN_ALWAYS 4
#define TRUNCATE_EXISTING 5
// ----
#define GENERIC_READ 0x80000000
#define GENERIC_WRITE 0x40000000
#define GENERIC_EXECUTE 0x20000000
#define GENERIC_ALL 0x10000000
// ---- Š®­áâ ­âë ª®¬¯¨«ïâ®à 
#define _END 0x1B
#define FILENAMESIZE 80
#define IDLENGTH 65 // „«¨­  ¨¬¥­¨ ¨¤¥­â¨ä¨ª â®à , ¢ª«îç ï NULL-â¥à¬¨­ â®à
#define MAXDATA 512000 // <20> §¬¥à ¡ãä¥à®¢ ¯®¤ ª®¤ ¨ ¤ ­­ë¥
#define MAXDBGS 50000 // <20> §¬¥à ¡ãä¥à®¢ ¯®¤ ®â« ¤®ç­ã ¨­ä®à¬ æ¨î
#define MAXDLLS 100
#define MAXINPUT 512000 // Œ ªá¨¬ «ì­ë à §¬¥à ¢å®¤­®£® ä ©« 
#define MAXMDL 100 // Œ ªá¨¬ «ì­®¥ ç¨á«® includes
#define MAXPOSTS 150000 // <20> §¬¥à ¡ãä¥à®¢ ¯®¤ POST ®¡à ¡®âªã
#define NULL 0
#define SORTSIZE 20
#define STRLEN 1000 // „«¨­  ¡ãä¥à  ¯®¤ token
// ------------------------------------------
//===== <20>㬥஢ ­­ë¥ ª®­áâ ­âë
// ---- Š®¤ë ¢®§¢à â 
enum{ e_ok, e_outofmemory, e_cannotopeninput, e_toomanyerrors,
e_internalerror, e_noinputspecified, e_unknowncommandline,
e_extract, e_cannotopenmapfile, e_someerrors };
// ---- Š®¤ë tokens tk_xxxx
enum{
tk_eof,tk_number,tk_string,tk_var,
tk_id,
tk_db,tk_dw,tk_dd,tk_dq, // ’¨¯ë ¯¥à¥¬¥­­ëå
tk_byte,tk_char,tk_word,tk_short,
tk_dword,tk_int,
tk_enum, // <20>㬥஢ ­­ë¥ ª®­áâ ­âë
tk_struc, // Ž¯à¥¤¥«¥­¨¥ áâàãªâãàë
tk_if,tk_else,tk_endif, // “á«®¢­ ï ª®¬¯¨«ïæ¨ï
tk_include,tk_define, // ‚ª«î祭¨¥ ä  « //Ž¯à¥¤¥«¥­¨¥ ª®­áâ ­âë
tk_import, // ˆ¬¯®àâ ¨§ DLL
tk_map, // ƒ¥­¥à æ¨ï MAP-ä ©« 
tk_debug, // ƒ¥­¥à æ¨ï ®â« ¤®ç­®© ¨­ä®à¬ æ¨¨
tk_list, // ‚ë¤ ç  ASM-«¨á⨭£ 
tk_dll, // ƒ¥­¥à æ¨ï DLL-ä ©« 
tk_loop,tk_return,tk_do,
tk_while,tk_void,
tk_continue,tk_break,
tk_docase,tk_case,tk_default,
tk_carryflag,tk_extract,tk_FALSE,tk_from,
tk_notcarryflag,tk_notoverflow,tk_overflow,tk_TRUE,
tk_zeroflag,tk_notzeroflag,
tk_assign,tk_swap,
tk_minus,tk_plus,
tk_minusminus,tk_plusplus,tk_mult,tk_div,tk_mod,
tk_multminus,tk_divminus,tk_modminus,tk_rr,tk_ll,
tk_rrminus,
tk_llminus,
tk_minusequals,tk_plusequals,tk_rrequals,tk_llequals,
tk_or,tk_and,tk_xor,tk_not,
tk_orminus,
tk_andminus,tk_xorminus,
tk_orequals,tk_andequals,tk_xorequals,
tk_equalto,
tk_notequal,tk_greater,tk_greaterequal,tk_less,
tk_lessequal,
tk_oror,tk_andand,tk_openbrace,tk_closebrace,
tk_openbracket,tk_closebracket,tk_openblock,tk_closeblock,
tk_colon,tk_semicolon,tk_comma,tk_period,
tk_dollar,tk_question,tk_tilda,
tk_reg,tk_controlreg,tk_debugreg,tk_testreg,tk_seg,
tk_undefproc,tk_proc,
tk_postnumber,
tk_local,tk_locallabel,tk_param,tk_locnumber,
tk_DLL,tk_API,tk_directive,tk_command,tk_mnemonics,
tokens
};
// ---- Š®¤¨à®¢ª  ⨯  ¯à®æ¥¤ãà
enum{ cpt_near, cpt_far };
// ---- Š®¤¨à®¢ª  POST § ¯¨á¥©
enum { POST_CALL=1, POST_API, POST_DATA, POST_LOC, POST_STR };
// ---- Ž¯¨á ­¨¥ áâàãªâãàë ¢ dbginfo: dbg_...
enum{ dbg_mod=0, // <20>®¬¥à ¬®¤ã«ï
dbg_line=4, // <20>®¬¥à áâப ¢ ¬®¤ã«¥
dbg_loc=8, // <20>®§¨æ¨ï ¢ EXE-ä ©«¥
dbg_size=12}; // à §¬¥à áâàãªâãàë
// ---- Ž¯¨á ­¨¥ áâàãªâãàë idrec
enum{ left=0, // “ª § â¥«ì ­  idrec
right=4, // “ª § â¥«ì ­  idrec
recid=8, // ˆ¬ï ¨¤¥­â¨ä¨ª â®à 
newid=recid+4, // “ª § â¥«ì ­   «¨ á ¤«ï recid
rectok=newid+4, // <20>®¬¥à token
rectype=rectok+4, // ’¨¯ token: void, byte, char, word, ...
recsrc=rectype+4, // ˆá室­ë© ⥪áâ
recpost=recsrc+4, // ”« £ POST ¯¥à¥¬¥­­®©
recnumber=recpost+4, // ‡­ ç¥­¨¥ ¨«¨ offset ¢ recsrc
recmodline=recnumber+4,// <20>®¬¥à ¬®¤ã«ï ¨ áâப¨
recsize=recnumber+4};// à §¬¥à áâàãªâãàë
// ---- Ž¯¨á ­¨¥ áâàãªâãàë localrec
enum{ localnext=0, // “ª § â¥«ì ­  á«¥¤ãîéãî localrec
localid=4, // ˆ¬ï «®ª «ì­® ¯¥à¥¬¥­­®©
localtok=localid+IDLENGTH,// ‡­ ç¥­¨¥ token
localtype=localtok+4, // ⨯ ¯¥à¥¬¥­­®©
localnumber=localtype+4, // <20>®§¨æ¨ï ¢ á⥪¥
local_size=localnumber+4}; // <20> §¬¥à áâàãªâãàë