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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? agrep.chronicle

?? linux下閱讀源碼的好工具
?? CHRONICLE
字號:
/* Copyright (c) 1994 Sun Wu, Udi Manber, Burra Gopal.  All Rights Reserved. */Started in Feb 1991.This chronicle briefly describes the progress of agrep.Feb/91: The approximate pattern matching algorithm called 'bitap'	(bit-parallel approximate pattern matching) is designed.	The algorithm is a generalization of Baeza-Yates' "shift-or"	algorithm for exact matching.Mar/91: Many extensions of the algorithm 'bitap' are found, especially	for approximate regular expression pattern matching.  Preliminary	implementation of the algorithm showed a strong promise for 	a general-purpose fast approximate pattern-matching tool.Apr/91: Approximate regular expression pattern matching was implemented.	The result is even better than expected. 	The design of the software tool is pinned down.	(For example, record oriented, multi-pattern, AND/OR logic queries.)	A partition technique for approximate pattern matching is used.	May/91: The prototype of "agrep" is completed.	A lot of debugging/optimization in this month.Jun/91: The first version of agrep is released.	agrep 1.0 was announced and made available by anonymous ftp 	from cs.arizona.edu.Jul/91: A sub-linear expected-time algorithm, called "amonkey" for 	approximate pattern matching (for simple pattern) is designed.	The algorithm has the same time complexity as that of	Chang&Lawler but is much much faster in practice.	The algorithm is based on a variation of Boyer-Moore technique,	which we call "block-shifting." 	A sub-linear expected-time algorithm, called "mgrep" for 	matching a set of patterns is designed based on the "block-shifting" 	technique with a hashing technique.Aug/91: "amonkey" is implemented and incorporated into agrep.	It is very fast for long patterns like DNA patterns.	(But roughly the same for matching English words as the bitap	algorithm using the partition technique.)	Prototype of "mgrep" is implemented.Sep/91: "mgrep" is incorporated into agrep to support the -f option.	An algorithm for approximate pattern matching that combines the 	'partition' technique with the sub-linear expected-time algorithm 	for multi-patterns is designed.	Implementation shows it to be the fastest for ASCII text (and pattern).	Boyer-moore technique for exact matching is incorporated.Nov/91: The final paper of "agrep" that is to appear in USENIX	conference (Jan 1992)  is finished.Jan/92: Some new options are added, such as find best matches (-B), 	and file outputs (-G).	The man pages are revised.	agrep version 2.0 is released.	Fixed the following bugs and change the version to be 2.01.	1. -G option doesn't work correctly.	2. multiple definition of some global variables.	3. -# with -w forced the first character of the pattern to be matchedMar/92: Fixed the following bugs and change the version to be 2.02.	1. agrep sometimes misses some matches for pipeline input.	2. the word delimiter was not defined consistantly.------------------------------------------------------------------------------bgopal: The following changes were made to the original agrep during 1993-94:1. Modifications to make main() take multiple options from the same '-' group:	- the only modifications were in main.c.2. Now, to make agrep take input from a buffer so that it can be used as a   procedure from another program. Places where changes have to be done:	- asearch.c/fill_buf(), bitap.c/fill_buf()	- main.c/read() statements	- mgrep.c/read() statements	- sgrep.c/read() statements	- probably don't have to change scanf in main.c where a y/n is asked.	- probably don't have to change readdir in recursive.c.I have used fill_buf everywhere for reading things from a file. I have toverify whether this is actually used to take input in which it has to searchfor patterns or to read things REALLY from a file (-f option, file_out, etc.).If former, then I can simply modify fill_buf to read from an fd or froman input string. How to specify that string / area of memory is a separateissue to be resolved during the weekend.I have resolved it. I've also made a library interface for agrep. So 2 is done.3. Make errno = exit code whenever you return -1 instead of exiting.4. See if there is a way to avoid copying of memory bytes in agrep   by using pointer manipulation instead of fill_buf: a part of making agrep   a callable routine. Important to make it really fast, that's why do this.   Solution:   ---------   I think I've solved the problem: but there is a restriction for within the   memory pattern matching: THE SEARCHBUFFER HAS TO BEGIN WITH A NEWLINE --   otherwise we cannot avoid the copying. This fact can be checked in the   library interface.   There are some more problems whose solution I'm not sure of: ask Udi.   The problem is:	a. In asearch(), asearch0() and asearch1(), some data is copied after	   the data read in the buffer. Is that crucial? The same thing can be	   seen in bitap(). This is done when num_read < BlockSize -- why?	b. In sgrep(), the whole buffer is filled with pat[m-1] so that bm()	   does not enter an infinite-loop. Is that crucial if there is an	   equivalent of a single iteration of the while-fill_buf-loop.   I have not modified prepf() to read the multi-pattern from memory, not a   file.  I have to modify it later (including agrep.c). Function fill_buf now   simply reads from the fd given: it does not bother about pointer   manipulation.  Note: wherever there is a while(i<end) loop,   buffer[0] = buffer[end-1] = '\n'; assignment is made, and wherever   monkey(..start,end..) is called, the assignment   buffer[0] = buffer[end] = '\0'; is made. The semantics are consistent   with what end happens to be.   NOTE:   -----   The amount of "space" expected is = length of the pattern. Now, is there a   way to avoid buserr/segv by using a syscall to find out if buffer+pattern   is in valid memory? If so, we can return error to user, instead of   terminating! Painful since we have to trap SIGSEGV and ruin an already   trapped SIGSEGV, and we don't know if the fault was due to us or them.5. Is there a way to modify agrep so that it can search through tcompress-ed   files? One way would be to handle them separately in a function called   tgrep(), say.  But we would then have to call the functions bitap(),   mgrep() and sgrep() from WITHIN tgrep() anyway. The other way would be   to modify the pattern in the beginning and let the normal processing of   agrep continue.   The next thing would be to uncompress the matched line for printout purposes.   This is complicated in the sense that -- we might have to look for a literal   char#10 within verbatim, OR the code for '\n' among the special characters.   Also, we have to search not only for words in the dictionary, but words in   verbatim too! Moreover, I have to be careful about the exact translation of   a verbatim/non-verbatim word.   - I'm working on this now: I know the translation algo (its just like     uncompress) but the interface to agrep (I have to rewrite the input     handling by myself since the way '\n's are searched for in normal files     is quite different.  The difficult thing is going backwards and looking     for the previous '\n' -- I don't have to literally search for '\n' --     I can remember the position of the previous one. Identifying '\n' in     sgrep(), mgrep() and other functions has to be changed.   - Moreover, I have to uncompress a file not from the beginning, but from the     position of a '\n' to the next '\n' or eof. So compress/uncompress must     also be callable routines.**** This including modifications to all routines in sgrep.c and newmgrep.c     were completed and debugged by Aug '94.6. What options can be added to agrep as a callable routine so that the output   can be put into a user-level buffer / returned as values which can be   examined, etc., so that the thing does not go onto the stdout! Moreover,   copying the matched lines might not be desirable -- the user might want   line numbers, or pointers to the beginning of the lines where the match   occurs and the offset of the match...  (* Callable routine => lots of   problems! *).**** These were completed and added into glimpse/glimpseindex in Spring 1994.7. One other problems with agrep as a callable routine: the variable names used   by agrep can clash with user defined variable names. Making agrep variables   static is not going to help since they are accessed throughout agrep code.   Making code reentrant is not the issue (it is almost impossible!).

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
大胆亚洲人体视频| 亚洲图片你懂的| 欧美疯狂性受xxxxx喷水图片| kk眼镜猥琐国模调教系列一区二区| 日本三级亚洲精品| 播五月开心婷婷综合| 成人免费的视频| 97久久超碰精品国产| 懂色av中文一区二区三区| 国产精品亚洲综合一区在线观看| 日韩高清在线不卡| 免费黄网站欧美| 国产综合色视频| www.日韩精品| 欧美日韩在线亚洲一区蜜芽| 在线观看视频一区| 精品盗摄一区二区三区| 国产亚洲短视频| 国产精品视频在线看| 亚洲第一精品在线| 国产一区二区日韩精品| 色噜噜狠狠成人网p站| 精品国产一区二区三区四区四| 亚洲丶国产丶欧美一区二区三区| 日韩av一区二区三区四区| 亚洲精品在线网站| 精品在线亚洲视频| 麻豆精品久久久| 成人激情免费网站| 日韩午夜电影在线观看| 综合久久国产九一剧情麻豆| 轻轻草成人在线| 欧美性一级生活| 国产精品福利在线播放| 美日韩一区二区| 国产欧美一区视频| 国产麻豆精品95视频| 欧美精品久久99久久在免费线 | 国产suv精品一区二区三区| 色婷婷av一区二区三区大白胸| 久久久久久夜精品精品免费| 美女脱光内衣内裤视频久久影院| 色哟哟国产精品| 亚洲一区二区三区中文字幕在线| 99视频精品全部免费在线| 国产蜜臀av在线一区二区三区 | 国产精品国产三级国产有无不卡| 国产一区二区三区电影在线观看| 日韩一区二区三区免费看| 久久国产福利国产秒拍| 久久久精品国产免大香伊| 免费看欧美美女黄的网站| 777色狠狠一区二区三区| 免费av网站大全久久| 久久综合九色综合97婷婷| 国产激情精品久久久第一区二区| 久久久久99精品国产片| av激情成人网| 男女视频一区二区| 成人免费视频在线观看| 91视频91自| 蜜桃免费网站一区二区三区| 国产亚洲综合在线| 欧美制服丝袜第一页| 精品一区二区三区影院在线午夜| 欧美一级日韩免费不卡| 国产精华液一区二区三区| 自拍偷拍欧美精品| 91精品国产91久久久久久一区二区 | 成人av网在线| 日本三级韩国三级欧美三级| 国产精品激情偷乱一区二区∴| 欧美在线观看禁18| 99视频精品免费视频| 日韩成人午夜电影| 亚洲国产综合色| 综合激情成人伊人| 欧美一区二区日韩| 色素色在线综合| 久久99国产精品免费| 奇米色一区二区| 日本视频免费一区| 肉丝袜脚交视频一区二区| 亚洲欧美另类小说| 亚洲品质自拍视频| 国产亚洲一区二区在线观看| 精品国产髙清在线看国产毛片 | 日韩欧美久久一区| 日韩一区二区免费高清| 欧美喷水一区二区| 亚洲精品一区二区三区四区高清| 欧美一区二区三区视频在线观看| 欧美日韩一区二区在线视频| 欧美性生活久久| 91精品国产全国免费观看| 日韩欧美亚洲另类制服综合在线 | 亚洲国产成人在线| 亚洲综合视频在线观看| 免费看黄色91| 91视频免费观看| 91精品欧美福利在线观看| 欧美一区二区三区四区视频 | 国产精品嫩草影院av蜜臀| 欧美韩国一区二区| 中文字幕一区二区三区不卡| 久久99精品久久久久久| 国产伦精品一区二区三区视频青涩| 91社区在线播放| 久久久精品2019中文字幕之3| 亚洲第一久久影院| 色美美综合视频| 国产精品福利av| 国产一区三区三区| 精品免费99久久| 免费欧美高清视频| 69久久夜色精品国产69蝌蚪网| 亚洲综合丝袜美腿| 日本高清无吗v一区| 国产精品情趣视频| 成+人+亚洲+综合天堂| 久久久久久**毛片大全| 精品一区二区国语对白| 精品成a人在线观看| 久久精品国产99国产| 欧美一区二区三区视频在线观看| 视频精品一区二区| 日韩一二三区不卡| 理论电影国产精品| 国产清纯白嫩初高生在线观看91 | 久久久www成人免费毛片麻豆| 麻豆91免费看| 精品剧情在线观看| 国产一区二区三区在线观看免费视频| 精品国产乱码久久久久久老虎| 国产成人综合精品三级| 国产精品视频免费| 欧美视频精品在线观看| 精品制服美女丁香| 亚洲男人的天堂一区二区| 欧美视频第二页| 国产精品 欧美精品| 亚洲精品国产成人久久av盗摄| 欧美日韩精品免费| 不卡的av中国片| 蜜桃精品视频在线| 一区二区三区在线高清| 欧美一区二区三区色| 91免费国产视频网站| 麻豆精品久久久| 亚洲国产婷婷综合在线精品| 久久久久综合网| 欧美日韩午夜在线| 不卡的av中国片| 国产一区二区三区四区五区入口| 日韩毛片一二三区| 久久亚洲一区二区三区四区| 欧美性做爰猛烈叫床潮| 色香蕉久久蜜桃| 成人综合在线观看| 国产麻豆一精品一av一免费| 日日噜噜夜夜狠狠视频欧美人| 中文字幕制服丝袜成人av | 国产美女主播视频一区| 久久爱另类一区二区小说| 丝袜a∨在线一区二区三区不卡| 成人欧美一区二区三区1314| 日本一区二区免费在线| 久久久99精品免费观看| 337p日本欧洲亚洲大胆精品| 欧美变态tickling挠脚心| 日韩一级欧美一级| 欧美mv和日韩mv国产网站| 精品成人一区二区三区| 精品久久久久久久久久久久包黑料 | 视频一区免费在线观看| 日本中文字幕一区二区有限公司| 午夜久久电影网| 美腿丝袜亚洲色图| jizz一区二区| 欧洲一区在线电影| 欧美一区二区三区日韩| 日韩精品一区国产麻豆| 欧美激情在线一区二区三区| 中国av一区二区三区| 日韩精品亚洲一区| 成人激情免费网站| 欧美精品在线一区二区三区| 久久久久久久久久看片| 亚洲日本丝袜连裤袜办公室| 国产精品一区专区| 欧美二区在线观看| 国产女人18水真多18精品一级做| 亚洲女女做受ⅹxx高潮| 日产欧产美韩系列久久99| www.在线成人| 久久综合色鬼综合色| 视频在线观看一区二区三区| 国产精品99久久久久久似苏梦涵| 欧美精选在线播放| 国产精品不卡在线|