Example #1
0
File: cseed.c Project: Ced/cseed
osl_scop_p cseed_scop_read_from_c(FILE* input, char* input_name) {
    clan_options_p clanoptions;
    osl_scop_p scop;

    clanoptions = clan_options_malloc();
    clanoptions->precision = OSL_PRECISION_MP;
    CLAN_strdup(clanoptions->name, input_name);
    scop = clan_scop_extract(input, clanoptions);
    clan_options_free(clanoptions);
    return scop;
}
Example #2
0
File: scop.c Project: imenf/clan
/**
 * clan_scop_generate_clay function:
 * this function generates a clay extension for the scop passed as
 * an argument.
 * \param[in,out] scop   The scop to add a clay extension to.
 * \param[in]     script The clay script.
 */
void clan_scop_generate_clay(osl_scop_p scop, char* script) {
  osl_clay_p clay;
  osl_generic_p extension;

  if ((script != NULL) && (strlen(script) > 0)) {
    // Build the clay extension
    clay = osl_clay_malloc();
    CLAN_strdup(clay->script, script);

    // Build the generic extension and insert it to the extension list.
    extension = osl_generic_malloc();
    extension->interface = osl_clay_interface();
    extension->data = clay;
    osl_generic_add(&scop->extension, extension);
  }
}
Example #3
0
File: scop.c Project: imenf/clan
/**
 * clan_scop_generate_coordinates function:
 * this function generates a coordinates extension for the scop passed as
 * an argument.
 * \param[in]     name The name of the SCoP original file.
 * \param[in,out] scop The scop to add a scatnames extension to.
 */
void clan_scop_generate_coordinates(osl_scop_p scop, char* name) {
  osl_coordinates_p coordinates;
  osl_generic_p extension;

  // Build the coordinates extension
  coordinates = osl_coordinates_malloc();
  CLAN_strdup(coordinates->name, name);
  coordinates->line_start   = scanner_scop_start + 1;
  coordinates->line_end     = scanner_scop_end;
  coordinates->column_start = 0;
  coordinates->column_end   = 0;
  coordinates->indent = (parser_indent != CLAN_UNDEFINED) ? parser_indent : 0;

  // Build the generic extension and insert it to the extension list.
  extension = osl_generic_malloc();
  extension->interface = osl_coordinates_interface();
  extension->data = coordinates;
  osl_generic_add(&scop->extension, extension);
}