#defineFALSE 0 #defineTRUE 1 typedefchar boolean; #define MAXGEN MAXCHAR /* maximum number of generators */ typedefchar gen; /* for generators of monoids and groups */
/* The following macro is used for finding base-prefix of names of fsa's */ #define base_prefix(w) \
{ \ char *p = w; \ while (*p) \ if (*p == '.') \
*p = '\0'; \ else \
p++; \
}
#include"rws.h"
/* function prototypes */
boolean is_int(char *x);
boolean isdelim(int c);
boolean isvalid(int c);
boolean read_int(FILE *rfile, int *integ, int *delim);
boolean read_string(FILE *rfile, char *string, int *delim);
boolean read_word(FILE *rfile, gen *gen_word, gen *end_word, int *delim, char **name, int num_names, boolean check); int add_expanded_word_to_buffer(FILE *wfile, gen *word, char **symbols); int add_iword_to_buffer(FILE *wfile, int *word, char **symbols);
int initialise_wd_fsa(fsa *wd_fsaptr, srec *alphptr, int maxwdiffs); int add_wd_fsa(fsa *wd_fsaptr, reduction_equation *eqn, int *inv,
boolean reverse, reduction_struct *rsptr); int build_wd_fsa(fsa *wd_fsaptr, boolean *new_wd, reduction_struct *rsptr); void clear_wd_fsa(fsa *wd_fsaptr); int make_full_wd_fsa(fsa *wd_fsaptr, int *inv, int start_no,
reduction_struct *rsptr);
int initialise_wd_fsa_cos(fsa *wd_fsaptr, srec *alphptr, int maxwdiffs); int add_wd_fsa_cos(fsa *wd_fsaptr, reduction_equation *eqn, int *inv,
boolean reverse, reduction_struct *rs); int build_wd_fsa_cos(fsa *wd_fsaptr, boolean *new_wd, reduction_struct *rs); int make_full_wd_fsa_cos(fsa *wd_fsaptr, int *inv, int start_no,
reduction_struct *rs);
int add_word_to_buffer(FILE *wfile, gen *word, char **symbols); int genstrcmp(gen *c, gen *d); int genstrlen(gen *c); int int_len(int n); int stringlen(char *c); void add_to_buffer(int n, char *w); void check_next_char(FILE *rfile, int c); void genstrcat(gen *c, gen *d); void genstrcpy(gen *c, gen *d); void printbuffer(FILE *wfile); void process_names(char **name, int num_names); void read_delim(FILE *rfile, int *delim); void read_ident(FILE *rfile, char *ident, int *delim, boolean inv);
void skip_gap_expression(FILE *rfile, int *delim);
int diff_reduce(gen *w, reduction_struct *rs_wd); int diff_reduce_cos(gen *w, reduction_struct *rs_wd); int diff_reduce_wl(gen *w, reduction_struct *rs_wd);
int calculate_inverses(int **invptr, int ngens, reduction_struct *rsptr);
int kbprog(rewriting_system *rwsptr); void should_we_halt(rewriting_system *rwsptr); void make_fsa_nice(rewriting_system *rwsptr); void type_sort_eqns_final(rewriting_system *rwsptr); void typelength_sort_eqns(int n, rewriting_system *rwsptr); void sort_eqns(int n, rewriting_system *rwsptr);
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.