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

📄 sun_regex.h

📁 如果RH
💻 H
字号:
/***************************************************************************** * *  xdbx - X Window System interface to the dbx debugger * *  Copyright 1989 The University of Texas at Austin *  Copyright 1990 Microelectronics and Computer Technology Corporation * *  Permission to use, copy, modify, and distribute this software and its *  documentation for any purpose and without fee is hereby granted, *  provided that the above copyright notice appear in all copies and that *  both that copyright notice and this permission notice appear in *  supporting documentation, and that the name of The University of Texas *  and Microelectronics and Computer Technology Corporation (MCC) not be  *  used in advertising or publicity pertaining to distribution of *  the software without specific, written prior permission.  The *  University of Texas and MCC makes no representations about the  *  suitability of this software for any purpose.  It is provided "as is"  *  without express or implied warranty. * *  THE UNIVERSITY OF TEXAS AND MCC DISCLAIMS ALL WARRANTIES WITH REGARD TO *  THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND *  FITNESS, IN NO EVENT SHALL THE UNIVERSITY OF TEXAS OR MCC BE LIABLE FOR *  ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER *  RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF *  CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN *  CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. * *  Author:  	Po Cheung *  Created:   	March 10, 1989 * *****************************************************************************//*  sun_regex.h: * *  Regular expression pattern matching for Sun dbx. *   *  The reg_token array indicates the register no. for each token type. *      reg_token[0] : message *      reg_token[1] : stop number *      reg_token[2] : function name *      reg_token[3] : line number *      reg_token[4] : file name *      reg_token[5] : display command output */#define	TK_MESG 	0#define TK_STOP		1#define TK_FUNC 	2#define TK_LINE 	3#define TK_FILE 	4#define TK_DISP 	5#define	O_EXEC_GDB	0#define O_DONE		1#define O_STOPAT 	2#define O_STOPIN 	3#define O_UPDOWN 	4#define O_BELL		5#define O_LIST		6#define O_SEARCH        6#define O_FILE		7#define O_PRINT         8#define O_DEBUG         9#define	C_ANY		-1#define C_EXEC		0#define C_STOPAT	1#define C_STOPIN	2#define C_UPDOWN	3#define C_DELETE	4#define C_FUNC		5#define C_FILE		6#define C_DEBUG		7#define C_CD		8#define C_USE           9#define C_PWD           10#define C_LIST          11#define C_SEARCH        12#define C_DISPLAY       13#define C_PRINT         14static PatternRec output_pattern[] = {    /* exec */    {"\\(.*\n\\)*.*\\(\\(stopped\\|Bus error\\|Segmentation fault\\|\Interrupt\\|signal.*\\) in \\([^ ]+\\) at line \\([0-9]+\\)\\( in file\ \"\\([^ ]+\\)\"\\)?\\)\n\\(.*\n\\)?\\(\\(.*\n\\)*\\)",      NULL,     {2, -1, 4, 5, 7, 9}    },    /* done */    {"\\(.*\n\\)*\\(execution completed\\|program exited with [0-9]+\\)",     NULL,     {-1, -1, -1, -1, -1, -1}    },    /* stop at */    {"(\\([0-9]+\\)) stop at \\(\"\\([^ ]+\\)\":\\)?\\([0-9]+\\)\n",     NULL,     {-1, 1, -1, 4, 3, -1}    },    /* stop in */    {"(\\([0-9]+\\)) stop in \\([^ ]+\\)\n",     NULL,     {-1, 1, 2, -1, -1, -1}    },    /* up, down */    {"\\(.*\n\\)?\\(Current function is \\([^ ]+\\)\n\\)\\([ ]*\\([0-9]+\\).*\n\\)",     NULL,     {2, -1, 3, 5, -1, -1}    },    /* bell */    {"\\(Already at the \\(top\\|bottom\\) call level\n\\|\No active stack frames\n\\|no program to run\n\\|no process to run\n\\|\program is not active\n\\|can't continue execution\n\\|\.*\ncan't write to process.*\n\\|\\\(Top\\|End\\)-of-file; did not find search string:.*\n\\)",     NULL,     {-1, -1, -1, -1, -1}    },    /* list, search */    {"[ ]*\\([0-9]+\\).*\n",     NULL,     {-1, -1, -1, 1, -1, -1}    },    /* file */    {"\\(\\([^ ]*\\)\\|No current source file\\)\n",     NULL,     {-1, -1, -1, -1, 2, -1}    },    /* print, display */    {"\\(warning: .*\n\\)?\\(\\(.*\\) = .*\n\\(.*\n\\)*\\)",     NULL,     { 3, -1, -1, -1, -1, 2}    },    /* debug */    {"Reading symbolic information...\nRead [0-9]+ symbols\n",     NULL,     { -1, -1, -1, -1, -1, -1}    },    NULL };static PatternRec command_pattern[] = {    {"[ ]*\\(run\\|rerun\\|cont\\|next\\|step\\)\\( [0-9]+\\)?[ ]*", 							NULL, {-1, -1, -1, -1, -1, -1}},    {"[ ]*stop[ ]+at[ ]+\\(\"[^ ]+\":\\)?[0-9]+[ ]*\n", 								NULL, {-1, -1, -1, -1, -1, -1}},    {"[ ]*stop[ ]+in[ ]+[^ ]+[ ]*\n", 		NULL, {-1, -1, -1, -1, -1, -1}},    {"[ ]*\\(up\\|down\\)[ ]*\\( [0-9]+\\)?[ ]*\n", 								NULL, {-1, -1, -1, -1, -1, -1}},    {"[ ]*\\(delete\\|d\\)[ ]+\\(all\\|[0-9]+\\)",							NULL, {-1, -1, -1,  1, -1, -1}},    {"[ ]*func[ ]+\\([^ ]+\\)[ ]*\n", 		NULL, {-1, -1,  1, -1, -1, -1}},    {"[ ]*file[ ]*\\([^ ]+\\)?[ ]*\n",		NULL, {-1, -1, -1, -1, -1, -1}},    {"[ ]*debug[ ]*[^ ]+[ ]*\n", 		NULL, {-1, -1, -1, -1, -1, -1}},    {"[ ]*cd[ ]*[^ ]+[ ]*", 			NULL, {-1, -1, -1, -1, -1, -1}},    {"[ ]*use[ ]*", 				NULL, {-1, -1, -1, -1, -1, -1}},    {"[ ]*pwd[ ]*\n",				NULL, {-1, -1, -1, -1, -1, -1}},    {"[ ]*list[ ]*",				NULL, {-1, -1, -1, -1, -1, -1}},    {"[ ]*\\(/\\|\?\\)[ ]*",			NULL, {-1, -1, -1, -1, -1, -1}},    {"[ ]*\\(un\\)?display[ ]*[^ ]+[ ]*",	NULL, {-1, -1, -1, -1, -1, -1}},    {"[ ]*print[ ]*[^ ]+[ ]*",			NULL, {-1, -1, -1, -1, -1, -1}},    NULL};

⌨️ 快捷键说明

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