您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ yy_delete_buffer函数代码示例

51自学网 2021-06-03 11:55:00
  C++
这篇教程C++ yy_delete_buffer函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中yy_delete_buffer函数的典型用法代码示例。如果您正苦于以下问题:C++ yy_delete_buffer函数的具体用法?C++ yy_delete_buffer怎么用?C++ yy_delete_buffer使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了yy_delete_buffer函数的30个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: jsgf_parse_string

jsgf_t *jsgf_parse_string(const char *string, jsgf_t * parent){    yyscan_t yyscanner;    jsgf_t *jsgf;    int yyrv;    YY_BUFFER_STATE buf;    yylex_init(&yyscanner);    buf = yy_scan_string(string, yyscanner);    jsgf = jsgf_grammar_new(parent);    if (!parent)        jsgf_set_search_path(jsgf, NULL);    yyrv = yyparse(yyscanner, jsgf);    if (yyrv != 0) {        E_ERROR("Failed to parse JSGF grammar from input string/n");        jsgf_grammar_free(jsgf);        yy_delete_buffer(buf, yyscanner);        yylex_destroy(yyscanner);        return NULL;    }    yy_delete_buffer(buf, yyscanner);    yylex_destroy(yyscanner);    return jsgf;}
开发者ID:Amponti,项目名称:SpeechRecognition_DE1-SOC,代码行数:28,


示例2: yywrap

