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

📄 inline.h

📁 <B>Digital的Unix操作系统VAX 4.2源码</B>
💻 H
字号:
/* static	char	*sccsid = "@(#)inline.h	4.1	(ULTRIX)	7/2/90"; *//************************************************************************ *									* *			Copyright (c) 1986 by				* *		Digital Equipment Corporation, Maynard, MA		* *			All rights reserved.				* *									* *   This software is furnished under a license and may be used and	* *   copied  only  in accordance with the terms of such license and	* *   with the  inclusion  of  the  above  copyright  notice.   This	* *   software  or  any  other copies thereof may not be provided or	* *   otherwise made available to any other person.  No title to and	* *   ownership of the software is hereby transferred.			* *									* *   This software is  derived  from  software  received  from  the	* *   University    of   California,   Berkeley,   and   from   Bell	* *   Laboratories.  Use, duplication, or disclosure is  subject  to	* *   restrictions  under  license  agreements  with  University  of	* *   California and with AT&T.						* *									* *   The information in this software is subject to change  without	* *   notice  and should not be construed as a commitment by Digital	* *   Equipment Corporation.						* *									* *   Digital assumes no responsibility for the use  or  reliability	* *   of its software on equipment which is not supplied by Digital.	* *									* ************************************************************************//* ------------------------------------------------------------------------ * Modification History: /sys/vax/inline/inline.h * * 08 May 86 -- vjh *	Added DOUBLEQUOTE and Boolean.  Both are used in main(). * * 13 Dec 84 -- jrs *	Add seperator pointer to pattern structure *	Derived from 4.2BSD, labeled: *		inline.h 1.2	84/08/20 * * ----------------------------------------------------------------------- *//* * COMMENTCHAR is the character delimiting comments in the assembler. * LABELCHAR is the character that separates labels from instructions. * ARGSEPCHAR is the character that separates arguments in instructions. * DOUBLEQUOTE tells us we are in a string, so we cannot be a label (even *	if LABELCHAR is found) */#define COMMENTCHAR	'#'#define LABELCHAR	':'#define ARGSEPCHAR	','#define DOUBLEQUOTE	'"'/* * Expansion parameters: *   QUEUESIZE is the number of instructions to be considered for  *	integration of argument pushes and pops *   MAXLINELEN is the longest expected input line *   MAXARGS is the maximum number of arguments in an assembly instruction */#define QUEUESIZE	16#define MAXLINELEN	128#define MAXARGS		10/* * The following global variables are used to manipulate the queue of * recently seen instructions. *	line - The queue of instructions. *	bufhead - Pointer to next availble queue slot. It is not *		considered part of te instruction stream until *		bufhead is advanced. *	buftail - Pointer to last instruction in queue. * Note that bufhead == buftail implies that the queue is empty. */int bufhead, buftail;char line[QUEUESIZE][MAXLINELEN];#define SUCC(qindex) ((qindex) + 1 == QUEUESIZE ? 0 : (qindex) + 1)#define PRED(qindex) ((qindex) - 1 < 0 ? QUEUESIZE - 1 : (qindex) - 1)/* * Hash table headers should be twice as big as the number of patterns. * They must be a power of two. */#define HSHSIZ	128/* * These tables specify the substitutions that are to be done. */struct pats {	char	*name;	char	*replace;	char	*sep;	struct	pats *next;	int	size;};struct pats *patshdr[HSHSIZ];extern struct pats language_ptab[], libc_ptab[], machine_ptab[];typedef enum {false, true} Boolean;/* * This table defines the set of instructions that demark the * end of a basic block. */struct inststoptbl {	char	*name;	struct	inststoptbl *next;	int	size;};struct inststoptbl *inststoptblhdr[HSHSIZ];extern struct inststoptbl inststoptable[];/* * Miscellaneous functions. */char *newline(), *copyline(), *doreplaceon();

⌨️ 快捷键说明

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