static void initApis() { PT_initMEPTApi(); ASF_initASFMEApi(); ASC_initRunTime(INITIAL_TABLE_SIZE); PT_initAsFix2Api(); PRS_initParsedRStoreApi(); RS_initRStoreApi(); }
int main (int argc, char *argv[]) { int c; ATerm bottomOfStack; ATerm input = NULL; ATerm output = NULL; ATbool textual = ATfalse; char *input_file_name = "-"; char *output_file_name = "-"; int i; ATbool use_toolbus = ATfalse; ATinit(argc, argv, &bottomOfStack); RS_initRStoreApi(); PRS_initParsedRStoreApi(); for (i=1; !use_toolbus && i < argc; i++) { use_toolbus = !strcmp(argv[i], "-TB_TOOL_NAME"); } if (use_toolbus) { int cid; ATBinit(argc, argv, &bottomOfStack); cid = ATBconnect(NULL, NULL, -1, lower_rstore_handler); ATBeventloop(); } else { while ((c = getopt(argc, argv, myarguments)) != EOF) switch (c) { case 'h': usage(); exit(0); case 'i': input_file_name = optarg; break; case 'o': output_file_name = optarg; break; case 't': textual = ATtrue; break; case 'V': fprintf(stderr, "%s %s\n", myname, myversion); exit(0); default : usage(); exit(1); } input = ATreadFromNamedFile(input_file_name); if(input == NULL) { ATerror("%s: could not read term from input file %s\n", myname, input_file_name); return 1; } if (PRS_isValidRStore((PRS_RStoreFromTerm(input)))) { output = (ATerm) RS_lowerRStore(PRS_RStoreFromTerm(input)); } else if (PRS_isValidStart(PRS_StartFromTerm(input))) { PRS_RStore tmp = PRS_getStartTopRStore(PRS_StartFromTerm(input)); output = (ATerm) RS_lowerRStore(tmp); } if(output != NULL) { if (textual) { ATwriteToNamedTextFile(output, output_file_name); } else { ATwriteToNamedSAFFile(output, output_file_name); } } else { ATwarning("%s: something went wrong\n", myname); return 1; } } return 0; }