亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? eicmod.c

?? 微軟的基于HMM的人臉識別原代碼, 非常經(jīng)典的說
?? C
?? 第 1 頁 / 共 3 頁
字號:
		    type->alias = 1;
	type = nextType(type);
    }
}


static long getmitem(val_t *v, int t)
{
    switch(t) {
      case INT: return v->ival;
      case UINT: return v->uival;	
      case LONG: return v->lval;
      case ULONG: return v->ulval;
    }
    return -1;      
}

static int rm(void)
{
    unsigned long mitem;
    
    int t, h = EiC_work_tab;
    EiC_work_tab = stand_tab;
    do {
	switch(EiC_lexan()) {
	  case ID:
	  case TYPENAME:
	    t = EiC_gettype(token->Val.sym->type);
	    if (t == ID) {
		EiC_remsym(token->Val.sym);
		/*
		 * check for a tag name.
		 */
		if((token->Val.sym = EiC_lookup(tag_tab,EiC_LEXEM)) == NULL) {
		    EiC_error("Unknown identifier %s",EiC_LEXEM);
		}else {
		    checktype(token->Val.sym->type);
		    EiC_remsym(token->Val.sym);
		}
	    } else if (t == t_builtin) {
		EiC_error("Cannot remove builtin functions");
	    } else {
		checktype(token->Val.sym->type);
		EiC_remsym(token->Val.sym);
	    }
	    break;
	  case INT: 
	  case UINT:
	  case LONG:
	  case ULONG:	    
	    mitem = getmitem(&token->Val,token->Tok);
	    if(EiC_getMemMark(mitem) == MEM_LEAK)
		EiC_freeMemItem(mitem);
	    else
		EiC_error("Memory item %ld is not a leak\n", mitem);
	    break;
	  default:
	    EiC_error("UnExpected input to rm");
	    break;
	    
	}
    } while (EiC_lexan() == ',');
    retractlexan();
    EiC_work_tab = h;
    return 1;
}


static int showhashtab(void)
{
    int tab;
    token_t e1;

    EiC_work_tab = tab  = stand_tab;   /* standard name space */
    EiC_inittoken(&e1);

    switch(EiC_lexan()) {
      TYPESPEC:
      TYPEQUAL:
	retractlexan();
	EiC_type_name(&e1);
	break;
      case ID:
	if(strcmp(EiC_LEXEM,"tags") == 0) 
	    tab = tag_tab;
	else if(strcmp(EiC_LEXEM,"builtin") == 0)
		e1.Type = EiC_addtype(t_builtin,0);
	else
	    retractlexan();
	break;		
      default:
	retractlexan();
    }
    if(e1.Type) {
	showtab(tab, 0,&e1,NULL,NULL);
	EiC_freetype(e1.Type);
    } else {
	showtab(tab,0,NULL,NULL,IsObject);
	showtab(tab,0,NULL,NULL,EiC_IsFunc);
    }
    return 1;
}

static int extra_option(char * option)
{
    EiC_work_tab = stand_tab;   /* standard name space */
    if (EiC_lexan() == ID) {
	if(strcmp(EiC_LEXEM,option) == 0)
	    return 1;
	else
	    retractlexan();
    } else
	retractlexan();
    return 0;
}

int EiC_exit_EiC()
{
    extern FILE *EiChist;
    fflush(NULL);
    if(EiC_verboseON)
	fputs("EiC Bye\n", stdout);
    if(EiChist)
	fclose(EiChist);
    exit(1);
    return 1;
}

static int toggle_verbose()
{
    EiC_verboseON = !EiC_verboseON;
    return EiC_verboseON;
}

static int toggle_interface()
{
    interfaceON = !interfaceON;
    return interfaceON;
}


static int toggle_memdump()
{
    EiC_memdumpON = !EiC_memdumpON;
    return EiC_memdumpON;
}

static int toggle_memtrace()
{
    EiC_memtraceON = !EiC_memtraceON;
    return EiC_memtraceON;
}

static int toggle_showline()
{
    EiC_SHOWLINE = !EiC_SHOWLINE;
    return EiC_SHOWLINE;
}


static int toggle_timer()
{
    EiC_TIMER = !EiC_TIMER;
    return EiC_TIMER;
}

static int toggle_interp()
{
    EiC_interpON = !EiC_interpON;
    return EiC_interpON;
}

static int toggle_includes()
{
    EiC_showIncludes= !EiC_showIncludes;
    return EiC_showIncludes;
}

