这篇教程C++ yyrestart函数代码示例写得很实用,希望能帮到您。
本文整理汇总了C++中yyrestart函数的典型用法代码示例。如果您正苦于以下问题:C++ yyrestart函数的具体用法?C++ yyrestart怎么用?C++ yyrestart使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。 在下文中一共展示了yyrestart函数的26个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。 示例1: mainPUBLIC int main(int ac, char **av){ int i, n_files; char **files; argc = ac; argv = av; while (--argc > 0 && (*++argv)[0] == '-') do_flags(*argv); files = argv; n_files = argc; if (debflag('v')) { fprintf(errout, "%s/n%s/n%s/n", fuzz_banner, fuzz_rcsid, fuzz_copyright); fflush(errout); } debugging = debflag('p'); init_sym(); init_type(); init_dict(); open_prelude(); read_a_file(); if (dflag) { check_file(); clear_temp((univ) NULL); } debugging = TRUE; if (n_files == 0) { /* Finished prelude, no args: read stdin */ file_name = "standard input"; yyrestart(stdin); read_a_file(); } else { for (i = 0; i < n_files; i++) { reopen_input(files[i]); yyrestart(yyin); read_a_file(); } } if (dflag) { check_file(); clear_temp((univ) NULL); }#ifdef DEBUG if (debflag('h')) dump_hash();#endif return (n_errors > 0 ? 1 : 0);}
开发者ID:cherry-wb,项目名称:Hot-Fuzz,代码行数:55,
示例2: readFilevoid readFile(Register reg, char* fileName){ if ((yyin = fopen(fileName, "r" )) == NULL) { yyrestart(stdin); makeNull(reg); } read(reg); yyrestart(stdin);}
开发者ID:jarvinet,项目名称:scheme,代码行数:12,
示例3: ScannerRestartvoid ScannerRestart(FILE* fp){ if(fp==NULL) { if ( yyin != stdin ) { fclose( yyin ); yyrestart( stdin ); } return; } yyrestart(fp);}
开发者ID:localvar,项目名称:backup,代码行数:13,
示例4: main/* * === FUNCTION ====================================================================== * Name: main * Description: this is the main method for the complier, * for now it is used for lyntax, and there * may have a tree method under this. * ===================================================================================== */int main(int argc, char** argv){ if(argc <= 1) return 1; FILE* f = fopen(argv[1], "r"); if (!f){ perror(argv[1]); return 1; } yyrestart(f); //extern FILE* yydebug; //yydebug = 1; yyparse(); //PrintTree(); SemanticAnalyze(); printTestError(); /* code for IR*/ optIRCode(); optIRCode2(); optIRCode3(); optIRCode4(); printCodeList(); printSCODE(argv[2]); /* code end */ return 0;}
开发者ID:miketonson,项目名称:CMMCompiler,代码行数:35,
示例5: mainint main(int argc, char** argv) { if(argc <= 1) return 1; FILE *f = fopen(argv[1], "r"); if (!f) { perror(argv[1]); return 1; } FILE *fp = stdout; if(argc == 3) { fp = fopen(argv[2], "w"); } yyrestart(f);#if YYDEBUG yydebug = 1;#endif yyparse(); if(!err) {#ifdef DEBUG print_tree(root);#endif main_parse(root); //print_code(&code, stdout); init_mips(fp); gen_mips(&code, fp); } return 0;}
开发者ID:ArkBriar,项目名称:NJU-Compiler,代码行数:28,
示例6: mainint main(int argc, char* argv[]){ debug = 0; int OpenFlag = 1; DEBUG printf("before check debug/n"); if( argc>1 && strcmp( argv[1], "-debug")==0) { debug = 1; OpenFlag = 2; } FILE *f; if(argc == 1 || (argc == 2 && debug) ) { DEBUG printf("before CreatNonTreeNode guard/n"); guard = CreatNonTreeNode("guard"); f = fopen("./example2.txt","r"); root = NULL; assert(f!=NULL); yyrestart(f); //yylex(); yyparse(); //TravelTree(root, 0); init(); analysis(root); fclose(f); } return 0; };
开发者ID:penguiner,项目名称:compiler,代码行数:29,
示例7: blockvoid ESDLcompiler::Process(){ CriticalBlock block(m_critSect); yyInitESDLGlobals(this); Owned<IException> parseException; yyrestart (yyin); try { yyparse(); } catch(IException* e) { parseException.setown(e); } if (nCommentStartLine > -1) { char tempBuf[256]; sprintf(tempBuf, "The comment that started at line %d is not ended yet", nCommentStartLine); yyerror(tempBuf); } if(!parseException) write_esxdl(); fclose(yyin); if (gOutfile > 0) close (gOutfile); yyCleanupESDLGlobals(); yylex_destroy(); if(parseException) throw parseException.getLink();}
开发者ID:miguelvazq,项目名称:HPCC-Platform,代码行数:34,
示例8: __Interpreter_newstatic Interpreter __Interpreter_new (Value filePath) { Interpreter node = struct_new(Interpreter); InitFunc func = NULL; node->filePath = filePath; at_currentInterpreter = node; yylineno = 1; if (filePath) { if (func = LIB_getInitFunc(filePath->u.string)) { node->result = func(); return node; } yyin = fopen(filePath->u.string, "rt"); if (!yyin) { perror(filePath->u.string); return NULL; } yyrestart(yyin); yyparse(); fclose(yyin); } else { //yyin = stdin; printf("Interpreter._new: yyparse/n"); //yyrestart(yyin); yyparse(); printf("Interpreter._new: yyparse end/n"); } node->result = Procedure_eval(node->proc, node->proc->exp); return node;}
开发者ID:7hens,项目名称:yas,代码行数:29,
示例9: parse_inputintparse_input(FILE* f){ parse_init(); yyrestart(f); return yyparse();}
开发者ID:hsk,项目名称:docs,代码行数:7,
示例10: filevoid Ventana_Principal::AnalisisJSON(){ Pestana *actual = (Pestana*)ui->tabWidget->currentWidget(); if(actual != NULL){ QFile file("temp.txt"); //SE CREA UN ARCHIVO TEMPORAL PARA COMPILARLO if ( file.open( file.WriteOnly ) ) { //BUFFER PARA EL TEXTO QUE SE DESEA COMPILAR QTextStream stream1( &file ); stream1 << actual->enviar_texto(); } const char* x = "temp.txt"; FILE* input = fopen(x, "r" ); errores_json->ven()->clear(); SetVentanita_json(errores_json->ven()); setFila(); setColumna(); setEdit(actual->textedit()); yyrestart(input);//SE PASA LA CADENA DE ENTRADA A FLEX yyparse();//SE INICIA LA COMPILACION ArbolJ *nuevo = setArbolito(); if(nuevo != NULL && correctojson() != 1){ //nuevo->Dibujar(); } }}
开发者ID:jerduar,项目名称:Compi2,代码行数:28,
示例11: mainint main(int argc, char** argv) { if (argc <= 2) return 1; FILE *fin = fopen(argv[1], "r"); if (!fin) { perror(argv[1]); return 1; } FILE *fout = fopen(argv[2], "w"); if (!fout) { perror(argv[2]); return 1; } yyrestart(fin); yyparse(); if (syntaxError) return 0; // printTree(root); checkSemantic(root); if (semanticError) return 0; generateIR(root); generateMIPS(icsHead, fout); fclose(fout); return 0;}
开发者ID:kidxin,项目名称:Denovo,代码行数:25,
示例12: test_main/*----------------------------------------------- | test_main +---------------------------------------------*/static int test_main(int argc, char **argv){ int i; if(argc < 2) { /* we'll take input from stdin */ currfilename= "(stdin)"; yylineno= 1; yylex(); } else { for(i=1; i<argc; i++) { FILE *f= fopen(argv[i], "r"); if(!f) { perror(argv[i]); return 1; } currfilename= argv[i]; yyrestart(f); yylineno= 1; yylex(); fclose(f); } } /* printtabs(); */ return 0;}
开发者ID:ellerycoleman,项目名称:code_samples,代码行数:32,
示例13: readvoid read(Register to){ yyparse(); yyrestart(stdin); copyReg(to, regSimple);}
开发者ID:jarvinet,项目名称:scheme,代码行数:8,
示例14: loadFileObject loadFile(char* fileName){ if ((yyin = fopen(fileName, "r" )) == NULL) { yyrestart(stdin); return makeNull(); } while (1) { setReg(regExp, read()); if (isEOF(getReg(regExp))) break; eval(); } yyrestart(stdin); return makeSymbol("ok");}
开发者ID:jarvinet,项目名称:scheme,代码行数:18,
示例15: tree_insert_importDefinitionint tree_insert_importDefinition(struct tree **t){ //t = importDefinition, so get the ident subtree struct tree *t_sub = NULL; tree_get_subtree("ident", (*t), &t_sub); if(t_sub == NULL) { return(1); //failure } //Get symbol pointer to variable name //TODO: need to use more generic getter char * import_name = t_sub->kids[0]->leaf->text; //Parse the import file tree_init(); //inits YY_TREE //open the file and store its reference in global variable yyin tree_import_ident_to_path(import_name, &YY_FNAME); //yyrestart for multiple file parsing FILE *yyfile = fopen(YY_FNAME, "r"); yyrestart(yyfile); lineno = 1; colno = 1; //instead of - yyin = fopen(YY_FNAME,"r"); if (yyin == NULL) { fprintf(stderr, "ERROR: import: Cannot open '%s'. ",/ YY_FNAME); #ifdef DEBUG_TREE fprintf(stderr, "Continuing anyway.../n"); #else fprintf(stderr, "Cannot continue./n"); exit(ERROR_SEMANTIC); #endif } else { //print the name of the file printf("%s/n", YY_FNAME); //parse import file yyparse(); //delete the importDefinition subtree... tree_del((*t)); //...and replace it with the newly parsed YY_TREE //TODO: do we really want to replace with a as3CompilationUnit // subtree, or it's children? Leaving for now. (*t) = YY_TREE; } return(0); //success}
开发者ID:engrnasirkhan,项目名称:UofI,代码行数:55,
示例16: parsevoid parse(FILE *fp){ init_symbol_table(&symbol_table); symbol_table_enter_next_scope(symbol_table); init_dll(&call_patch_list); init_dll(&var_patch_list); yyrestart(fp); yyparse();}
开发者ID:Alfandorachk,项目名称:Tetra,代码行数:11,
示例17: mainint main(int argc, char** argv) { FILE *file; filename = argv[1]; file = fopen(argv[1], "r"); if(file) { yyrestart(file); yyparse(); check_prog(); gen_prog("a.out", "a.out.defs"); } else fprintf(stderr, "Source file does not exist/n");}
开发者ID:flaviocdc,项目名称:monga,代码行数:11,
示例18: mainint main(int argc, char** argv){ if (argc <= 1) return 1; FILE *f = fopen(argv[1], "r"); if (!f) { perror(argv[1]); return 1; } yyrestart(f); yyparse(); return 0;}
开发者ID:pysherlock,项目名称:compiler,代码行数:12,
示例19: node_parse_inputintnode_parse_input(parser_state* p, FILE* f, const char* fname){ int n; /* yydebug = 1; */ yyrestart(f); n = yyparse(p); if (n == 0 && p->nerr == 0) { return 0; } return 1;}
开发者ID:0x00evil,项目名称:streem,代码行数:13,
示例20: mainint main(int argc, char** argv){ FILE *fp; int i; for(i=1;i < argc;i++) { if (argc > 1){ fp = fopen(argv[i], "r"); yyrestart(fp); yylex(); } else printf("please enter a file in the argument..../n USAGE :>> ./algolLexer test"); } return 0;}
开发者ID:anirudhhkumarr,项目名称:algol_compiler,代码行数:16,
示例21: ss_parse_fileint ss_parse_file( ss_state* state, const char* src, FILE* file ){ bool is_close_file = false; if ( null == file ){ file = fopen( src, "rb" ); if ( null == file ){ SS_PUTS_ERRCODE( errno ); SS_PUTS_ERR( "fopen error %s", src ); return 1; } is_close_file = true; } state->src = src; state->line = 1; yyrestart( file ); int result = yyparse( state ); if ( is_close_file ) fclose( file ); return ( ( 0 == result ) && ( 0 == state->err ) );}
开发者ID:liveralmask,项目名称:clay,代码行数:19,
示例22: StartParser// start pasring fnParseFile file (may include mesh,skeleton,animset,...)BOOL StartParser(CTString fnParseFile){ CTFileName fnFull; fnFull = _fnmApplicationPath + fnParseFile; yyin = NULL; astrText.PopAll(); astrText.Clear(); // initialize pre-parsing variables yyin = fopen(fnFull, "r"); // reset include depth ptr include_stack_ptr = 0; strCurentFileName = fnFull; _yy_iIndex = 0; _yy_jIndex = 0; _yy_iLine = 1; // load data try { if (yyin==NULL) { ThrowF_t("Cannot open file '%s'!", (const char*)fnParseFile ); } yyrestart(yyin); yyparse(); fclose(yyin); } // if an error in parsing occured catch(char *strError) { WarningMessage(strError); // AfxMessageBox(strError); theApp.ErrorMessage(strError); if(yyin!=NULL) fclose(yyin); return FALSE; }return TRUE;}
开发者ID:AdamFlores,项目名称:Serious-Engine,代码行数:42,
示例23: yyrestartintParser::parse( const std::string& filename, FILE* fstream, const boost::shared_ptr<Database>& database){ d_errors = 0; d_warnings = 0; // Find the path in the filename, if one exists std::string::size_type slash_pos = filename.find_last_of('/'); if (slash_pos == std::string::npos) { d_pathname = ""; } else { d_pathname = filename.substr(0, slash_pos + 1); } ParseData pd; pd.d_filename = filename; pd.d_fstream = fstream; pd.d_linenumber = 1; pd.d_cursor = 1; pd.d_nextcursor = 1; d_parse_stack.clear(); d_parse_stack.push_front(pd); d_scope_stack.clear(); d_scope_stack.push_front(database); s_default_parser = this; yyrestart(0); if (yyparse() && (d_errors == 0)) { error("Unexpected parse error"); } s_default_parser = 0; d_parse_stack.clear(); d_scope_stack.clear(); return d_errors;}
开发者ID:00liujj,项目名称:SAMRAI,代码行数:41,
示例24: TSDef_ConstructUnitFromFileint TSDef_ConstructUnitFromFile ( char* file, char* name, struct tsdef_unit* unit, struct tsdef_def_error_list* errors ){ int error; yyin = fopen(file, "rt"); if(yyin == NULL) return TSDEF_ERROR_FILE_OPEN; yyrestart(yyin); error = ParseInput(name, unit, errors); fclose(yyin); return error;}
开发者ID:agottem,项目名称:trigger_script,代码行数:21,
示例25: IntrHandlervoidIntrHandler(){ extern jmp_buf env;#if defined(BSD) && BSD >= 199006 extern FILE *yyin; /* scanner input file */ extern void yyrestart(); /* routine to restart scanner after interrupt */#endif SendRequest_close(); ListHost_close(); if (filePtr != NULL && filePtr != stdout) { fclose(filePtr); filePtr = NULL; } printf("/n");#if defined(BSD) && BSD >= 199006 yyrestart(yyin);#endif longjmp(env, 1);}
开发者ID:LambdaCalculus379,项目名称:SLS-1.02,代码行数:21,
示例26: mainint main(int argc, char ** argv){ if (argc <= 1) return 1; int i; FILE* f; for(i = 1; i < argc; i++) { f = fopen(argv[i], "r"); if(!f) { perror(argv[i]); return 1; } yylineno = 1; yyrestart(f);// yydebug = 1; yyparse(); } return 0;}
开发者ID:angelhunt,项目名称:CCLAB,代码行数:21,
注:本文中的yyrestart函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 C++ yystrlen函数代码示例 C++ yyprintf函数代码示例 |