-
Notifications
You must be signed in to change notification settings - Fork 14
/
Copy pathyacc_read.h
57 lines (50 loc) · 1.94 KB
/
yacc_read.h
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
/* prototypes of functions used in the parser */
#include <setjmp.h>
#ifndef __READ_H__
#define __READ_H__
struct _tmp_store_struct
{
char *name;
int row;
REAL value;
REAL rhs_value;
short relat;
};
typedef struct parse_parm_s
{
void *scanner;
long lineno;
int Verbose;
jmp_buf jump_buf;
long Rows, Columns, Non_zeros, Lin_term_count;
struct rside *First_rside, *rs;
short SOStype; /* SOS type */
char Ignore_int_decl, int_decl, Ignore_sec_decl, Ignore_free_decl, sos_decl, Maximise;
hashtable *Hash_tab, *Hash_constraints;
struct structcoldata *coldata;
struct structSOS *FirstSOS, *LastSOS;
struct _tmp_store_struct tmp_store;
char *title;
short *relat;
void *parse_vars;
} parse_parm;
void lex_fatal_error(parse_parm *, void *, char *);
int set_title(parse_parm *pp, char *name);
int add_constraint_name(parse_parm *pp, char *name);
int store_re_op(parse_parm *pp, char OP, int HadConstraint, int HadVar, int Had_lineair_sum);
void null_tmp_store(parse_parm *pp, int init_Lin_term_count);
int store_bounds(parse_parm *pp, int warn);
void storevarandweight(parse_parm *pp, char *name);
int set_sos_type(parse_parm *pp, int SOStype);
int set_sos_weight(parse_parm *pp, double weight, int sos_decl);
int set_sec_threshold(parse_parm *pp, char *name, REAL threshold);
int rhs_store(parse_parm *pp, REAL value, int HadConstraint, int HadVar, int Had_lineair_sum);
int var_store(parse_parm *pp, char *var, REAL value, int HadConstraint, int HadVar, int Had_lineair_sum);
int negate_constraint(parse_parm *pp);
void add_row(parse_parm *pp);
void add_sos_row(parse_parm *pp, short SOStype);
void read_error(parse_parm *, void *, char *);
void check_int_sec_sos_free_decl(parse_parm *, int, int, int, int);
lprec *yacc_read(lprec *lp, int verbose, char *lp_name, int (*parse) (parse_parm *pp), parse_parm *pp, void (*delete_allocated_memory) (parse_parm *pp));
#define set_obj_dir(pp, maximise) pp->Maximise = maximise
#endif