static int toggle_trace()
{
    if(extra_option("funcs"))
	EiC_traceFunc = !EiC_traceFunc;
    else
	EiC_traceFunc = 0;

    if(EiC_traceFunc)
	EiC_traceON = 1;
    else
	EiC_traceON = !EiC_traceON;

    return EiC_traceON;
}

static int toggle_listcode()
{
    if(extra_option("linenums"))
	EiC_lineNums = !EiC_lineNums;
    else
	EiC_lineNums = 0;

    if(EiC_lineNums)
	EiC_listcodeON = 1;
    else
	EiC_listcodeON = !EiC_listcodeON;

    return EiC_listcodeON;
}


static int showhistory()
{
  #ifndef NO_HISTORY
    void EiC_show_history(FILE *fp);
    EiC_show_history(stdout);
  #endif
    return 1;
}

static int showHelp()
{
puts("-----------------------------------------------------------------------------\n"
     "EiC-COMMAND          SUMMARY DESCRIPTION\n"
     "-----------------------------------------------------------------------------\n"
     ":-I path       Append path to the include-file search list.\n"
     ":-L            List search paths.\n"
     ":-R path       Remove path from the include-file search list.\n"
     ":clear fname   Removes the contents of file fname from EiC.\n"
     ":exit          Terminates an EiC session.\n"
     ":files         Display the names of all included files.\n"
     ":files fname   Summarize the contents of the included file `fname'.\n" 
     ":gen fname     Generates EiC interface of the included file `fname'.\n"
     ":gen fname [<\"outfile\">] Places the interface in outfile\n"
     ":gen fname 4   Generates EiC interface with 4 levels of multiplexing.\n"
     ":help          Display summary of EiC commands.\n"
     ":history       List the history of all input commands.\n"
     ":includes      Display path of include files when loaded.\n"
     ":interpreter   Execute input commands. By default it is on.\n"
     ":listcode      List stack code.\n"
     ":listcode linenums     List stack code with associated line numbers.\n"
     ":memdump       Show potential memory leaks.\n"
     ":reset         Reset EiC back to its start state.\n"
     ":reset here    Set the `reset' state to EiC's current state.\n"
     ":rm  dddd      Remove memory item dddd, which is a constant integer value.\n"
     ":rm   f        Removes f's definition from the symbol tables.\n"
     ":show f        Shows type or  macro definition of `f'.\n"
     ":showline      Show input line after macro expansion.\n"
     ":status        Display the status of the toggle switches.\n"
     ":timer         Time in seconds of execution.\n"
     ":trace         Trace function calls and line numbers during code execution.\n"
     ":trace funcs   Trace function calls only during code execution.\n"
     ":variables     Display declared variables and interpreter-ed function names.\n"
     ":variables tags       Display the tag identifiers.\n"
     ":variables type-name  Display variables of type `type-name'.\n"
     ":verbose       Suppresses EiC's copyright and warning messages on start up.\n"
     "------------------------------------------------------------------------------\n"
     );
    return 0;
}

static int EiCstatus()
{
    struct toggle {
	char * name;
	int *val; }
    toggles[] =  {
        {"includes",&EiC_showIncludes},
	{"interpreter", &EiC_interpON},
	{"listcode",&EiC_listcodeON},
	{"memdump", &EiC_memdumpON},
	{"showline",&EiC_SHOWLINE},
	{"timer",&EiC_TIMER},
	{"trace",&EiC_traceON},
	{"verbose",&EiC_verboseON},
    };
    int n = sizeof(toggles)/sizeof(struct toggle);

    while(n--)
	printf("\t%-15s %d\n",toggles[n].name, *toggles[n].val);

    return 0;
}


static symentry_t *add_eicfunc(char *name, int (*func) ())
{
    symentry_t *sym;
    sym = EiC_insertLUT(eic_tab, name, t_eic);
    sym->level = 1;
    sym->val.func = func;
    return sym;
}

symentry_t *EiC_add_builtinfunc(char *name, val_t(*vfunc) ())
{
    symentry_t *sym;
    sym = EiC_insertLUT(stand_tab, name, ID);
    EiC_freetype(sym->type);
    sym->level = 1;
    sym->val.vfunc = vfunc;
    sym->type = EiC_addtype(t_builtin,NULL);
    return sym;
}