int	yywrap() {		if (!include_app) {	/* all input files and strings get a newline appended to them */		include_app = 1;		yy_scan_string("/n");		return 0;	} else {		include_app = 0;		if (inpfile) {	/* (this is just an informal input text for printing-out...) */			FREE(inpfile);  inpfile = NULL;		}			/* delete the input buffer, and possibly close the input file */		yy_delete_buffer(YY_CURRENT_BUFFER);#if CLOSE_AFTER_FLEX>0		if (include_stack_file[include_stack_ptr])			fclose(include_stack_file[include_stack_ptr]);#endif			/* pop the previous saved state from the stack */		if (--include_stack_ptr>=0) {			yy_switch_to_buffer(include_stack[include_stack_ptr]);			inpfile = include_stack_fn[include_stack_ptr];			inpline = include_stack_ln[include_stack_ptr];			yy_pop_state();			return 0;		} /*** else  yyterminate();	does not work ??? ***/	}	return 1;	/* (means the end of current input) */}
开发者ID:Rajesh-Veeranki,项目名称:MACEK,代码行数:28,


示例3: yy_scan_bytes

void Text::CreateFromXML(const string& XML){    ::pText = this;    YY_BUFFER_STATE buffer = yy_scan_bytes(XML.c_str(), XML.size());    yyparse();    yy_delete_buffer(buffer);}
开发者ID:FGRE,项目名称:libnpengine-new,代码行数:7,


示例4: source_parse_file

int source_parse_file(source *src, const char *filename, const char *modname){  YY_BUFFER_STATE bufstate;  int r;  if (NULL == (yyin = fopen(filename,"r"))) {    perror(filename);    return -1;  }  yyfilename = filename;  yyfileno = add_parsedfile(src,filename);    ////yyfileno is the index in the src->parsedfiles  yylloc.first_line = 1;  bufstate = yy_create_buffer(yyin,YY_BUF_SIZE);  yy_switch_to_buffer(bufstate);  parse_src = src;  parse_modname = modname ? modname : "";  r = yyparse();  yy_delete_buffer(bufstate);#if HAVE_YYLEX_DESTROY  yylex_destroy();#endif  if (yyin)    fclose(yyin);  return r;}
开发者ID:amirsalah,项目名称:cs2007,代码行数:29,


示例5: guard

t_sip_message *t_parser::parse(const string &s, list<string> &parse_errors_) {	t_mutex_guard guard(mtx_parser);		int ret;	struct yy_buffer_state *b;	msg = NULL;	parse_errors.clear();	string x = unfold(s);	b = yy_scan_string(x.c_str());	ret = yyparse();	yy_delete_buffer(b);	if (ret != 0) {		if (msg) {			MEMMAN_DELETE(msg);			delete msg;			msg = NULL;		}		throw ret;	}	parse_errors_ = parse_errors;	return msg;}
开发者ID:LubosD,项目名称:twinkle,代码行数:27,


示例6: yy_scan_string

ModuleNode *getAST(const char *expr){    ModuleNode *expression;    yyscan_t scanner;    YY_BUFFER_STATE state;    if (yylex_init(&scanner)) {        // couldn't initialize        return NULL;    }    state = yy_scan_string(expr, scanner);    yydebug = 0;    if (yyparse(&expression, scanner)) {        // error parsing        return NULL;    }    yy_delete_buffer(state, scanner);    yylex_destroy(scanner);    return expression;}
开发者ID:Groterik,项目名称:dlang-ast,代码行数:25,


示例7: yyparse

pt_node *buildAST(const char *expr) {	extern int yyparse(pt_node **, yyscan_t);	FILE *file;	yyscan_t scanner;	pt_node *node = NULL;	YY_BUFFER_STATE state;	if(yylex_init(&scanner)) {		fprintf(stderr, "Failed to initialize parser./n");		exit(-1);	}	file = fopen(expr, "r");	if(file == NULL) {		perror("fopen");		exit(-1);	}	state = yy_create_buffer(file, 1024, scanner);	yy_switch_to_buffer(state, scanner);	if(yyparse(&node, scanner)) {		fprintf(stderr, "Error parsing input./n");		exit(-1);	}	yy_delete_buffer(state, scanner);	yylex_destroy(scanner);	return node;}
开发者ID:Winter-M,项目名称:Trot,代码行数:32,


示例8: __declspec

//////////////////////////////////////////////////////////////////////////// EXPORTED FUNCTIONS//////////////////////////////////////////////////////////////////////////__declspec(dllexport) BYTE* CompileBuffer(BYTE* Buffer, char* Source, DWORD BufferSize, DWORD* CompiledSize){		YY_BUFFER_STATE state;	BYTE* ret = NULL;	if(Buffer==NULL){		if(CompiledSize)*CompiledSize = 0;		return NULL;	}	state = yy_scan_bytes(Buffer, BufferSize);	lineno=1;	yyparse();	yy_delete_buffer(state);	if(errorCheck()) goto finish_error;	weedSCRIPTCOLLECTION(thescriptcollection);	if(errorCheck()) goto finish_error;		symSCRIPTCOLLECTION(thescriptcollection);	if(errorCheck()) goto finish_error;		ret = opcodeSCRIPTCOLLECTION(thescriptcollection, Source, CompiledSize);	if(errorCheck()) goto finish_error;	FinalCleanup();	return ret;finish_error:	if(ret!=NULL) free(ret);	*CompiledSize = 0;	FinalCleanup();	return NULL;}
开发者ID:segafan,项目名称:wme1_jankavan_tlc_edition-repo,代码行数:38,


示例9: como_ast_create

int como_ast_create(const char *filename){    ast_node* statements;    yyscan_t scanner;    YY_BUFFER_STATE state;    char* text;    text = file_get_contents(filename);    if(!text) {        printf("file '%s' not found/n", filename);        return 1;    }        if(yylex_init(&scanner)) {        como_error_noreturn("yylex_init returned NULL");    }    state = yy_scan_string(text, scanner);    if(yyparse(&statements, scanner)) {        como_error_noreturn("yyparse returned NULL");    }    yy_delete_buffer(state, scanner);    yylex_destroy(scanner);    como_compile_ast(statements, filename);    return 0;}
开发者ID:rmccullagh,项目名称:como-lang,代码行数:32,


示例10: ne_parse

int ne_parse(const char *formula){	int err;	struct symbol_table *sym;	ne.buf = yy_scan_string(formula, ne.scanner);	yyset_lineno(1, ne.scanner);	yyset_column(1, ne.scanner);	__ne_clear_error(&ne);	err = yyparse(&ne);	if (!err) {		__ne_put_result(&ne, eval(&ne, ne.root));		sym = get_sym(&ne, "y");		if (sym && sym->dirty) {			__ne_put_result(&ne, __ne_get_y(&ne));			clean_output_sym(&ne);		}	}	if (ne.error != 0)		err = ne.error;	else if (ne.warrning != 0)		err = ne.warrning;	free_ast(ne.root);	ne.root = NULL;	ne.stop = 0;	yy_delete_buffer(ne.buf, ne.scanner);	return err;}
开发者ID:gentooinit,项目名称:n00b-expression,代码行数:35,


示例11: getAST

ltl_formula *getAST (const char *input){  ltl_formula *formula;  yyscan_t scanner;  YY_BUFFER_STATE state;  if (yylex_init (&scanner))    {      // couldn't initialize      return NULL;    }  state = yy_scan_string (input, scanner);  if (yyparse (&formula, scanner))    {      // error parsing      return NULL;    }  yy_delete_buffer (state, scanner);  yylex_destroy (scanner);  return formula;}
开发者ID:juzer10,项目名称:FSE-2014-Aalta,代码行数:25,


示例12: dbg_parse

// -----------------------------------------------------------------------int dbg_parse(char *c){	YY_BUFFER_STATE yb = yy_scan_string(c);	int res = yyparse();	yy_delete_buffer(yb);	return res;}
开发者ID:32bitmicro,项目名称:mera400,代码行数:8,


示例13: runCommand

/** * @function    runCommand * * @abstract    Parses and executes a command given a NULL terminated string. * @discussion  Parses the command and adds it to the history if it is *              nontrivial. * * @param       cmd_buffer      Pointer to NULL terminated string containing *                              the user input. * @result      Returns nothing, but runs a command, most likely printing to *              the terminal. */void runCommand(char* cmd_buffer) {    Command *command = NULL;    yyscan_t scanner;    YY_BUFFER_STATE state;    // Check if there is anything in the line.  It is useless to store    // a history of empty lines.  If it is not empty, then add it to our    // history.  Also don't want to record line rerun calls.    if ((cmd_buffer[0] != 0) && (cmd_buffer[0] != '!')) {        add_history(cmd_buffer);    }    state = yy_scan_string(cmd_buffer);    if (yyparse(&command, scanner)) {        printf("Error in parsing command./n");        deleteCommand(command);        return;    }    executeCommand(command, -1);    deleteCommand(command);    // Wait on all child processes    while (wait(NULL) > 0) {}    yy_delete_buffer(state);    yylex_destroy();    return;}
开发者ID:jerryxzhang,项目名称:Kernel-Sanders,代码行数:44,


示例14: FILESTATUS

char *PCCloseentity(void) {    char * pc;    PEntRec per;#ifdef DEBUGGING    FILESTATUS(stdout,"stdout");    MsgKwS(msgTRACE,"Closing the current entity ...",NULL);    MsgKwS(msgTRACE,"PCCloseentity() called ...",NULL);    FILESTATUS(stdout,"stdout");    FILESTATUS(stdin,"stdin");    FILESTATUS(stderr,"stderr");    FILESTATUS(yyin,"yyin");#endif    if (cEntCur > 0) {         per = rgEntities[cEntCur];         pc = per->pcEntname;         if (per->fExtern)              fclose(yyin);         /* close yyin.  We don't need to reset it,            that happens in yy_switch_to_buffer, below */         yy_delete_buffer(YY_CURRENT_BUFFER);         yy_switch_to_buffer(rgBuffers[--cEntCur]);         /* reset pcEntpos and fRdexternal */         if (cEntCur > 0) {              per = rgEntities[cEntCur];              if (per->fExtern) {                   fRdexternal = 1;                   pcEntpos = "";              } else {                   fRdexternal = 0;                   pcEntpos = rgPCPos[cEntCur];              }         } else { /* back to stdin */              fRdexternal = 1;              pcEntpos = "";         }         cLinecount = rgILine[cEntCur];         fnCurrent  = rgPCFn[cEntCur];#ifdef DEBUGGING    FILESTATUS(stdout,"stdout");    FILESTATUS(stdin,"stdin");    FILESTATUS(stderr,"stderr");    FILESTATUS(yyin,"yyin");#endif         return pc;    } else {#ifdef DEBUGGING    FILESTATUS(stdout,"stdout");    FILESTATUS(stdin,"stdin");    FILESTATUS(stderr,"stderr");    FILESTATUS(yyin,"yyin");#endif         return NULL;    }}
开发者ID:TEIC,项目名称:Carthage,代码行数:59,


示例15: command_parse_string

int command_parse_string( const char *buffer ){    typedef struct yy_buffer_state* YY_BUFFER_STATE;    extern YY_BUFFER_STATE yy_scan_string( const char *yy_str );    extern void yy_delete_buffer( YY_BUFFER_STATE state );    int rv = 1;    YY_BUFFER_STATE state = yy_scan_string( (char*)buffer );    switch ( yylex() ) {    case SET:        /* get the next token */        rv = command_parse_set();        break;    case UNSET:    case BIND:    case MACRO:        /* ignore this stuff for now. */        rv = 1;        break;    case NUMBER: {        const char *number = get_token();        if ( number[0] == '+' ) {            source_vscroll( if_get_sview(), atoi( number+1 ));            rv = 0;        } else if ( number[0] == '-' ) {            source_vscroll( if_get_sview(), -atoi( number+1 ));            rv = 0;        } else {            source_set_sel_line(if_get_sview(), atoi( number ));            rv = 0;        }        if_draw();    } break;    case IDENTIFIER: {        COMMANDS *command = get_command( get_token() );        if ( command ) {            command->action(command->param);            rv = 0;        } else {            rv = 1;        }    } break;    case EOL:         /* basically just an empty line, don't do nothin. */        rv = 0;        break;    default:        rv = 1;        break;    }    yy_delete_buffer( state );    return rv;}
开发者ID:amberik,项目名称:cgdb-initial.cgdb-featured,代码行数:59,


示例16: main

int main(int argc, char *argv[]) {	char *str, *str0;	size_t str0_sz;	char *url;	FILE *fout;	uint suc_cnt = 0, fail_cnt = 0;	if (argc != 2) {		printf("invalid argument format. /n");		return 0;	}	url = argv[1];	fout = fopen("parser.output", "w");	fprintf(fout, "%s/n", url);	/* disable auto-complete */	rl_bind_key('/t', rl_abort);	while (1) {		str = readline("edit: ");		if (str == NULL) {			printf("/n");			break;		} 		/* user can use UP and DOWN key to 		search through the history. */		add_history(str); 		str0 = to_scan_str(str, &str0_sz);		YY_BUFFER_STATE buffer = 			yy_scan_buffer(str0, str0_sz);		yyparse();		if (parser_error_flag) {			fail_cnt ++;			parser_error_flag = 0;			printf("[ %s ]/n", parser_error_dscr);		} else {			suc_cnt ++;			fprintf(fout, "%s/n", str);			parser_out(fout);		}		yy_delete_buffer(buffer);		free(str);		free(str0);	} 	fclose(fout);	printf("[ %d successfully parsed, %d fail(s) ]/n", 	       suc_cnt, fail_cnt);	return suc_cnt;}
开发者ID:t-k-,项目名称:math-se,代码行数:59,


示例17: val_parse_forall

void val_parse_forall(char *s, val_callback_t callback) {  yyscan_t scanner;  if (yylex_init(&scanner)) die("yylex_init error");  YY_BUFFER_STATE buf = s ? yy_scan_string(s, scanner) : 0;  if (yyparse(scanner, callback)) die("parse error");  yy_delete_buffer(buf, scanner);  yylex_destroy(scanner);}
开发者ID:blynn,项目名称:symple,代码行数:8,


示例18: lexer_restore_buffer

voidlexer_restore_buffer(RemarkFile *rf){	file = rf;	yy_delete_buffer(YY_CURRENT_BUFFER);	if (rf != NULL)		yy_switch_to_buffer(rf->lex_buffer);}
开发者ID:GregBowyer,项目名称:regex-markup,代码行数:8,


示例19: yy_scan_string

LispObj *read_from_string(char *str){	YY_BUFFER_STATE yy_buf = yy_scan_string(str);	LispObj *obj = read_from_yybuf(yy_buf);	yy_delete_buffer(yy_buf);	return obj;}
开发者ID:orodley,项目名称:ali,代码行数:8,


示例20: yy_create_buffer

LispObj *read_from_stream(FILE *stream){	YY_BUFFER_STATE yy_buf = yy_create_buffer(stream, YY_BUF_SIZE);	LispObj *obj = read_from_yybuf(yy_buf);	yy_delete_buffer(yy_buf);	return obj;}
开发者ID:orodley,项目名称:ali,代码行数:8,


示例21: parse

int parse(const char *input, cmd *cmds[], int size){  elementType type;  redirectMode redir;  int cmd_count = -1, fd;  int valid_pipe = 0;  char *str;  YY_BUFFER_STATE buf = yy_scan_string(input);  while ((type = yylex()) != 0) {    if (cmd_count == -1) cmd_count = 0;    fd = -1;    str = NULL;    switch (type) {    case SEMICOLON:      cmd_count++; valid_pipe = 0; break;    case PIPE:      if (!valid_pipe) {        fprintf(stderr, "shell: invalid pipe/n");        yy_delete_buffer(buf);        return -1;      }      cmd_add_pcmd(&cmds[cmd_count]); break;    case CMD:      valid_pipe = 1;    case STRING:      str = handle_escaped_chs(yytext);      //fprintf(stderr, "%s %s/n", yytext, str);      cmd_addarg(cmds[cmd_count], str); break;    case FD_IN_RED: case FD_OUT_RED: case FD_APPEND:      fd = get_fd(yytext, type);    case IN_RED: case OUT_RED: case OUT_APPEND: case OUT_ERR_RED: case OUT_ERR_APPEND:      yylex();      str = handle_escaped_chs(yytext);      cmd_redirect(cmds[cmd_count], fd, type, str); break;    case BACKGROUND:      cmd_set_bg(cmds[cmd_count]); break;    default:      fprintf(stderr, "Unknown type: %d, %s/n", type, yytext);    }    free(str);  }  yy_delete_buffer(buf);  return cmd_count + 1;}
开发者ID:ddjfreedom,项目名称:Shell,代码行数:44,


示例22: compileST

int compileST (char *pgm) {	extern char *yy_scan_bytes();	char *my_string_buffer = yy_scan_bytes (pgm, strlen(pgm)+1);	int my_parse_result  = yyparse ();	if	(my_parse_result)		return	-1;	yy_delete_buffer (my_string_buffer);	yylex_destroy();	return 0;}
开发者ID:actility,项目名称:ong,代码行数:10,


示例23: parseFile

void parseFile(FILE* in){  YY_BUFFER_STATE* tmp =  new YY_BUFFER_STATE;  *tmp = yy_create_buffer(in, YY_BUF_SIZE);  yy_switch_to_buffer(*tmp);  if(buffer)    yy_delete_buffer(*buffer);    delete buffer;  buffer = tmp;}
开发者ID:Albaraa2010,项目名称:AI_CHESS,代码行数:10,


示例24: parse_string

static VALUEparse_string(VALUE self, VALUE code) {  VALUE lineno = rb_funcall(self, rb_intern("lineno"), 0);  char *str = StringValueCStr(code);  YY_BUFFER_STATE buffstate = yy_scan_string(str);  yy_switch_to_buffer(buffstate);  yylineno = NUM2INT(lineno);  yyparse(self);  yy_delete_buffer(buffstate);  return self;}
开发者ID:IFFranciscoME,项目名称:fancy,代码行数:11,


示例25: close_stemmer

void close_stemmer() {  //fclose(morpha_instream);  //free(morpha_instream_buff_ptr);  //fclose(morpha_outstream);  //free(morpha_outstream_buff_ptr);  yy_delete_buffer(yy_current_buffer);  int i;  for (i=0; i<verbstem_n; i++) {    free(verbstem_list[i]);  }  free(verbstem_list);}
开发者ID:KWARC,项目名称:deprecated-LLaMaPUn,代码行数:12,


示例26: Compile

void Compile(const char* pBuffer, uint32_t Length, Buffer* NsbBuffer, Buffer* MapBuffer){    Counter = 1;    SymCounter = 1;    Output = NsbBuffer;    MapOutput = MapBuffer;    YY_BUFFER_STATE buffer = yy_scan_bytes(pBuffer, Length);    yyparse();    pRoot->Compile();    yy_delete_buffer(buffer);    delete pRoot;}
开发者ID:DaZombieKiller,项目名称:libnpa,代码行数:12,


示例27: wp_entry_add_string

// tokenizes and adds everything under a single fieldwp_error* wp_entry_add_string(wp_entry* entry, const char* field, const char* string) {  yyscan_t scanner;  lexinfo charpos = {0, 0};  yylex_init_extra(&charpos, &scanner);  YY_BUFFER_STATE state = yy_scan_string(string, scanner);  RELAY_ERROR(add_from_lexer(entry, &scanner, field));  yy_delete_buffer(state, scanner);  yylex_destroy(scanner);  return NO_ERROR;}
开发者ID:hand-code,项目名称:whistlepig,代码行数:13,


示例28: parse_filter_string

int parse_filter_string(char *filter){	YY_BUFFER_STATE buffer_state = yy_scan_string(filter);	int status = yyparse();	yy_delete_buffer(buffer_state);	if (status) {		// Error		log_error("zmap", "Unable to parse filter string: '%s'", filter);		return 0;	}	zconf.filter.expression = zfilter;	return 1;}
开发者ID:alberto98fx,项目名称:zmap,代码行数:13,


示例29: yy_scan_string

ASTNode* Compiler::parse(std::string code) {	ASTNode* root;	yyscan_t scanner;	YY_BUFFER_STATE buffer;	if (yylex_init(&scanner)) {		return NULL;	}	buffer = yy_scan_string(code.c_str(), scanner);	yyparse(&root, scanner);	yy_delete_buffer(buffer, scanner);	yylex_destroy(scanner);	return root;}
开发者ID:Raekye,项目名称:hmmm,代码行数:13,


示例30: yy_scan_bytes

param_ret_t *do_ST_interpreter (void *userctx, char *pgm) {	extern char *yy_scan_bytes();	char *my_string_buffer = yy_scan_bytes (pgm, strlen(pgm)+1);	int my_parse_result  = yyparse ();	if	(my_parse_result)		return	NULL;	yy_delete_buffer (my_string_buffer);	yylex_destroy();	param_ret_t *pret = codeGen (programBlock, userctx);	cleanUp (programBlock);	return	pret;}
开发者ID:actility,项目名称:ong,代码行数:14,



注:本文中的yy_delete_buffer函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


C++ yy_pop_parser_stack函数代码示例
C++ yr_malloc函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。