File: tcyacc1.h

package info (click to toggle)
magnus 20060324-5.1
  • links: PTS
  • area: main
  • in suites: lenny
  • size: 19,436 kB
  • ctags: 20,462
  • sloc: cpp: 130,217; ansic: 37,090; tcl: 10,970; perl: 1,109; makefile: 966; sh: 403; yacc: 372; csh: 57; awk: 33; asm: 10
file content (96 lines) | stat: -rw-r--r-- 2,605 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
/* Include file which is included by tcyacc source file.
 */
#include "stdio.h"
extern FILE *fout;
#ifndef val_stack 
#define val_stack 
typedef struct { int *numbs; int lengh;  } Num_gen_word;
typedef union  {
        int   vali;  /* for integer value such as integer power */
	char  gen[2];
        char  *words; /* char pointer for letter-gen word */
	Num_gen_word   *nums;  /* int pointer for number-gen word  */  
	} YYSTYPE;
extern YYSTYPE yylval; 
# define YYSTYPE_IS_DECLARED 1
#endif 

#ifndef ___DEF__
#define ___DEF__
/* define a macro for inverse */  
#define	INVERSE(c)	(islower((c))? toupper((c)): tolower((c))) 
#define BUF_LEN		100	

/*-------define stacks for group generators relators------*/ 
typedef struct {char gen; int gen_inv; } Gen_stk_type;
typedef struct rel_stk_type {char *rel; /* original and reduced rel.(in letters) A represents inverse of a, starting at rel[0] */ 
		int *rel_1; /* original rel (in numbers), starting at rel_1[1]  */
		int len_1; /*  length of *rel_1  */
		int *rel_n; /* rel (in gens numbers,-i represents inverse of i. starting rel_[0]*/
                int len; /* relator length of *rel(reduced) and *rel_n*/ 
		int exp; /* exponent of rel. */
                struct rel_stk_type *next; 
        } Rel_stk_type;  

/*--enum_def is used to communication between user interface and TC program--*/ 
typedef struct enum_def { /*enumeration definition table */ 
	char name[BUF_LEN];	/* enumeration name */
	Gen_stk_type *gen;	/* group generators */ 
	int  gen_no;	/* the number of group generators */ 
	Rel_stk_type *relators;  /* group relators */
	int rel_no;	/* the number of group relations */
	int rel_len;
	char s_name[BUF_LEN];	/* subgroup name */ 
	Rel_stk_type *s_gens;  /* subgroup generators */ 
	int sgen_no; 
	int sgn_len;
	int compact;
	int max_coset;
        int max[3]; 
	int ct[3];
	int f_type;
	int rt[3];
	int a_factor;
        float  time; 
        int fill_factor; 
        int fi[3]; 
        int rel_in_sgp; 
        int rel_in_sg[3]; 
	int diag[10]; 
        int message_interval; /* according to 0,1,2,3,... print whole or parts 
                      * procedures of enumerations 
                      */ 
	int workspace; 
	int *space;
	int page_strategy;
	int unsort;
/*  definitions for options  */
	int restart;
        int sr_l;
	int sa_l;
	char in_file[50];
	int res_l;
	int newrel;
	int newsg;
	int pr_l;
	int pr[3];
	int cc_l;
	int cc;
	int sc_l;
	int scn;
	int del_l;
	int tw_l;
	int twn;
	int nc_l;
	int ncn;
	int cy_l;
	int oo_l;
	int oon;
	int rc_l;
	int rcn;
	int rcstop;
	int rcdesire;
       } Enum_def; 
#endif