void EiC_comm_switch(void)
{
    int EiC_insertpath(char *);
    int EiC_removepath(char *);
    void EiC_listpath(void);
    char EiC_nextchar(void);
    
    char *buf;
    if (EiC_lexan() == ID) {
	if(EiC_gettype(token->Val.sym->type) == ID) {
	    EiC_remsym(token->Val.sym);
	}

	buf = getNextInput();
	    
	switch(EiC_LEXEM[0]) {
	  case 'I':
	    if(!*buf || !EiC_insertpath(buf))
	     EiC_warningerror("Failed to add path"); 
	    break;
	  case 'R':
	    if(!*buf || !EiC_removepath(buf))
	     EiC_warningerror("Failed to remove path"); 
	    break;
	  case 'L':
	    EiC_listpath();break;
	  default:	    
	    EiC_error("Unknown command switch");
	}	    	    
	    
    } else 
	EiC_error("Expected command switch");

}



/*									*/
/* Jean-Bruno Richard personal Modification inside eicmod.c		*/
/*									*/
/* Semi-automatic module code generation 				*/
/* functions. Thanks to the function prototype, it's possible to	*/
/* generate it's interfacing function to EiC.				*/
/* Few manual modification of the generated code are sometimes needed,	*/
/* but it helps a lot....						*/
/* How to use it : 							*/
/* Launch EiC, #include the desired header file 			*/
/* (Example #include "gl.h")						*/
/* and use the new EiC command :gen with the name of the header file	*/
/* (In the example :gen gl.h) EiC will output the interface to stdout	*/
/* Hope it helps.....	:						*/
/* jean-bruno.richard@mg2.com						*/



#ifndef NO_AUTOGEN


static int callBack=0;
static  int * callNo =NULL;
static  int *callpos = NULL;
static int Ncalls = 0;
static char *callName="EiC_Cfunc_";
static char *middleName="MiddleOne_";
static int  MULTIPLEX = 1;

static void EiC__generateType(type_expr *t, char *id,FILE *fp, int level)
{

    struct_t *S;

    char tmp[100];
    char out[100];

    strcpy(out,id);

    do {
        switch(EiC_gettype(t)) {
            case t_pointer: /* pointer */
                sprintf(tmp,"*%s",out);
                strcpy(out,tmp);
                break;

	    case t_char:    sprintf(tmp,"%s %s", "char", out); strcpy(out,tmp); break;
	    case t_uchar:   sprintf(tmp,"%s %s", "unsigned char",out);strcpy(out,tmp); break;
	    case t_short:   sprintf(tmp,"%s %s",  "short",out);strcpy(out,tmp);break;
	    case t_ushort:  sprintf(tmp,"%s %s",  "unsigned short",out);strcpy(out,tmp);break;
	    case t_int:     sprintf(tmp,"%s %s",  "int",out);strcpy(out,tmp);break;
	    case t_uint:    sprintf(tmp,"%s %s",  "unsigned",out);strcpy(out,tmp);break;
	    case t_long:    sprintf(tmp,"%s %s",  "long",out);strcpy(out,tmp);break;
	    case t_ulong:   sprintf(tmp,"%s %s",  "unsigned long",out);strcpy(out,tmp);break;
	    case t_float:   sprintf(tmp,"%s %s",  "float",out);strcpy(out,tmp);break;
	    case t_double:  sprintf(tmp,"%s %s",  "double",out);strcpy(out,tmp);break;
	    case t_void:  sprintf(tmp,"%s %s",  "void",out);strcpy(out,tmp);break;

	    case t_struct:
	    case t_union:
		if(EiC_gettype(t) == t_union) 
		    fputs("union {",fp);
		else
		    fputs("struct {",fp);

		S = EiC_getInf(t);
		if(!S) {
		    fputs("Incomplete", fp);
		    break;
		}
		level++;
		if (level <= 2) {
		    int i;
		    for (i = 0; i < S->n; i++) {
			EiC__generateType(S->type[i], S->id[i], fp,level);
			fputs(";",fp);
		    }
		}
		sprintf(tmp,"} %s ",out);
		strcpy(out,tmp);
		level--;
		break;

            case t_array: /* array */ 
                if(out[0] ==  '*') {
                    sprintf(tmp,"(%s)%s",out,"[]");
                    strcpy(out,tmp);
                } else {
		    sprintf(tmp,"[%d]",(int)EiC_getInf(t));
                    strcat(out, tmp);
		}
		break;

		
	}

    } while ( (t=nextType(t)));

    fprintf(fp,"%s",out);
}

