92   int i, j, first = 1, number = 1;
 
   95   for (j = 0; j < level; j++)
 
   99     fprintf(file, 
"+-- osl_symbols_t\n");
 
  101     fprintf(file, 
"+-- NULL symbols\n");
 
  103   while (symbols != NULL) {
 
  106       for (j = 0; j < level; j++)
 
  107         fprintf(file, 
"|\t");
 
  108       fprintf(file, 
"|   osl_symbol_t (node %d)\n", number);
 
  114     for (j = 0; j <= level+1; j++)
 
  115       fprintf(file, 
"|\t");
 
  119     for (i = 0; i <= level; i++)
 
  120       fprintf(file, 
"|\t");
 
  121     if (symbols->
type != OSL_UNDEFINED) {
 
  122       fprintf(file, 
"+-- Type: ");
 
  123       switch (symbols->
type) {
 
  124         case OSL_SYMBOL_TYPE_ITERATOR : fprintf(file, 
"Iterator\n");  
break;
 
  125         case OSL_SYMBOL_TYPE_PARAMETER: fprintf(file, 
"Parameter\n"); 
break;
 
  126         case OSL_SYMBOL_TYPE_ARRAY    : fprintf(file, 
"Array\n");     
break;
 
  127         case OSL_SYMBOL_TYPE_FUNCTION : fprintf(file, 
"Function\n");  
break;
 
  128         default : fprintf(file, 
"Unknown\n") ;
 
  131       fprintf(file, 
"+-- NULL type\n");
 
  135     for(j = 0; j <= level + 1; j++)
 
  136       fprintf(file, 
"|\t") ;
 
  137     fprintf(file, 
"\n") ;
 
  140     for (i = 0; i <= level; i++)
 
  141       fprintf(file, 
"|\t");
 
  143       fprintf(file, 
"+-- Origin: %d\n", symbols->
generated);
 
  145       fprintf(file, 
"+-- Undefined origin\n");
 
  148     for(j = 0; j <= level + 1; j++)
 
  149       fprintf(file, 
"|\t") ;
 
  150     fprintf(file, 
"\n") ;
 
  153     for (i = 0; i <= level; i++)
 
  154       fprintf(file, 
"|\t");
 
  155     if (symbols->
nb_dims != OSL_UNDEFINED)
 
  156       fprintf(file, 
"+-- Number of Dimensions: %d\n", symbols->
nb_dims);
 
  158       fprintf(file, 
"+-- Undefined number of dimensions\n");
 
  161     for(j = 0; j <= level + 1; j++)
 
  162       fprintf(file, 
"|\t") ;
 
  163     fprintf(file, 
"\n") ;
 
  177     symbols = symbols->
next;
 
  180     if (symbols != NULL) {
 
  181       for (j = 0; j <= level; j++)
 
  182         fprintf(file, 
"|\t");
 
  183       fprintf(file, 
"V\n");
 
  188   for (j = 0; j <= level; j++)
 
  189     fprintf(file, 
"|\t");
 
  215   int high_water_mark = OSL_MAX_STRING;
 
  216   char* 
string = NULL, *temp;
 
  217   char buffer[OSL_MAX_STRING];
 
  219   OSL_malloc(
string, 
char *, high_water_mark * 
sizeof(
char));
 
  222   sprintf(buffer, 
"# Number of symbols\n%d\n",
 
  226   while (symbols != NULL) {
 
  227     sprintf(buffer, 
"# ===========================================\n");
 
  229     sprintf(buffer, 
"# %d Data for symbol number %d \n", i, i);
 
  232     if (symbols->
type == OSL_UNDEFINED) {
 
  233       sprintf(buffer, 
"# %d.1 Symbol type\nUndefined\n", i);
 
  237       sprintf(buffer, 
"# %d.1 Symbol type\n", i);
 
  239       switch (symbols->
type) {
 
  240         case OSL_SYMBOL_TYPE_ITERATOR : sprintf(buffer, 
"Iterator\n");  
break;
 
  241         case OSL_SYMBOL_TYPE_PARAMETER: sprintf(buffer, 
"Parameter\n"); 
break;
 
  242         case OSL_SYMBOL_TYPE_ARRAY    : sprintf(buffer, 
"Array\n");     
break;
 
  243         case OSL_SYMBOL_TYPE_FUNCTION : sprintf(buffer, 
"Function\n");  
break;
 
  244         default : sprintf(buffer, 
"Undefined\n") ;
 
  250     sprintf(buffer, 
"\n# %d.2 Generated Boolean\n%d\n", i, symbols->
generated);
 
  254     sprintf(buffer,
"\n# %d.3 Number of dimensions\n%d\n", i, symbols->
nb_dims);
 
  258     sprintf(buffer, 
"\n# %d.4 Identifier\n", i);
 
  265     sprintf(buffer, 
"\n# %d.5 Datatype\n", i);
 
  272     sprintf(buffer, 
"\n# %d.6 Scope\n", i);
 
  279     sprintf(buffer, 
"\n# %d.7 Extent\n", i);
 
  285     symbols = symbols->
next;
 
  288   OSL_realloc(
string, 
char *, (strlen(
string) + 1) * 
sizeof(
char));
 
  315   if (*input == NULL) {
 
  316     OSL_debug(
"no symbols optional tag");
 
  320   if (strlen(*input) > OSL_MAX_STRING) 
 
  321     OSL_error(
"symbols too long");
 
  332   while (nb_symbols != 0) {
 
  336       if (strcmp(type, 
"Iterator") == 0)
 
  337         symbols->
type = OSL_SYMBOL_TYPE_ITERATOR;
 
  338       else if (strcmp(type, 
"Parameter") == 0)
 
  339         symbols->
type = OSL_SYMBOL_TYPE_PARAMETER;
 
  340       else if (strcmp(type, 
"Array") == 0)
 
  341         symbols->
type = OSL_SYMBOL_TYPE_ARRAY;
 
  342       else if (strcmp(type, 
"Function") == 0)
 
  343         symbols->
type = OSL_SYMBOL_TYPE_FUNCTION;
 
  345         symbols->
type = OSL_UNDEFINED;
 
  368     if (nb_symbols != 0) {
 
  370       symbols = symbols->
next;
 
  396   symbols->
type       = OSL_UNDEFINED;
 
  398   symbols->
nb_dims    = OSL_UNDEFINED;
 
  401   symbols->
scope      = NULL;
 
  403   symbols->
next       = NULL;
 
  418   while (symbols != NULL) {
 
  443   while (*location != NULL)
 
  444     location = &((*location)->next);
 
  462   while ((symbols != NULL) && ((n == -1) || (i < n))) {
 
  464     new->type       = symbols->
type;
 
  466     new->nb_dims    = symbols->
nb_dims;
 
  473     symbols = symbols->
next;
 
  507   if (((c1 == NULL) && (c2 != NULL)) || ((c1 != NULL) && (c2 == NULL)))
 
  537   while (symbols != NULL) {
 
  539     symbols = symbols->
next;
 
  554   OSL_strdup(interface->URI, OSL_URI_SYMBOLS);
 
osl_interface_p osl_symbols_interface()
void *(* osl_clone_f)(void *)
void osl_interface_free(osl_interface_p interface)
char * osl_generic_sprint(osl_generic_p generic)
int osl_symbols_get_nb_symbols(osl_symbols_p symbols)
osl_interface_p osl_interface_malloc()
osl_symbols_p osl_symbols_nclone(osl_symbols_p symbols, int n)
struct osl_symbols * next
osl_symbols_p osl_symbols_sread(char **input)
void *(* osl_sread_f)(char **)
void osl_symbols_dump(FILE *file, osl_symbols_p symbols)
void osl_symbols_idump(FILE *file, osl_symbols_p symbols, int level)
void osl_util_safe_strcat(char **dst, char *src, int *hwm)
void(* osl_idump_f)(FILE *, void *, int)
osl_symbols_p osl_symbols_malloc()
void osl_symbols_free(osl_symbols_p symbols)
void osl_generic_idump(FILE *file, osl_generic_p generic, int level)
osl_symbols_p osl_symbols_clone(osl_symbols_p symbols)
int osl_util_read_int(FILE *file, char **str)
char *(* osl_sprint_f)(void *)
char * osl_util_read_string(FILE *file, char **str)
char * osl_symbols_sprint(osl_symbols_p symbols)
int osl_symbols_equal(osl_symbols_p c1, osl_symbols_p c2)
int(* osl_equal_f)(void *, void *)
void osl_symbols_add(osl_symbols_p *location, osl_symbols_p symbols)
osl_interface_p osl_interface_get_default_registry()
osl_generic_p osl_generic_sread_one(char **input, osl_interface_p registry)
int osl_generic_equal(osl_generic_p x1, osl_generic_p x2)
osl_generic_p osl_generic_clone(osl_generic_p generic)
void osl_generic_free(osl_generic_p generic)
void(* osl_free_f)(void *)