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