You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
57 lines
1.9 KiB
57 lines
1.9 KiB
/* 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
|