static int DoCallBackNames(func_t *F, FILE *fp)
{
    int x = 0;
    if (F) {
	int i;
	callpos = realloc(callpos,sizeof(int)*getFNp(F));
	for (i = 0; i < getFNp(F); i++) {
	    type_expr *t = getFPty(F,i);
	    if(EiC_gettype(t) == t_pointer && 
	       EiC_IsFunc(EiC_gettype(nextType(t)))) {
		callNo = realloc(callNo, sizeof(*callNo) * (x+1));
		callpos[x] = i;
		callNo[x] = callBack++;
		fprintf(fp,"static void * %s%d = NULL;\n",callName,callNo[x]);
		x++;
	    }
	}
    }
    return (Ncalls = x);
}


static void genCallBackFunc(type_expr *ty, 
			    int p, 
			    FILE *fp)
{
    char buff[10];
    func_t *F, *F2;
    int i,v, var=0;
    type_expr *t;

    F = EiC_getInf(ty);
    t = getFPty(F,callpos[p]);
    t = nextType(t);
    F2 = EiC_getInf(t);

    fprintf(fp,"static ");
    EiC_showdectype(nextType(t),0,fp);

    fprintf(fp," %s%d(",middleName,callNo[p]);

    /* check 4 varadic function calls */
    for(i=0;i<getFNp(F2);i++) 
	if(EiC_gettype(getFPty(F2,i)) == t_var) {
	    var = 1;
	    break;
	}

    if(!var) {
	for(i=0;i<getFNp(F2)-1;i++) {
	    if((v=EiC_gettype(getFPty(F2,i))) == t_void)
		continue;
	    sprintf(buff,"x%d, ",i);
	    EiC__generateType(getFPty(F2,i),buff,fp,1);

	}
	if((v=EiC_gettype(getFPty(F2,i))) != t_void)  {
	    sprintf(buff,"x%d ",i);
	    EiC__generateType(getFPty(F2,i),buff,fp,1);
	}
	fprintf(fp,")\n{\n");

	for (i = 0; i < getFNp(F2); i++) {
	    if(EiC_gettype(getFPty(F2,i)) == t_void)
		continue;
	    fprintf(fp,"    setArg(%d, %s%d, ",i,callName,callNo[p]);

	    EiC__generateType(getFPty(F2,i),"",fp,1);

	    fprintf(fp,",x%d);\n",i);
	}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产高清亚洲一区| 欧美亚洲动漫精品| 一区二区三区欧美日| 欧美成人精品二区三区99精品| jlzzjlzz亚洲日本少妇| 秋霞午夜av一区二区三区| 国产精品视频线看| 亚洲精品日韩专区silk| 欧美精品一区二区久久久| 欧美性xxxxxxxx| 丁香婷婷综合五月| 精品一区二区综合| 午夜精品一区二区三区电影天堂| 中文字幕一区二区三区蜜月 | 91国内精品野花午夜精品| 激情综合网激情| 日韩成人免费看| 一区二区三区日韩| 亚洲欧美日韩综合aⅴ视频| 国产香蕉久久精品综合网| 日韩一级高清毛片| 欧美日本高清视频在线观看| 一本久久精品一区二区| 成人a免费在线看| 成人高清视频在线| 国产一区在线观看视频| 麻豆国产精品视频| 三级影片在线观看欧美日韩一区二区| 亚洲日本青草视频在线怡红院| 欧美国产一区二区| 欧美国产欧美综合| 中文av一区特黄| 国产欧美日产一区| 国产精品午夜在线| 久久91精品国产91久久小草| 五月婷婷综合网| 亚洲www啪成人一区二区麻豆| 亚洲图片有声小说| 亚洲mv在线观看| 日本不卡在线视频| 久久99精品国产91久久来源| 久久国产精品区| 狠狠久久亚洲欧美| 国产.精品.日韩.另类.中文.在线.播放| 国产一区日韩二区欧美三区| 国产精品影视在线| www.视频一区| 色婷婷久久久亚洲一区二区三区| 91小视频在线| 欧洲一区二区三区在线| 欧美色偷偷大香| 91精品蜜臀在线一区尤物| 日韩欧美一级二级三级| 久久综合九色综合97婷婷| 久久精品夜夜夜夜久久| 国产精品久久久久精k8| 亚洲日本韩国一区| 午夜欧美2019年伦理| 日本亚洲三级在线| 国产精品一区一区| 色视频一区二区| 欧美高清dvd| 国产日韩欧美一区二区三区乱码 | 日韩欧美一区在线观看| 久久综合狠狠综合久久激情| 国产精品视频免费| 亚洲午夜激情av| 国产中文字幕精品| 一本大道av一区二区在线播放| 欧美日韩免费在线视频| 亚洲精品一区二区三区蜜桃下载 | 久久久久久久久久久黄色| 国产精品欧美一区喷水| 亚洲一区二区免费视频| 一本高清dvd不卡在线观看| 欧美精品亚洲二区| 久久九九全国免费| 亚洲图片自拍偷拍| 国产成人鲁色资源国产91色综| 色婷婷av一区| 精品久久久久久最新网址| 综合久久国产九一剧情麻豆| 奇米影视一区二区三区小说| 99久久精品国产一区二区三区| 欧美日本韩国一区二区三区视频 | 国产福利91精品一区| 色屁屁一区二区| 久久在线免费观看| 丁香激情综合国产| 在线免费不卡电影| 久久一区二区视频| 亚洲一级二级在线| 国产精品一级片在线观看| 欧美影片第一页| 国产视频一区二区在线观看| 性做久久久久久免费观看| 成人午夜碰碰视频| 日韩午夜精品视频| 亚洲精品免费在线观看| 国产福利一区二区三区视频在线| 欧美日韩国产区一| 亚洲精品中文在线观看| 久久精品99久久久| 欧美特级限制片免费在线观看| 2021久久国产精品不只是精品| 亚洲精品国产成人久久av盗摄| 狠狠色综合色综合网络| 欧美日韩aaaaa| 亚洲男人的天堂一区二区| 国产mv日韩mv欧美| 欧美sm极限捆绑bd| 日韩中文字幕一区二区三区| 久久综合色天天久久综合图片| 亚洲一区二区三区在线播放| 成人av在线资源| 久久九九99视频| 精品一区中文字幕| 精品久久久久久久久久久久久久久久久 | 99国产欧美另类久久久精品 | 夜夜嗨av一区二区三区网页 | 一区二区三区精品在线观看| 成人丝袜18视频在线观看| 精品国产乱码久久久久久1区2区| 天堂精品中文字幕在线| 欧美一a一片一级一片| 亚洲人成7777| 91视频观看免费| 亚洲少妇中出一区| 99精品黄色片免费大全| 中文幕一区二区三区久久蜜桃| 国产麻豆午夜三级精品| 久久久国产精华| 懂色av中文字幕一区二区三区| 久久婷婷色综合| 粉嫩欧美一区二区三区高清影视| 久久综合色播五月| 国产精品一区二区三区99| 久久久久亚洲综合| 国产成a人亚洲精| 中文欧美字幕免费| 97se亚洲国产综合在线| 亚洲人成精品久久久久久| 色狠狠一区二区三区香蕉| 一个色综合网站| 欧美精品在线观看播放| 美洲天堂一区二卡三卡四卡视频| 日韩欧美国产高清| 精品亚洲aⅴ乱码一区二区三区| 欧美不卡一区二区| 国产福利一区二区三区视频| 中文字幕在线一区免费| 色综合久久久久综合体| 亚洲五月六月丁香激情| 日韩一区二区中文字幕| 国产精品综合二区| 中文字幕欧美一| 欧美偷拍一区二区| 久久精品国产一区二区| 国产三级精品视频| 色综合久久精品| 日本伊人精品一区二区三区观看方式 | 精品一区二区免费看| 国产三级精品三级| 色哟哟一区二区三区| 亚洲一区自拍偷拍| 精品国内二区三区| 91香蕉视频mp4| 丝袜美腿亚洲色图| 国产目拍亚洲精品99久久精品| 91视频在线看| 久久99在线观看| 亚洲人吸女人奶水| 91麻豆精品国产无毒不卡在线观看 | 国产精品99久久久久久宅男| 综合在线观看色| 在线不卡免费欧美| 9i看片成人免费高清| 天天色综合天天| 国产精品美女视频| 日韩一区二区三区三四区视频在线观看 | 国产精品激情偷乱一区二区∴| 欧美优质美女网站| 国产福利一区二区三区在线视频| 一区二区在线电影| 久久综合网色—综合色88| 欧美羞羞免费网站| 国产精品99久久久久久宅男| 亚洲一区二区三区小说| 国产女人水真多18毛片18精品视频| 在线观看www91| 成人黄色777网| 蜜桃视频一区二区| 亚洲午夜电影在线| 国产精品主播直播| 午夜av电影一区| 亚洲女厕所小便bbb| 国产欧美精品一区二区色综合 | 欧美色图免费看| 99久久婷婷国产| 国产一区二区久久|