void initialize(int argc, char **argv) { SET_PROGNAME(); bi_vars_init(); /* load the builtin variables */ bi_funct_init(); /* load the builtin functions */ kw_init(); /* load the keywords */ field_init(); #if USE_BINMODE { char *p = getenv("MAWKBINMODE"); if (p) set_binmode(atoi(p)); } #endif process_cmdline(argc, argv); code_init(); fpe_init(); set_stdio(); #if USE_BINMODE stdout_init(); #endif }
/* * test main for kw module, usage: a.out fname [template...] */ int main(int argc, char *argv[]) { int i; struct fn *src = fn_new(NULL); struct fn *dst = fn_new(NULL); err_init(argv[0]); setbuf(stdout, NULL); Now = time(0); if (argc < 2) err(0, "first arg must be fname"); kw_init(fn_new(argv[1]), NULL); kw_print(stdout); for (i = 2; i < argc; i++) { int n; for (n = -1; n < 2; n++) { fn_renew(src, argv[i]); fn_renew(dst, NULL); printf("expand<%s> n %d hasn %d ", argv[i], n, kw_expand(src, dst, n, B_FALSE)); printf("result <%s>\n", fn_s(dst)); } } err_done(0); /* NOTREACHED */ return (0); }
int main(int argc, char** argv){ int retval = 0; int i, Navg; param_obj param; kw_obj kw; ts_obj ts; vsip_mview_f *dtaIn, *gramOut; if(retval += param_read(argv[1],¶m)){ printf("Failed to read parameter file\n"); exit(-1); } param_log(¶m); kw_init(&kw, ¶m); ts_init(&ts, ¶m); /* simulate time series and beamform */ Navg = (int) param.Navg; dtaIn = ts_instance(&ts); gramOut = kw_instance(&kw); kw_zero(&kw); for(i=0; i<Navg; i++){ ts_zero(&ts); ts_sim_noise(&ts); ts_sim_nb(&ts); komega(&kw,dtaIn); } /* beamform done. Gram should be in gramOut */ /*************/ /* Massage gram data and save to file for plotting */ for(i=0; i<vsip_mgetrowlength_f(gramOut); i++) {/* move zero to middle */ vsip_vview_f *v = vsip_mcolview_f(gramOut, i); vsip_vfreqswap_f(v); vsip_vdestroy_f(v); } {/* massage the data for plot*/ vsip_scalar_f max = vsip_mmaxval_f(gramOut, NULL),min; vsip_scalar_f avg = vsip_mmeanval_f(gramOut); vsip_mclip_f(gramOut,0.0, max, avg/100000.0, max, gramOut); vsip_mlog10_f(gramOut,gramOut); min = -vsip_mminval_f(gramOut, NULL); vsip_smadd_f(min, gramOut, gramOut); max = vsip_mmaxval_f(gramOut, NULL); vsip_smmul_f(1.0/max, gramOut, gramOut); } { /* output data and plot with octave */ FILE *fptr = fopen("gramOut","w"); size_t size = vsip_mgetrowlength_f(gramOut) * vsip_mgetcollength_f(gramOut); vsip_scalar_f *out = (vsip_scalar_f*)malloc(size * sizeof(vsip_scalar_f)); vsip_mcopyto_user_f(gramOut, VSIP_COL, out); fwrite(out,size,sizeof(vsip_scalar_f),fptr); fclose(fptr); free(out); } /* cleanup */ kw_fin(&kw); ts_fin(&ts); param_free(¶m); return retval; }
// ----------------------------------------------------------------------- int main(int argc, char **argv) { int ret = 1; int res; FILE *outf; res = parse_args(argc, argv); if (res) { printf("\n"); usage(); goto cleanup; } if (kw_init() < 0) { printf("Internal dictionary initialization failed.\n"); goto cleanup; } sym = dh_create(16000, 1); if (!sym) { printf("Failed to create symbol table.\n"); goto cleanup; } if (input_file) { yyin = fopen(input_file, "r"); loc_push(input_file); } else { yyin = stdin; loc_push("(stdin)"); } if (!yyin) { printf("Cannot open source file: '%s'\n", input_file); goto cleanup; } inc_path_add("."); AADEBUG("==== Parse ================================"); if (yyparse()) { if (yyin) fclose(yyin); goto cleanup; } if (yyin) fclose(yyin); if (!program) { // shouldn't happen - parser should always produce program (even empty one) printf("Parse produced empty tree.\n"); goto cleanup; } res = assemble(program, 1); if (res < 0) { printf("%s\n", aerr); goto cleanup; } else if (res > 0) { if (otype == O_EMELF) { if (assemble(program, 1) < 0) { printf("%s\n", aerr); goto cleanup; } } else { if (assemble(program, 0)) { printf("%s\n", aerr); goto cleanup; } } } if (otype != O_DEBUG) { if (!output_file) { output_file = strdup("a.out"); } outf = fopen(output_file, "w"); } else { if (!output_file) { output_file = strdup("(stdout)"); } outf = stdout; } if (!outf) { printf("Cannot open output file '%s' for writing\n", output_file); goto cleanup; } switch (otype) { case O_RAW: res = writer_raw(program, outf); break; case O_DEBUG: res = writer_debug(program, outf); break; case O_EMELF: res = writer_emelf(program, sym, outf); break; default: printf("Unknown output type.\n"); fclose(outf); goto cleanup; } fclose(outf); if (res) { printf("%s\n", aerr); goto cleanup; } ret = 0; cleanup: yylex_destroy(); st_drop(inc_paths); st_drop(filenames); st_drop(program); dh_destroy(sym); st_drop(entry); kw_destroy(); free(output_file); return ret; }