home *** CD-ROM | disk | FTP | other *** search
/ Piper's Pit BBS/FTP: ibm 0010 - 0019 / ibm0010-0019 / ibm0010.tar / ibm0010 / CODE4-4.ZIP / HDR_EXMP.ZIP / INCLUDE.ZIP / E4PARSE.H < prev    next >
Encoding:
C/C++ Source or Header  |  1989-10-13  |  2.0 KB  |  94 lines

  1.  
  2. /*  e3parse.h */
  3.  
  4.  
  5. /*   Integer Codes */
  6.  
  7. /* Data Types
  8.    NUM_CODE   is in (double) format
  9.    CHAR_CODE  1byte length;  length worth of character data
  10.    DATE_CODE  CCYYMMDD
  11.    LOG_CODE   as (int)
  12. */
  13.  
  14. #define  NUM_CODE  ((int)'N')
  15. #define  CHAR_CODE ((int)'C')
  16. #define  DATE_CODE ((int)'D')
  17. #define  LOG_CODE  ((int)'L')
  18.  
  19. /* Special Return Codes */
  20.  
  21. #define  OK          0
  22. #define  ERROR      -1
  23. #define  DONE       -2
  24.  
  25.  
  26.  
  27.  
  28. /* Function Numbers (Character Codes) */
  29.  
  30. /* Immediate Functions */
  31.  
  32. #define  I_TRUE            '\x0'
  33. #define  I_FALSE           '\x1'
  34. #define  I_CHAR            '\x2'
  35. #define  I_NUM             '\x3'
  36.  
  37. /* Arithmetic & Concatenation Functions  +,-,*,/,**,^ */
  38.  
  39. #define  A_ADD             '\x4'
  40. #define  A_SUBTRACT        '\x5'
  41. #define  A_MULTIPLY        '\x6'
  42. #define  A_DIVIDE          '\x7'
  43. #ifndef UNIX
  44. #define  A_POWER           '\x8'
  45. #endif
  46.  
  47.  
  48. /* Logical Operators  .AND., .OR., .NOT.  */
  49.  
  50. #define  L_AND             '\x9'
  51. #define  L_OR              '\xA'
  52. #define  L_NOT             '\xB'
  53.  
  54. /* Relational Operators >=, <=, >, <, =, <>, #, $  */
  55.  
  56. #define  R_GE              '\xC'
  57. #define  R_LE              '\xD'
  58. #define  R_GT              '\xE'
  59. #define  R_LT              '\xF'
  60. #define  R_EQ              '\x10'
  61. #define  R_NE              '\x11'
  62. #define  R_SUB_COMPARE     '\x12'
  63.  
  64.  
  65. /* Functions - dBase functions as well */
  66.  
  67. #define  F_DATE       '\x13'
  68. #define  F_DTOC       '\x14'
  69. #define  F_CTOD       '\x15'
  70. #define  F_RECNO      '\x16'
  71. #define  F_RECCOUNT   '\x17'
  72. #define  F_TIME       '\x18'
  73. #define  F_STR        '\x19'
  74. #define  F_VAL        '\x1A'
  75. #define  F_SUBSTR     '\x1B'
  76. #define  F_IIF        '\x1C'
  77. #define  F_DELETED    '\x1D'
  78. #define  F_DEL        '\x1E'
  79. #define  F_UPPER      '\x1F'
  80. #define  F_DTOS       '\x20' 
  81.  
  82. /* Special Functions */
  83.  
  84. #define  F_BASE_FIELD '\x51'
  85.  
  86.  
  87. /* Quasi Operators */
  88.  
  89. #define  Q_NO_FUNCTION  '\xFE'
  90. #define  Q_L_BRACKET    '\xFD'
  91. #define  Q_R_BRACKET    '\xFC'
  92. #define  Q_COMMA        '\xFB'
  93.  
  94.