source: git/Singular/tok.h @ efaa52

spielwiese
Last change on this file since efaa52 was efaa52, checked in by Hans Schönemann <hannes@…>, 25 years ago
* hannes: changes to spectrum stuff ( apdapt it to Singular convetions, use existing procedures) part 1 (to be continued) git-svn-id: file:///usr/local/Singular/svn/trunk@3436 2c84dea3-7e68-4137-9b89-c4e89433aadc
  • Property mode set to 100644
File size: 4.5 KB
Line 
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/* $Id: tok.h,v 1.26 1999-08-13 17:12:22 Singular Exp $ */
10
11#ifndef MYYSTYPE
12#include "structs.h"
13#endif
14#ifndef UMINUS
15#include "grammar.h"
16#endif
17
18extern int      yylineno;
19extern char     my_yylinebuf[80];
20
21#if defined(__cplusplus)
22extern int  yyparse(void);
23#endif
24
25#define loop for(;;)
26
27#ifndef ABS
28#define ABS(x) ((x)<0?(-(x)):(x))
29#endif
30
31#if defined(__cplusplus)
32inline int max(const int a, const int b)  { return (a>b) ? a : b; }
33inline int min(const int a, const int b)  { return (a<b) ? a : b; }
34#else
35#define max(A,B) ((A) > (B) ? (A) : (B))
36#define min(A,B) ((A) < (B) ? (A) : (B))
37#endif
38
39#define COMMAND           UMINUS+2 /* in tok.h */
40#define ANY_TYPE          UMINUS+3
41#define IDHDL             UMINUS+4
42#define NSHDL             UMINUS+5
43
44enum {
45  ALIAS_CMD     = UMINUS + 15,
46  ATTRIB_CMD,
47  BAREISS_CMD,
48  CHARACTERISTIC_CMD,
49  CHARSTR_CMD,
50  CHAR_SERIES_CMD,
51  CLOSE_CMD,
52  COLS_CMD,
53  CONTENT_CMD,
54  COUNT_CMD,
55  DBPRINT_CMD,
56  DEF_CMD,
57  DEFINED_CMD,
58  DELETE_CMD,
59  DET_CMD,
60  DUMP_CMD,
61  END_GRAMMAR,
62  ERROR_CMD,
63  EXTGCD_CMD,
64  FAC_CMD,
65  FIND_CMD,
66  FACSTD_CMD,
67  FGLM_CMD,
68  FINDUNI_CMD,
69  GCD_CMD,
70  GETDUMP_CMD,
71  HIGHCORNER_CMD,
72  INSERT_CMD,
73  INT_CMD,
74  INTVEC_CMD,
75  IS_RINGVAR,
76  KILLATTR_CMD,
77  LAGSOLVE_CMD,
78  LINK_CMD,
79  LIST_CMD,
80  LOAD_CMD,
81  LRES_CMD,
82  MEMORY_CMD,
83  MONITOR_CMD,
84  MPRES_CMD,
85  MSTD_CMD,
86  NAMEOF_CMD,
87  NAMES_CMD,
88  NPARS_CMD,
89  NVARS_CMD,
90  OPEN_CMD,
91  OPTION_CMD,
92  ORDSTR_CMD,
93  PACKAGE_CMD,
94  PARSTR_CMD,
95  POINTER_CMD,
96  PRIME_CMD,
97  PRINT_CMD,
98  PRUNE_CMD,
99  QRING_CMD,
100  RANDOM_CMD,
101  READ_CMD,
102  RESERVEDNAME_CMD,
103  RESULTANT_CMD,
104  ROWS_CMD,
105#ifdef HAVE_SPECTRUM
106  SPECTRUM_CMD,
107  SEMIC_CMD,
108  SEMICH_CMD,
109#endif
110  SQR_FREE_DEC_CMD,
111  STATUS_CMD,
112  STRING_CMD,
113  SYSTEM_CMD,
114  TEST_CMD,
115  TRANSPOSE_CMD,
116  TRACE_CMD,
117  TYPEOF_CMD,
118  UNLOAD_CMD,
119  URSOLVE_CMD,
120  VANDER_CMD,
121  VARSTR_CMD,
122  WRITE_CMD,
123  /* start system var section: VECHO */
124  VECHO,
125  VPAGELENGTH,
126  VCOLMAX,
127  VTIMER,
128  VRTIMER,
129  TRACE,
130  VOICE,
131  VSHORTOUT,
132  VPRINTLEVEL,
133  /* end system var section: VPRINTLEVEL */
134
135  MAX_TOK /* must be the last, biggest token number */
136};
137
138#define NONE END_RING
139#define UNKNOWN 0
140
141/*
142**  Set operations (small sets only)
143*/
144
145#define Sy_bit(x)     (1<<(x))
146#define Sy_inset(x,s) ((Sy_bit(x)&(s))?TRUE:FALSE)
147#define BTEST1(a)     Sy_inset((a), test)
148#define BVERBOSE(a)   Sy_inset((a), verbose)
149
150/*
151** defines for BITSETs
152*/
153
154#define V_SHOW_MEM  2
155#define V_YACC      3
156#define V_REDEFINE  4
157#define V_READING   5
158#define V_LOAD_LIB  6
159#define V_DEBUG_LIB 7
160#define V_LOAD_PROC 8
161#define V_DEF_RES   9
162#define V_DEBUG_MEM 10
163#define V_SHOW_USE  11
164#define V_IMAP      12
165#define V_PROMPT    13
166#define V_NSB       14
167
168#define TEST_VERB_NSB              BVERBOSE(V_NSB)
169
170#define OPT_PROT           0
171#define OPT_REDSB          1
172#define OPT_NOT_SUGAR      3
173#define OPT_INTERRUPT      4
174#define OPT_SUGARCRIT      5
175#define OPT_DEBUG          6
176#define OPT_CANCELUNIT     7
177#define OPT_MOREPAIRS      8
178#define OPT_RETURN_SB      9
179#define OPT_FASTHC        10
180#define OPT_KEEPVARS      21
181#define OPT_STAIRCASEBOUND 22
182#define OPT_MULTBOUND     23
183#define OPT_DEGBOUND      24
184#define OPT_REDTAIL       25
185#define OPT_INTSTRATEGY   26
186#define OPT_MINRES        28
187#define OPT_SB_1          29
188#define OPT_NOTREGULARITY 30
189#define OPT_WEIGHTM       31
190
191#define TEST_OPT_PROT              BTEST1(OPT_PROT)
192#define TEST_OPT_REDSB             BTEST1(OPT_REDSB)
193#define TEST_OPT_NOT_SUGAR         BTEST1(OPT_NOT_SUGAR)
194#define TEST_OPT_SUGARCRIT         BTEST1(OPT_SUGARCRIT)
195#define TEST_OPT_DEBUG             BTEST1(OPT_DEBUG)
196#define TEST_OPT_MOREPAIRS         BTEST1(OPT_MOREPAIRS)
197#define TEST_OPT_FASTHC            BTEST1(OPT_FASTHC)
198#define TEST_OPT_INTSTRATEGY       BTEST1(OPT_INTSTRATEGY)
199#define TEST_OPT_CANCELUNIT        BTEST1(OPT_CANCELUNIT)
200#define TEST_OPT_RETURN_SB         BTEST1(OPT_RETURN_SB)
201#define TEST_OPT_KEEPVARS          BTEST1(OPT_KEEPVARS)
202#define TEST_OPT_DEGBOUND          BTEST1(OPT_DEGBOUND)
203#define TEST_OPT_MULTBOUND         BTEST1(OPT_MULTBOUND)
204#define TEST_OPT_STAIRCASEBOUND    BTEST1(OPT_STAIRCASEBOUND)
205#define TEST_OPT_REDTAIL           BTEST1(OPT_REDTAIL)
206#define TEST_OPT_MINRES            BTEST1(OPT_MINRES)
207#define TEST_OPT_SB_1              BTEST1(OPT_SB_1)
208#define TEST_OPT_NOTREGULARITY     BTEST1(OPT_NOTREGULARITY)
209#define TEST_OPT_WEIGHTM           BTEST1(OPT_WEIGHTM)
210
211#endif
Note: See TracBrowser for help on using the repository browser.