1 #ifndef TOK_H 2 #define TOK_H 3 /**************************************** 4 * Computer Algebra System SINGULAR * 5 ****************************************/ 6 /* 7 * ABSTRACT: tokens, types for interpreter; general macros 8 */ 9 10 #ifndef UMINUS 11 #include "kernel/mod2.h" 12 #include "Singular/grammar.h" 13 #endif 14 15 EXTERN_VAR int yylineno; 16 EXTERN_VAR char my_yylinebuf[80]; 17 18 #if defined(__cplusplus) 19 extern int yyparse(void); 20 #endif 21 22 /* the follwing defines for infix operators should not be changed: * 23 * grammar.y does not use the symbolic names * 24 * scanner.l uses the identies for some optimzations */ 25 #define LOGIC_OP '&' 26 #define MULDIV_OP '/' 27 #define COMP_OP '<' 28 29 #define COMMAND UMINUS+2 /* in tok.h */ 30 #define ANY_TYPE UMINUS+3 31 #define IDHDL UMINUS+4 32 33 enum { 34 ALIAS_CMD = UMINUS + 15, 35 ALIGN_CMD, 36 ATTRIB_CMD, 37 BAREISS_CMD, 38 BIGINT_CMD, 39 BRANCHTO_CMD, 40 BRACKET_CMD, 41 BREAKPOINT_CMD, 42 CHARACTERISTIC_CMD, 43 CHARSTR_CMD, 44 CHAR_SERIES_CMD, 45 CHINREM_CMD, 46 CMATRIX_CMD, 47 CNUMBER_CMD, 48 CPOLY_CMD, 49 CLOSE_CMD, 50 COEFFS_CMD, 51 COEF_CMD, 52 COLS_CMD, 53 CONTENT_CMD, 54 CONTRACT_CMD, 55 COUNT_CMD, 56 CRING_CMD, 57 DBPRINT_CMD, 58 DEF_CMD, 59 DEFINED_CMD, 60 DEG_CMD, 61 DEGREE_CMD, 62 DELETE_CMD, 63 DENOMINATOR_CMD, 64 DET_CMD, 65 DIFF_CMD, 66 DIM_CMD, 67 DIVISION_CMD, 68 DUMP_CMD, 69 ELIMINATION_CMD, 70 END_GRAMMAR, 71 ENVELOPE_CMD, 72 ERROR_CMD, 73 EXECUTE_CMD, 74 EXPORTTO_CMD, 75 EXTGCD_CMD, 76 FAC_CMD, 77 FAREY_CMD, 78 FIND_CMD, 79 FACSTD_CMD, 80 FMD_CMD, 81 FRES_CMD, 82 FWALK_CMD, 83 FGLM_CMD, 84 FGLMQUOT_CMD, 85 FINDUNI_CMD, 86 GCD_CMD, 87 GETDUMP_CMD, 88 HIGHCORNER_CMD, 89 HILBERT_CMD, 90 HOMOG_CMD, 91 HRES_CMD, 92 IMPART_CMD, 93 IMPORTFROM_CMD, 94 INDEPSET_CMD, 95 INSERT_CMD, 96 INT_CMD, 97 INTDIV_CMD, 98 INTERPOLATE_CMD, 99 INTERRED_CMD, 100 INTERSECT_CMD, 101 INTVEC_CMD, 102 IS_RINGVAR, 103 JACOB_CMD, 104 JANET_CMD, 105 JET_CMD, 106 KBASE_CMD, 107 KERNEL_CMD, 108 KILLATTR_CMD, 109 KRES_CMD, 110 LAGSOLVE_CMD, 111 LEAD_CMD, 112 LEADCOEF_CMD, 113 LEADEXP_CMD, 114 LEADMONOM_CMD, 115 LIFTSTD_CMD, 116 LIFT_CMD, 117 LINK_CMD, 118 LIST_CMD, 119 LOAD_CMD, 120 LRES_CMD, 121 LU_CMD, 122 LUI_CMD, 123 LUS_CMD, 124 MEMORY_CMD, 125 MINBASE_CMD, 126 MINOR_CMD, 127 MINRES_CMD, 128 MODULO_CMD, 129 MONITOR_CMD, 130 MPRES_CMD, 131 MRES_CMD, 132 MSTD_CMD, 133 MULTIPLICITY_CMD, 134 NAMEOF_CMD, 135 NAMES_CMD, 136 NEWSTRUCT_CMD, 137 NCALGEBRA_CMD, 138 NC_ALGEBRA_CMD, 139 NEWTONPOLY_CMD, 140 NPARS_CMD, 141 NUMERATOR_CMD, 142 NVARS_CMD, 143 ORD_CMD, 144 OPEN_CMD, 145 OPPOSE_CMD, 146 OPPOSITE_CMD, 147 OPTION_CMD, 148 ORDSTR_CMD, 149 PACKAGE_CMD, 150 PARDEG_CMD, 151 PARENT_CMD, 152 PARSTR_CMD, 153 PFAC_CMD, 154 PRIME_CMD, 155 PRINT_CMD, 156 PRUNE_CMD, 157 QHWEIGHT_CMD, 158 QRING_CMD, 159 QRDS_CMD, 160 QUOTIENT_CMD, 161 RANDOM_CMD, 162 RANK_CMD, 163 READ_CMD, 164 REDUCE_CMD, 165 REGULARITY_CMD, 166 REPART_CMD, 167 RES_CMD, 168 RESERVEDNAME_CMD, 169 RESERVEDNAMELIST_CMD, 170 RESTART_CMD, 171 RESULTANT_CMD, 172 RIGHTSTD_CMD, 173 RINGLIST_CMD, 174 RING_LIST_CMD, 175 ROWS_CMD, 176 SBA_CMD, 177 SIMPLEX_CMD, 178 SIMPLIFY_CMD, 179 SLIM_GB_CMD, 180 SORTVEC_CMD, 181 SQR_FREE_CMD, 182 SRES_CMD, 183 STATUS_CMD, 184 STD_CMD, 185 STRING_CMD, 186 SUBST_CMD, 187 SYSTEM_CMD, 188 SYZYGY_CMD, 189 TENSOR_CMD, 190 TEST_CMD, 191 TRANSPOSE_CMD, 192 TRACE_CMD, 193 TWOSTD_CMD, 194 TYPEOF_CMD, 195 UNIVARIATE_CMD, 196 UNLOAD_CMD, /* unused*/ 197 URSOLVE_CMD, 198 VANDER_CMD, 199 VARIABLES_CMD, 200 VARSTR_CMD, 201 VDIM_CMD, 202 WAIT1ST_CMD, 203 WAITALL_CMD, 204 WEDGE_CMD, 205 WEIGHT_CMD, 206 WRITE_CMD, 207 /* start system var section: VECHO */ 208 VECHO, 209 VCOLMAX, 210 VTIMER, 211 VRTIMER, 212 TRACE, 213 VOICE, 214 VSHORTOUT, 215 VPRINTLEVEL, 216 /* end system var section: VPRINTLEVEL */ 217 218 MAX_TOK /* must be the last, biggest token number */ 219 }; 220 221 #define NONE END_RING 222 #define UNKNOWN 0 223 224 #endif 225