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

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

?? main.c

?? agrep
?? C
?? 第 1 頁 / 共 3 頁
字號(hào):
/* Copyright (c) 1991 Sun Wu and Udi Manber.  All Rights Reserved. */#include "agrep.h"#include "checkfile.h"unsigned Mask[MAXSYM];unsigned Init1, NO_ERR_MASK, Init[MaxError];unsigned Bit[WORD+1];CHAR buffer[BlockSize+Maxline+1];unsigned Next[MaxNext], Next1[MaxNext];unsigned wildmask, endposition, D_endpos; int  REGEX, RE_ERR, FNAME, WHOLELINE, SIMPLEPATTERN;int  COUNT, HEAD, TAIL, LINENUM, INVERSE, I, S, DD, AND, SGREP, JUMP; int  Num_Pat, PSIZE, num_of_matched, SILENT, NOPROMPT, BESTMATCH, NOUPPER;int  NOMATCH, TRUNCATE, FIRST_IN_RE, FIRSTOUTPUT;int  WORDBOUND, DELIMITER, D_length;int  EATFIRST, OUTTAIL;int  FILEOUT;int  DNA = 0;int  APPROX = 0;int  PAT_FILE = 0;int  CONSTANT = 0;int total_line = 0; /* used in mgrep */                                     CHAR **Textfiles;     /* array of filenames to be searched */CHAR old_D_pat[MaxDelimit] = "\n";  /* to hold original D_pattern */CHAR CurrentFileName[MAXNAME]; CHAR Progname[MAXNAME]; CHAR D_pattern[MaxDelimit] = "\n; "; /* string which delimits records --                                        defaults to newline */   int  NOFILENAME = 0,  /* Boolean flag, set for -h option */     FILENAMEONLY = 0,/* Boolean flag, set for -l option */     Numfiles = 0;    /* indicates how many files in Textfiles */extern int init();int table[WORD][WORD];initial_value(){   int i;    JUMP = REGEX = FNAME = BESTMATCH = NOPROMPT = NOUPPER = 0;   COUNT = LINENUM = WHOLELINE = SGREP = 0;   EATFIRST = INVERSE = AND = TRUNCATE = OUTTAIL = 0;    FIRST_IN_RE = NOMATCH = FIRSTOUTPUT = ON;   I = DD = S = 1;   HEAD = TAIL = ON;   D_length = 2;   SILENT = Num_Pat = PSIZE = SIMPLEPATTERN = num_of_matched = 0 ;   WORDBOUND = DELIMITER = RE_ERR = 0;   Bit[WORD] = 1;   for (i = WORD - 1; i > 0  ; i--)  Bit[i] = Bit[i+1] << 1;    for (i=0; i< MAXSYM; i++) Mask[i] = 0;}compute_next(M, Next, Next1)int M; unsigned *Next, *Next1;{  int i, j=0, n,  k, temp;  int mid, pp;  int MM, base;  unsigned V[WORD];     base = WORD - M;  temp = Bit[base]; Bit[base] = 0;  for (i=0; i<WORD; i++) V[i] = 0;  for (i=1; i<M; i++)  {        j=0;      while (table[i][j] > 0 && j < 10) {            V[i] = V[i] | Bit[base + table[i][j++]];      }  }  Bit[base]=temp;  if(M <= SHORTREG)  {    k = exponen(M);    pp = 2*k;    for(i=k; i<pp ; i++)    {   n = i;        Next[i]= (k>>1);        for(j=M; j>=1; j--)        {           if(n & Bit[WORD]) Next[i] = Next[i] | V[j];           n = (n>>1);        }    }          return;  }  if(M > MAXREG) fprintf(stderr, "%s: regular expression too long\n", Progname);  MM = M;  if(M & 1) M=M+1;  k = exponen(M/2);  pp = 2*k;  mid = MM/2;  for(i=k; i<pp ; i++)  {     n = i;        Next[i]= (Bit[base]>>1);        for(j=MM; j>mid ; j--)        {           if(n & Bit[WORD]) Next[i] = Next[i] | V[j-mid];           n = (n>>1);        }        n=i-k;        Next1[i-k] = 0;        for(j = 0; j<mid; j++)        {           if(n & Bit[WORD]) Next1[i-k] = Next1[i-k] | V[MM-j];           n = (n>>1);        }  }        return;}  exponen(m)int m;{ int i, ex;  ex= 1;  for (i=0; i<m; i++) ex= ex*2;  return(ex);}re1(Text, M, D)int Text, M, D;{  register unsigned i, c, r0, r1, r2, r3, CMask, Newline, Init0, r_NO_ERR;   register unsigned end;  register unsigned hh, LL=0, k;  /* Lower part */  int  FIRST_TIME=ON, num_read , j=0, base;  unsigned A[MaxRerror+1], B[MaxRerror+1];  unsigned Next[MaxNext], Next1[MaxNext];  CHAR buffer[BlockSize+Maxline+1];  int FIRST_LOOP = 1;     r_NO_ERR = NO_ERR_MASK;  if(M > 30) {     fprintf(stderr, "%s: regular expression too long\n", Progname);     exit(2);  }  base = WORD - M;  hh = M/2;  for(i=WORD, j=0; j < hh ; i--, j++) LL = LL | Bit[i];  if(FIRST_IN_RE) compute_next(M, Next, Next1);                                    /*SUN: try: change to memory allocation */  FIRST_IN_RE = 0;  Newline = '\n';  Init[0] = Bit[base];  if(HEAD) Init[0] = Init[0] | Bit[base+1];  for(i=1; i<= D; i++) Init[i] = Init[i-1] | Next[Init[i-1]>>hh] | Next1[Init[i-1]&LL];  Init1 = Init[0] | 1;   Init0 = Init[0];  r2 = r3 = Init[0];  for(k=0; k<= D; k++) { A[k] = B[k] = Init[k]; }  if ( D == 0 )  {    while ((num_read = read(Text, buffer + Maxline, BlockSize)) > 0)    {      i=Maxline; end = num_read + Maxline;      if((num_read < BlockSize) && buffer[end-1] != '\n') buffer[end] = '\n';      if(FIRST_LOOP) {         /* if first time in the loop add a newline */        buffer[i-1] = '\n';  /* in front the  text.  */	i--;        FIRST_LOOP = 0;      }      while ( i < end )      {        c = buffer[i++];        CMask = Mask[c];        if(c != Newline)        {  if(CMask != 0) {                r1 = Init1 & r3;              r2 = ((Next[r3>>hh] | Next1[r3&LL]) & CMask) | r1;           }	   else  {              r2 = r3 & Init1;            }        }        else {  j++;               r1 = Init1 & r3;            /* match against endofline */              r2 = ((Next[r3>>hh] | Next1[r3&LL]) & CMask) | r1;              if(TAIL) r2 = (Next[r2>>hh] | Next1[r2&LL]) | r2;                                        /* epsilon move */              if(( r2 & 1 ) ^ INVERSE) {                   if(FILENAMEONLY) {                          num_of_matched++;                          printf("%s\n", CurrentFileName);                          return;                   }                    r_output(buffer, i-1, end, j);              }              r3 = Init0;              r2 = (Next[r3>>hh] | Next1[r3&LL]) & CMask | Init0;                                                 /* match begin of line */        }        c = buffer[i++];        CMask = Mask[c];        if(c != Newline)        {  if(CMask != 0) {                r1 = Init1 & r2;              r3 = ((Next[r2>>hh] | Next1[r2&LL]) & CMask) | r1;           }	   else   r3 = r2 & Init1;         } /* if(NOT Newline) */        else {  j++;              r1 = Init1 & r2;            /* match against endofline */              r3 = ((Next[r2>>hh] | Next1[r2&LL]) & CMask) | r1;              if(TAIL) r3 = ( Next[r3>>hh] | Next1[r3&LL] ) | r3;                                            /* epsilon move */              if(( r3 & 1 ) ^ INVERSE) {                   if(FILENAMEONLY) {                          num_of_matched++;                          printf("%s\n", CurrentFileName);                          return;                   }                    r_output(buffer, i-1, end, j);              }              r2 = Init0;              r3 = ((Next[r2>>hh] | Next1[r2&LL]) & CMask) | Init0;                    /* match begin of line */        }      } /* while i < end ... */      strncpy(buffer, buffer+num_read, Maxline);    } /* end while read()... */  return;  } /*  end if (D == 0) */  while ((num_read = read(Text, buffer + Maxline, BlockSize)) > 0)  {    i=Maxline; end = Maxline + num_read;    if((num_read < BlockSize) && buffer[end-1] != '\n') buffer[end] = '\n';    if(FIRST_TIME) {         /* if first time in the loop add a newline */        buffer[i-1] = '\n';  /* in front the  text.  */	i--;        FIRST_TIME = 0;    }    while (i < end )    {        c = buffer[i];        CMask = Mask[c];        if(c !=  Newline)        {           if(CMask != 0) {                r2 = B[0];              r1 = Init1 & r2;              A[0] = ((Next[r2>>hh] | Next1[r2&LL]) & CMask) | r1;              r3 = B[1];              r1 = Init1 & r3;              r0 = r2 | A[0];     /* A[0] | B[0] */              A[1] = ((Next[r3>>hh] | Next1[r3&LL]) & CMask) |                                       (( r2 | Next[r0>>hh] | Next1[r0&LL])&r_NO_ERR) | r1 ;                       if(D == 1) goto Nextchar;              r2 = B[2];              r1 = Init1 & r2;              r0 = r3 | A[1];              A[2] = ((Next[r2>>hh] | Next1[r2&LL]) & CMask) |                                       ((r3 | Next[r0>>hh] | Next1[r0&LL])&r_NO_ERR) | r1 ;                       if(D == 2) goto Nextchar;              r3 = B[3];              r1 = Init1 & r3;              r0 = r2 | A[2];              A[3] = ((Next[r3>>hh] | Next1[r3&LL]) & CMask) |                                       ((r2 | Next[r0>>hh] | Next1[r0&LL])&r_NO_ERR) | r1 ;                       if(D == 3) goto Nextchar;              r2 = B[4];              r1 = Init1 & r2;              r0 = r3 | A[3];              A[4] = ((Next[r2>>hh] | Next1[r2&LL]) & CMask) |                                        ((r3 | Next[r0>>hh] | Next1[r0&LL])&r_NO_ERR) | r1 ;                       if(D == 4)  goto Nextchar;           }  /* if(CMask) */	   else  {              r2 = B[0];              A[0] = r2 & Init1;               r3 = B[1];              r1 = Init1 & r3;              r0 = r2 | A[0];              A[1] = ((r2 | Next[r0>>hh] | Next1[r0&LL])&r_NO_ERR) | r1 ;                     if(D == 1) goto Nextchar;              r2 = B[2];              r1 = Init1 & r2;              r0 = r3 | A[1];              A[2] = ((r3 | Next[r0>>hh] | Next1[r0&LL])&r_NO_ERR) | r1 ;                     if(D == 2) goto Nextchar;              r3 = B[3];              r1 = Init1 & r3;              r0 = r2 | A[2];              A[3] = ((r2 | Next[r0>>hh] | Next1[r0&LL])&r_NO_ERR) | r1 ;                     if(D == 3) goto Nextchar;              r2 = B[4];              r1 = Init1 & r2;              r0 = r3 | A[3];              A[4] = ((r3 | Next[r0>>hh] | Next1[r0&LL])&r_NO_ERR) | r1 ;                     if(D == 4) goto Nextchar;           }        }        else {  j++;              r1 = Init1 & B[D];            /* match against endofline */              A[D] = ((Next[B[D]>>hh] | Next1[B[D]&LL]) & CMask) | r1;              if(TAIL) A[D] = ( Next[A[D]>>hh] | Next1[A[D]&LL] ) | A[D];                                            /* epsilon move */              if(( A[D] & 1 ) ^ INVERSE) {                   if(FILENAMEONLY) {                          num_of_matched++;                          printf("%s\n", CurrentFileName);                          return;                   }                    r_output(buffer, i, end, j);              }              for(k=0; k<=D; k++)  B[k] = Init[0];              r1 = Init1 & B[0];              A[0] = (( Next[B[0]>>hh] | Next1[B[0]&LL]) & CMask) | r1;              for(k=1; k<=D; k++) {                   r3 = B[k];                   r1 = Init1 & r3;                   r2 = A[k-1] | B[k-1];                   A[k] = ((Next[r3>>hh] | Next1[r3&LL]) & CMask) |                                       ((B[k-1] | Next[r2>>hh] | Next1[r2&LL]) & r_NO_ERR) | r1;              }        }Nextchar: i=i+1;        c = buffer[i];        CMask = Mask[c];        if(c != Newline)        {           if(CMask != 0) {                r2 = A[0];              r1 = Init1 & r2;              B[0] = ((Next[r2>>hh] | Next1[r2&LL]) & CMask) | r1;              r3 = A[1];              r1 = Init1 & r3;              r0 = B[0] | r2;              B[1] = ((Next[r3>>hh] | Next1[r3&LL]) & CMask) |                                       ((r2 | Next[r0>>hh] | Next1[r0&LL]) & r_NO_ERR) | r1 ;                       if(D == 1) goto Nextchar1;              r2 = A[2];              r1 = Init1 & r2;              r0 = B[1] | r3;              B[2] = ((Next[r2>>hh] | Next1[r2&LL]) & CMask) |                                   ((r3 | Next[r0>>hh] | Next1[r0&LL])&r_NO_ERR) | r1 ;                       if(D == 2) goto Nextchar1;              r3 = A[3];              r1 = Init1 & r3;              r0 = B[2] | r2;              B[3] = ((Next[r3>>hh] | Next1[r3&LL]) & CMask) |                                       ((r2 | Next[r0>>hh] | Next1[r0&LL])&r_NO_ERR) | r1 ;                       if(D == 3) goto Nextchar1;              r2 = A[4];              r1 = Init1 & r2;              r0 = B[3] | r3;              B[4] = ((Next[r2>>hh] | Next1[r2&LL]) & CMask) |                                       ((r3 | Next[r0>>hh] | Next1[r0&LL])&r_NO_ERR) | r1 ;                       if(D == 4)   goto Nextchar1;           }  /* if(CMask) */	   else  {              r2 = A[0];              B[0] = r2 & Init1;               r3 = A[1];              r1 = Init1 & r3;              r0 = B[0] | r2;

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91精品国产一区二区三区蜜臀 | 欧美日韩1区2区| 精品免费99久久| 一区二区三区在线免费观看| 国产一区二区三区免费播放| 在线视频一区二区免费| 26uuu另类欧美亚洲曰本| 亚洲国产一区二区在线播放| 99在线精品观看| 国产亚洲欧美一级| 免费xxxx性欧美18vr| 在线日韩一区二区| 亚洲三级电影网站| 大尺度一区二区| 精品福利一二区| 日韩一区精品视频| 欧美丝袜丝nylons| 亚洲精品中文字幕在线观看| 国产成人a级片| 欧美v国产在线一区二区三区| 亚洲va欧美va人人爽午夜| 99久久精品国产观看| 国产亚洲精久久久久久| 久久精品av麻豆的观看方式| 欧美日本一区二区在线观看| 亚洲欧美另类久久久精品| 成人动漫视频在线| 国产视频在线观看一区二区三区| 久久66热re国产| 宅男噜噜噜66一区二区66| 亚洲一区二区三区四区中文字幕| 97se狠狠狠综合亚洲狠狠| 欧美韩国日本一区| 国产成人av自拍| 国产三级精品视频| 国产凹凸在线观看一区二区| 久久亚洲二区三区| 国产精品一区二区你懂的| 欧美精品一区二区三区蜜桃 | 亚洲一区二区三区爽爽爽爽爽| 99国产精品国产精品毛片| 国产精品三级av| 成人免费视频视频| 欧美国产精品专区| 暴力调教一区二区三区| 亚洲欧美自拍偷拍色图| 99精品国产视频| 亚洲婷婷国产精品电影人久久| 91色.com| 亚洲国产另类精品专区| 欧美日韩一级视频| 五月婷婷激情综合网| 欧美午夜不卡视频| 天堂一区二区在线| 日韩欧美国产综合一区| 国内精品伊人久久久久av影院| 久久亚洲私人国产精品va媚药| 国产不卡在线一区| 亚洲日本在线天堂| 精品一区二区三区免费播放| av成人动漫在线观看| 18欧美亚洲精品| 欧美性猛片xxxx免费看久爱| 亚洲18女电影在线观看| 日韩欧美亚洲国产另类| 国产精品中文欧美| 国产精品乱码人人做人人爱 | 免费成人美女在线观看| 精品国产伦一区二区三区观看方式| 狠狠色综合色综合网络| 欧美激情资源网| 在线观看视频一区二区| 青草国产精品久久久久久| 久久―日本道色综合久久| 成人性生交大片免费看中文 | 国产欧美一区二区精品秋霞影院| k8久久久一区二区三区| 午夜欧美视频在线观看| 欧美白人最猛性xxxxx69交| 成人自拍视频在线| 一区二区三区丝袜| 日韩精品中文字幕一区| 成人午夜私人影院| 午夜婷婷国产麻豆精品| 久久夜色精品一区| 在线观看一区日韩| 国模套图日韩精品一区二区| 国产精品嫩草影院av蜜臀| 欧美亚洲国产怡红院影院| 久久精品国产一区二区| 国产精品蜜臀av| 7777精品久久久大香线蕉| 国产精品99久久久久| 亚洲精品国产成人久久av盗摄| 日韩午夜中文字幕| 不卡一区二区在线| 美腿丝袜亚洲色图| 最新不卡av在线| 日韩视频一区二区三区在线播放 | 亚洲国产视频一区二区| 欧美成人欧美edvon| 色综合久久久久久久久久久| 美国三级日本三级久久99| 国产精品伦理在线| 日韩三级在线免费观看| 91丝袜高跟美女视频| 蜜桃一区二区三区在线观看| 18成人在线视频| 久久综合狠狠综合| 欧美色大人视频| 成人在线视频一区二区| 日韩影视精彩在线| 国产精品毛片久久久久久| 91精品国产麻豆国产自产在线 | 丝袜诱惑亚洲看片| 国产精品卡一卡二卡三| 精品国产乱码久久久久久蜜臀| 在线看不卡av| 粉嫩欧美一区二区三区高清影视| 男女性色大片免费观看一区二区| 中文字幕一区二区三区四区| 久久综合久久鬼色中文字| 欧美日韩中文字幕精品| 成人av在线一区二区| 麻豆精品在线播放| 亚洲图片欧美视频| 成人欧美一区二区三区白人| 精品毛片乱码1区2区3区| 欧美日韩一区二区三区高清 | 日韩在线卡一卡二| 亚洲欧美二区三区| 国产精品久久久一本精品 | 欧美精品日韩精品| 日本久久一区二区| 99视频精品全部免费在线| 国产精品综合一区二区| 免费精品99久久国产综合精品| 亚洲国产综合91精品麻豆| 亚洲靠逼com| 国产精品美女久久久久久2018| 久久麻豆一区二区| 精品国产乱子伦一区| 日韩一区二区中文字幕| 777久久久精品| 欧美猛男超大videosgay| 91久久一区二区| 色域天天综合网| 91香蕉视频黄| 99视频一区二区| 老司机精品视频在线| 亚洲国产经典视频| 久久精品视频一区二区三区| 精品久久久网站| 欧美tk丨vk视频| 欧美精品一区二区三区视频| 精品国产91亚洲一区二区三区婷婷 | 国产精品沙发午睡系列990531| www精品美女久久久tv| 亚洲精品一区二区三区影院| 欧美成人免费网站| 久久综合999| 国产调教视频一区| 国产精品美女久久久久久久网站| 国产精品日韩精品欧美在线| 国产精品素人视频| 亚洲视频小说图片| 一区二区三区美女视频| 一区二区三区在线视频观看| 亚洲成在人线免费| 三级久久三级久久久| 久久国产精品一区二区| 国产在线一区观看| 国产精品一线二线三线| 成人三级在线视频| 色伊人久久综合中文字幕| 欧美在线制服丝袜| 欧美一区二区三区精品| 日韩欧美国产不卡| 久久精品亚洲精品国产欧美kt∨| 欧美国产成人精品| 一区二区三区日韩欧美| 五月天一区二区| 精品一区二区综合| 成人午夜激情在线| 色香蕉成人二区免费| 欧美日韩国产电影| 精品国产网站在线观看| 国产精品免费aⅴ片在线观看| 亚洲精品视频自拍| 日韩高清不卡在线| 国产一区福利在线| 91在线视频官网| 欧美人与禽zozo性伦| 久久婷婷色综合| 亚洲免费在线观看视频| 日欧美一区二区| 成人永久免费视频| 欧美日韩久久久| 久久亚洲一区二区三区明星换脸 | 欧美岛国在线观看|