00001 00037 #ifndef CANDL_STATEMENT_H 00038 # define CANDL_STATEMENT_H 00039 00040 # include <stdio.h> 00041 # include <candl/matrix.h> 00042 00043 # if defined(__cplusplus) 00044 extern "C" 00045 { 00046 # endif 00047 00048 00053 struct candlstatement 00054 { int label; 00058 int type; 00059 int depth; 00060 int * index; 00061 CandlMatrix * domain; 00062 CandlMatrix * written; 00063 CandlMatrix * read; 00064 void* ref; 00066 }; 00067 typedef struct candlstatement CandlStatement; 00068 00069 00070 /****************************************************************************** 00071 * Structure display function * 00072 ******************************************************************************/ 00073 void candl_statement_print_structure(FILE *, CandlStatement *, int); 00074 void candl_statement_print(FILE *, CandlStatement *); 00075 00076 00077 /****************************************************************************** 00078 * Memory deallocation function * 00079 ******************************************************************************/ 00080 void candl_statement_free(CandlStatement *); 00081 00082 00083 /****************************************************************************** 00084 * Reading functions * 00085 ******************************************************************************/ 00086 CandlStatement * candl_statement_read(FILE *, int, int); 00087 00088 00089 /****************************************************************************** 00090 * Processing functions * 00091 ******************************************************************************/ 00092 CandlStatement * candl_statement_malloc(); 00093 int candl_statement_commute(CandlStatement *, CandlStatement *); 00094 00095 00096 # if defined(__cplusplus) 00097 } 00098 # endif 00099 #endif /* define CANDL_STATEMENT_H */ 00100