model.c File Reference

#include <stdio.h>
#include <stdlib.h>
#include <assert.h>
#include "dtd.h"
#include "model.h"
#include "error_term.h"

Data Structures

struct  _state_transition
struct  _dtd_model_list
struct  _state_expander
struct  _visited

Defines

#define MAX_VISITED   256
#define MAX_ALLOWED   64

Typedefs

typedef _state_transition transition
typedef _dtd_model_list dtd_model_list
typedef _state_expander expander
typedef _visited visited

Enumerations

enum  expand_type { EX_AND }

Functions

static void translate_model (dtd_model *m, dtd_state *from, dtd_state *to)
static transitionstate_transitions (dtd_state *state)
static int visit (dtd_state *state, visited *visited)
static dtd_statedo_make_dtd_transition (dtd_state *here, dtd_element *e, visited *visited)
dtd_statemake_dtd_transition (dtd_state *here, dtd_element *e)
static int find_same_state (dtd_state *final, dtd_state *here, visited *visited)
int same_state (dtd_state *final, dtd_state *here)
static void do_state_allows_for (dtd_state *here, dtd_element **allow, int *n, visited *visited)
void state_allows_for (dtd_state *state, dtd_element **allow, int *n)
static int do_find_omitted_path (dtd_state *state, dtd_element *e, dtd_element **path, int *pl, visited *visited)
int find_omitted_path (dtd_state *state, dtd_element *e, dtd_element **path)
dtd_statenew_dtd_state ()
static void mylink (dtd_state *from, dtd_state *to, dtd_element *e)
static void add_model_list (dtd_model_list **list, dtd_model *m)
static void translate_one (dtd_model *m, dtd_state *from, dtd_state *to)
dtd_statemake_state_engine (dtd_element *e)
static void do_free_state_engine (dtd_state *state, visited *visited)
static void free_model_list (dtd_model_list *l)
static void free_expander (expander *e, visited *visited)
void free_state_engine (dtd_state *state)

Define Documentation

#define MAX_ALLOWED   64
 

#define MAX_VISITED   256
 


Typedef Documentation

typedef struct _dtd_model_list dtd_model_list
 

typedef struct _state_expander expander
 

typedef struct _state_transition transition
 

typedef struct _visited visited
 


Enumeration Type Documentation

enum expand_type
 

Enumerator:
EX_AND 


Function Documentation

static void add_model_list dtd_model_list **  list,
dtd_model m
[static]
 

static int do_find_omitted_path dtd_state state,
dtd_element e,
dtd_element **  path,
int pl,
visited visited
[static]
 

static void do_free_state_engine dtd_state state,
visited visited
[static]
 

static dtd_state* do_make_dtd_transition dtd_state here,
dtd_element e,
visited visited
[static]
 

static void do_state_allows_for dtd_state here,
dtd_element **  allow,
int n,
visited visited
[static]
 

int find_omitted_path dtd_state state,
dtd_element e,
dtd_element **  path
 

static int find_same_state dtd_state final,
dtd_state here,
visited visited
[static]
 

static void free_expander expander e,
visited visited
[static]
 

static void free_model_list dtd_model_list l  )  [static]
 

void free_state_engine dtd_state state  ) 
 

dtd_state* make_dtd_transition dtd_state here,
dtd_element e
 

dtd_state* make_state_engine dtd_element e  ) 
 

static void mylink dtd_state from,
dtd_state to,
dtd_element e
[static]
 

dtd_state* new_dtd_state void   ) 
 

int same_state dtd_state final,
dtd_state here
 

void state_allows_for dtd_state state,
dtd_element **  allow,
int n
 

static transition * state_transitions dtd_state state  )  [static]
 

static void translate_model dtd_model m,
dtd_state from,
dtd_state to
[static]
 

static void translate_one dtd_model m,
dtd_state from,
dtd_state to
[static]
 

static int visit dtd_state state,
visited visited
[static]
 


Generated on Wed Jul 26 13:26:56 2006 for XSB by  doxygen 1.4.5