⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 agrep.h

📁 harvest是一个下载html网页得机器人
💻 H
字号:
/* Copyright (c) 1994 Sun Wu, Udi Manber, Burra Gopal.  All Rights Reserved. */#ifndef _AGREP_H_#define _AGREP_H_#include <stdio.h>#include <stdlib.h>#include <math.h>#include <ctype.h>#include "re.h"#include "defs.h"#include "config.h"#include <fcntl.h>#include <unistd.h>#include <string.h>#include <time.h>#include <errno.h>#define MAXNUM_PAT  16	/* 32 parts of a pattern = width of expression-tree */#define CHAR	unsigned char#define MAXPAT 256#define MAXPATT 256#define MAXDELIM 8	/* Max size of a delimiter pattern */#define SHORTREG 15#define MAXREG   30#define MAXNAME  256#define Max_Pats 12	/* max num of patterns */#define Max_Keys 12     /* max num of keywords */#define Max_Psize 128   /* max size of a pattern counting all the characters */#define Max_Keyword 31  /* the max size of a keyword */#define WORD 32         /* the size of a word */#define MaxError 8      /* the max number of errors allowed */#define MaxRerror 4     /* the max number of erros for regular expression */#define MaxDelimit 16   /* the max raw length of a user defined delimiter */#define BlockSize  49152/* BlockSize is always >= Max_record */#define Max_record 49152#define SIZE 16384       /* BlockSIze in sgrep */#define MAXLINE   1024  /* maxline in sgrep */#define MAX_LINE_LEN 1024#define Maxline   1024#define RBLOCK    8192#define RMAXLINE  1024#define MaxNext   66000#define ON 1#define OFF 0#define Compl 1#define Maxresult 10000#define MaxCan 2500#define MAX_DASHF_FILES	40000#if	1#define MAXSYM 256 /* ASCII */#define WORDB     133    /* -w option */#define LPARENT   134    /* ( */#define RPARENT   135    /* ) */#define LRANGE    136    /* [ */#define RRANGE    137    /* ] */#define LANGLE    138    /* < */#define RANGLE    139    /* > */#define NOTSYM    140    /* ^ */#define WILDCD    141    /* wildcard */#define ORSYM     142   /* | */#define ORPAT     143   /* , */#define ANDPAT    144   /* ; */#define STAR      145   /* closure */#define HYPHEN    129   /* - */#define NOCARE    130   /* . */#define NNLINE    131   /* special symbol for newline in begin of pattern*/					   /* matches '\n' and NNLINE */#define USERRANGE_MIN 128 	/* min char in pattern of user: give warning */#define USERRANGE_MAX 145	/* max char in pattern of user: give warning */#else#define MAXSYM 256 /* ASCII */#define WORDB     241    /* -w option */#define LPARENT   242    /* ( */#define RPARENT   243    /* ) */#define LRANGE    244    /* [ */#define RRANGE    245    /* ] */#define LANGLE    246    /* < */#define RANGLE    247    /* > */#define NOTSYM    248    /* ^ */#define WILDCD    249    /* wildcard */#define ORSYM     250   /* | */#define ORPAT     251   /* , */#define ANDPAT    252   /* ; */#define STAR      253   /* closure */#define HYPHEN    237   /* - */#define NOCARE    238   /* . */#define NNLINE    239   /* special symbol for newline in begin of pattern*/					   /* matches '\n' and NNLINE */#define USERRANGE_MIN 236 	/* min char in pattern of user: give warning */#define USERRANGE_MAX 255	/* max char in pattern of user: give warning */#endif#define OUTPUT_OVERFLOW	\{ /* fprintf(stderr, "Output buffer overflow after %d bytes @ %s:%d !!\n", agrep_outpointer, __FILE__, __LINE__) */\	errno = ERANGE;\}extern unsigned char *forward_delimiter(), *backward_delimiter();extern int exists_delimiter();extern void preprocess_delimiter();unsigned char *forward_delimiter(), *backward_delimiter();int exists_tcompressed_word();unsigned char * forward_tcompressed_word(), *backward_tcompressed_word();void alloc_buf(), free_buf();extern char *aprint_file_time();#define AGREP_VERSION	"3.0"#define AGREP_DATE	"1994"/* To parse patterns in asplit.c */#define AND_EXP 0x1	/* boolean ; -- remains set throughout */#define OR_EXP 0x2	/* boolean , -- remains set throughout */#define ATTR_EXP 0x4	/* set when = is next non-alpha char, remains set until next , or ; --> never used in agrep */#define VAL_EXP 0x8	/* set all the time except when = is seen for first time --> never used in agrep */#define ENDSUB_EXP 0x10	/* set when , or ; is seen: must unset ATTR_EXP now --> never used in agrep */#define INTERNAL 1#define LEAF 2#define NOTPAT 0x1000#define OPMASK 0x00fftypedef struct _ParseTree {        short   op;        char    type;        char    terminalindex;        union {                struct {                        struct _ParseTree *left, *right;                } internal;                struct {                        unsigned char    *attribute;	/* never used in agrep */                        unsigned char    *value;                } leaf;        } data;} ParseTree;#define unget_token_bool(bufptr, tokenlen) (*(bufptr)) -= (tokenlen)#define dd(a,b)	1#define AGREP_ERROR	123	/* errno = 123 means that glimpse should quit searching files: used for errors glimpse itself cannot detect but agrep can */#if	ISO_CHAR_SET	/* From Henrik.Martin@eua.ericsson.se (Henrik Martin) */#define IS_LOCALE_CHAR(c) ((isalnum((c)) || isxdigit((c)) || \	isspace((c)) || ispunct((c)) || iscntrl((c))) ? 1 : 0)#define ISASCII(c)	IS_LOCALE_CHAR(c)#else#define ISASCII(c)	isascii(c)#endifextern int my_open();extern FILE *my_fopen();extern int my_stat();extern int my_fstat();extern int my_lstat();extern int special_get_name();#endif /* _AGREP_H_ */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -