unit h2pconst;

interface

// Generated by lexer/scanner. We may need to update this if the scanner/lexer changes

const _WHILE = 257;
const _FOR = 258;
const _DO = 259;
const _GOTO = 260;
const _CONTINUE = 261;
const _BREAK = 262;
const TYPEDEF = 263;
const DEFINE = 264;
const COLON = 265;
const SEMICOLON = 266;
const COMMA = 267;
const LKLAMMER = 268;
const RKLAMMER = 269;
const LECKKLAMMER = 270;
const RECKKLAMMER = 271;
const LGKLAMMER = 272;
const RGKLAMMER = 273;
const STRUCT = 274;
const UNION = 275;
const ENUM = 276;
const ID = 277;
const NUMBER = 278;
const CSTRING = 279;
const SHORT = 280;
const UNSIGNED = 281;
const LONG = 282;
const INT = 283;
const FLOAT = 284;
const _CHAR = 285;
const VOID = 286;
const _CONST = 287;
const _FAR = 288;
const _HUGE = 289;
const _NEAR = 290;
const NEW_LINE = 291;
const SPACE_DEFINE = 292;
const EXTERN = 293;
const STDCALL = 294;
const CDECL = 295;
const CALLBACK = 296;
const PASCAL = 297;
const WINAPI = 298;
const APIENTRY = 299;
const WINGDIAPI = 300;
const SYS_TRAP = 301;
const _PACKED = 302;
const ELLIPSIS = 303;
const _ASSIGN = 304;
const R_AND = 305;
const EQUAL = 306;
const UNEQUAL = 307;
const GT = 308;
const LT = 309;
const GTE = 310;
const LTE = 311;
const QUESTIONMARK = 312;
const _OR = 313;
const _AND = 314;
const _PLUS = 315;
const MINUS = 316;
const _SHR = 317;
const _SHL = 318;
const STAR = 319;
const _SLASH = 320;
const _NOT = 321;
const PSTAR = 322;
const P_AND = 323;
const POINT = 324;
const DEREF = 325;
const STICK = 326;
const SIGNED = 327;
const INT8 = 328;
const INT16 = 329;
const INT32 = 330;
const INT64 = 331;

const
  SHORT_STR = 'shortint';
  USHORT_STR = 'byte';
  //C++ SHORT types usually map to the small types
  SMALL_STR  = 'smallint';
  USMALL_STR = 'word';
  INT_STR    = 'longint';
  UINT_STR   = 'dword';
  CHAR_STR   = 'char';
  ANSICHAR_STR   = 'ansichar';
  UCHAR_STR  = USHORT_STR; { should we use byte or char for 'unsigned char' ?? }

  INT64_STR  = 'int64';
  QWORD_STR  = 'qword';
  FLOAT_STR  = 'single';
  WCHAR_STR  = 'widechar';

  {ctypes strings}
const
  cint8_STR       = 'cint8';
  cuint8_STR      = 'cuint8';
  cchar_STR       = 'cchar';
  cschar_STR      = 'cschar';
  cuchar_STR      = 'cuchar';

  cint16_STR      = 'cint16';
  cuint16_STR     = 'cuint16';
  cshort_STR      = 'cshort';
  csshort_STR     = 'csshort';
  cushort_STR     = 'cushort';

  cint32_STR      = 'cint32';
  cuint32_STR     = 'cuint32';
  cint_STR        = 'cint';
  csint_STR       = 'csint';
  cuint_STR       = 'cuint';

  csigned_STR     = 'csigned';
  cunsigned_STR   = 'cunsigned';

  cint64_STR      = 'cint64';
  cuint64_STR     = 'cuint64';
  clonglong_STR   = 'clonglong';
  cslonglong_STR  = 'cslonglong';
  culonglong_STR  = 'culonglong';

  cbool_STR       = 'cbool';

  clong_STR       = 'clong';
  cslong_STR      = 'cslong';
  culong_STR      = 'culong';

  cfloat_STR      = 'cfloat';
  cdouble_STR     = 'cdouble';
  clongdouble_STR = 'clongdouble';

const
  MAX_CTYPESARRAY = 25;
  CTypesArray : array [0..MAX_CTYPESARRAY] of string =
  (cint8_STR,     cuint8_STR,
    cchar_STR,     cschar_STR,     cuchar_STR,
    cint16_STR,    cuint16_STR,
    cshort_STR,    csshort_STR,    cushort_STR,
    csigned_STR,   cunsigned_STR,
    cint32_STR,    cuint32_STR,    cint_STR,
    csint_STR,     cuint_STR,
    cint64_STR,    cuint64_STR,
    clonglong_STR, cslonglong_STR, culonglong_STR,

    cbool_STR,
    clong_STR,      cslong_STR,    culong_STR);



implementation
end.