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

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

?? prmtab.c

?? 使用BorlandC++4.5編譯的一個MUD客戶端程序
?? C
字號:
head	2.1;access;symbols;locks; strict;comment	@ * @;2.1date	95.10.24.15.46.14;	author tsurace;	state Release;branches;next	1.1;1.1date	95.10.12.19.40.50;	author tsurace;	state Beta;branches;next	;desc@Primitive - lookup table.@2.1log@Roll.@text@/* prmtab.c: The primitive table */
/* $Id: prmtab.c 1.1 1995/10/12 19:40:50 tsurace Beta tsurace $ */

#include "vt.h"

#define PTSIZE 201
#define NUM_OPER 24
#define NUM_PRMT (sizeof(prmtab) / sizeof(Prmt))

struct int_list {
	char *name;
	int num;
	struct int_list *next;
};

Dframe suspend_frame, frame_error;
extern Cframe *cstack;
extern int cpos, curprmt;

extern void
	op_bor(),
	op_bxor(),
	op_band(),
	op_eq(),
	op_ne(),
	op_lt(),
	op_le(),
	op_gt(),
	op_ge(),
	op_sl(),
	op_sr(),
	op_add(),
	op_sub(),
	op_mult(),
	op_div(),
	op_mod(),
	op_postinc(),
	op_postdec(),
	op_preinc(),
	op_predec(),
	op_not(),
	op_compl(),
	op_neg(),
	op_asn(),
	pr_write(),
	pr_cmove(),
	pr_scroll(),
	pr_scr_fwd(),
	pr_scr_rev(),
	pr_clrscr(),
	pr_clreol(),
	pr_bold(),
	pr_curs_reset(),
	pr_split(),
	pr_close(),
	pr_resize(),
	pr_set_termread(),
	pr_set_obj(),
	pr_obj(),
	pr_echo(),
	pr_cecho(),
	pr_display(),
	pr_read(),
	pr_reread(),
	pr_pass(),
	pr_win_top(),
	pr_win_bottom(),
	pr_win_col(),
	pr_win_rmt(),
	pr_win_termread(),
	pr_connect(),
	pr_disconnect(),
	pr_set_netread(),
	pr_set_promptread(),
	pr_set_back(),
	pr_set_busy(),
	pr_set_raw(),
	pr_send(),
	pr_input_waiting(),
	pr_rmt_addr(),
	pr_rmt_port(),
	pr_rmt_win(),
	pr_rmt_netread(),
	pr_rmt_promptread(),
	pr_rmt_back(),
	pr_rmt_busy(),
	pr_rmt_raw(),
	pr_rmt_echo(),
	pr_rmt_eor(),
	pr_insert(),
	pr_edfunc(),
	pr_getch(),
	pr_bind(),
	pr_unbind(),
	pr_find_key(),
	pr_key_seq(),
	pr_key_func(),
	pr_strcpy(),
	pr_strcat(),
	pr_strdup(),
	pr_strcmp(),
	pr_stricmp(),
	pr_strchr(),
	pr_strrchr(),
	pr_strcspn(),
	pr_strstr(),
	pr_stristr(),
	pr_strupr(),
	pr_strlwr(),
	pr_strlen(),
	pr_wrap(),
	pr_ucase(),
	pr_lcase(),
	pr_itoa(),
	pr_atoi(),
	pr_find_func(),
	pr_find_prmt(),
	pr_func_name(),
	pr_callv(),
	pr_detach(),
	pr_abort(),
	pr_alloc(),
	pr_new_assoc(),
	pr_lookup(),
	pr_acopy(),
	pr_base(),
	pr_garbage(),
	pr_parse(),
	pr_head(),
	pr_tail(),
	pr_next(),
	pr_prev(),
	pr_type(),
	pr_find_var(),
	pr_sleep(),
	pr_quit(),
	pr_rndseed(),
	pr_fopen(),
	pr_popen(),
	pr_fclose(),
	pr_fwrite(),
	pr_fread(),
	pr_fseek(),
	pr_ftell(),
	pr_fputc(),
	pr_fgetc(),
	pr_fflush(),
	pr_feof(),
	pr_fsize(),
	pr_fmtime(),
	pr_unlink(),
	pr_load_file(),
	pr_find_file(),
	pr_file_name(),
	pr_regcomp(),
	pr_regexec(),
	pr_regmatch(),
	pr_smatch(),
	pr_getenv(),
	pr_system(),
	pr_ctime();

/* The positions of the operators must correspond to the defined values
** in pnode.h */

Prmt prmtab[] = {
	/* Operators (oper.c) */
	{ "|"		, op_bor	,  2 },
	{ "^"		, op_bxor	,  2 },
	{ "&"		, op_band	,  2 },
	{ "=="		, op_eq		,  2 },
	{ "!="		, op_ne		,  2 },
	{ "<"		, op_lt		,  2 },
	{ "<="		, op_le		,  2 },
	{ ">"		, op_gt		,  2 },
	{ ">="		, op_ge		,  2 },
	{ "<<"		, op_sl		,  2 },
	{ ">>"		, op_sr		,  2 },
	{ "+"		, op_add	,  2 },
	{ "-"		, op_sub	,  2 },
	{ "*"		, op_mult	,  2 },
	{ "/"		, op_div	,  2 },
	{ "%"		, op_mod	,  2 },
	{ "++"		, op_postinc	,  1 },
	{ "--"		, op_postdec	,  1 },
	{ "++"		, op_preinc	,  1 },
	{ "--"		, op_predec	,  1 },
	{ "!"		, op_not	,  1 },
	{ "~"		, op_compl	,  1 },
	{ "-"		, op_neg	,  1 },
	{ "="		, op_asn	,  2 },
	/* Screen handling (prmt1.c) */
	{ "write"	, pr_write	, -1 },
	{ "cmove"	, pr_cmove	,  2 },
	{ "scroll"	, pr_scroll	,  2 },
	{ "scr_fwd"	, pr_scr_fwd	,  1 },
	{ "scr_rev"	, pr_scr_rev	,  1 },
	{ "clrscr"	, pr_clrscr	,  0 },
	{ "clreol"	, pr_clreol	,  0 },
	{ "bold"	, pr_bold	,  1 },
	{ "curs_reset"	, pr_curs_reset ,  0 },
	/* Windows (prmt1.c) */
	{ "split"	, pr_split	,  2 },
	{ "close"	, pr_close	,  2 },
	{ "resize"	, pr_resize	,  2 },
	{ "set_termread", pr_set_termread, 2 },
	{ "set_obj"	, pr_set_obj	,  2 },
	{ "obj"		, pr_obj	,  1 },
	{ "echo"	, pr_echo	, -1 },
	{ "display"	, pr_display	,  2 },
	{ "read"	, pr_read	, -1 },
	{ "reread"	, pr_reread	, -1 },
	{ "pass"	, pr_pass	,  2 },
	{ "win_top"	, pr_win_top	,  1 },
	{ "win_bottom"	, pr_win_bottom ,  1 },
	{ "win_col"	, pr_win_col	,  1 },
	{ "win_rmt"	, pr_win_rmt	,  1 },
	{ "win_termread", pr_win_termread, 1 },
	/* Remotes (prmt2.c) */
	{ "connect"	, pr_connect	,  2 },
	{ "disconnect"	, pr_disconnect ,  1 },
	{ "set_netread" , pr_set_netread,  2 },
	{ "set_promptread", pr_set_promptread, 2 },
	{ "set_back"	, pr_set_back	,  2 },
	{ "set_busy"	, pr_set_busy	,  2 },
	{ "set_raw"	, pr_set_raw	,  2 },
	{ "send"	, pr_send	, -1 },
	{ "input_waiting", pr_input_waiting,  1 },
	{ "rmt_addr"	, pr_rmt_addr	,  1 },
	{ "rmt_port"	, pr_rmt_port	,  1 },
	{ "rmt_win"	, pr_rmt_win	,  1 },
	{ "rmt_netread" , pr_rmt_netread,  1 },
	{ "rmt_promptread", pr_rmt_promptread, 1 },
	{ "rmt_back"	, pr_rmt_back	,  1 },
	{ "rmt_busy"	, pr_rmt_busy	,  1 },
	{ "rmt_raw"	, pr_rmt_raw	,  1 },
	{ "rmt_echo"	, pr_rmt_echo	,  1 },
	{ "rmt_eor"	, pr_rmt_eor	,  1 },
	/* Key buffer (prmt2.c) */
	{ "insert"	, pr_insert	,  1 },
	{ "edfunc"	, pr_edfunc	,  1 },
	{ "getch"	, pr_getch	, -1 },
	/* Keys (prmt2.c) */
	{ "bind"	, pr_bind	,  2 },
	{ "unbind"	, pr_unbind	,  1 },
	{ "find_key"	, pr_find_key	,  1 },
	{ "key_seq"	, pr_key_seq	,  1 },
	{ "key_func"	, pr_key_func	,  1 },
	/* String functions (prmt3.c) */
	{ "strcpy"	, pr_strcpy	, -1 },
	{ "strcat"	, pr_strcat	, -1 },
	{ "strdup"	, pr_strdup	,  1 },
	{ "strcmp"	, pr_strcmp	, -1 },
	{ "stricmp"	, pr_stricmp	, -1 },
	{ "strchr"	, pr_strchr	, -1 },
	{ "strrchr"	, pr_strrchr	, -1 },
	{ "strcspn"	, pr_strcspn	,  2 },
	{ "strstr"	, pr_strstr	,  2 },
	{ "stristr"	, pr_stristr	,  2 },
	{ "strupr"	, pr_strupr	,  1 },
	{ "strlwr"	, pr_strlwr	,  1 },
	{ "strlen"	, pr_strlen	,  1 },
	{ "wrap"	, pr_wrap	, -1 },
	{ "ucase"	, pr_ucase	,  1 },
	{ "lcase"	, pr_lcase	,  1 },
	{ "itoa"	, pr_itoa	,  1 },
	{ "atoi"	, pr_atoi	,  1 },
	/* Functions (prmt4.c) */
	{ "find_func"	, pr_find_func	,  1 },
	{ "find_prmt"	, pr_find_prmt	,  1 },
	{ "func_name"	, pr_func_name	,  1 },
	{ "callv"	, pr_callv	, -1 },
	{ "detach"	, pr_detach	, -1 },
	{ "abort"	, pr_abort	,  0 },
	/* Arrays (prmt4.c) */
	{ "alloc"	, pr_alloc	, -1 },
	{ "new_assoc"	, pr_new_assoc	,  0 },
	{ "lookup"	, pr_lookup	,  2 },
	{ "acopy"	, pr_acopy	,  3 },
	{ "base"	, pr_base	,  1 },
	{ "garbage"	, pr_garbage	,  0 },
	/* Misc (prmt4.c) */
	{ "parse"	, pr_parse	,  1 },
	{ "head"	, pr_head	,  1 },
	{ "tail"	, pr_tail	,  1 },
	{ "next"	, pr_next	,  1 },
	{ "prev"	, pr_prev	,  1 },
	{ "type"	, pr_type	,  1 },
	{ "find_var"	, pr_find_var	,  1 },
	{ "sleep"	, pr_sleep	,  1 },
	{ "quit"	, pr_quit	,  0 },
	{ "rndseed"	, pr_rndseed	,  1 },
	/* Files (prmt5.c) */
	{ "fopen"	, pr_fopen	,  2 },
	{ "popen"	, pr_popen	,  2 },
	{ "fclose"	, pr_fclose	,  1 },
	{ "fwrite"	, pr_fwrite	,  2 },
	{ "fread"	, pr_fread	,  1 },
	{ "fputc"	, pr_fputc	,  2 },
	{ "fseek"	, pr_fseek	,  3 },
	{ "ftell"	, pr_ftell	,  1 },
	{ "fgetc"	, pr_fgetc	,  1 },
	{ "fflush"	, pr_fflush	,  1 },
	{ "feof"	, pr_feof	,  1 },
	{ "fsize"	, pr_fsize	,  1 },
	{ "fmtime"	, pr_fmtime	,  1 },
	{ "unlink"	, pr_unlink	,  1 },
	{ "load_file"	, pr_load_file	,  1 },
	{ "find_file"	, pr_find_file	,  1 },
	{ "file_name"	, pr_file_name	,  1 },
	/* Regexps (prmt5.c) */
	{ "regcomp"	, pr_regcomp	,  1 },
	{ "regexec"	, pr_regexec	,  2 },
	{ "regmatch"	, pr_regmatch	,  2 },
	{ "smatch"	, pr_smatch	,  2 },
	/* Environment (prmt5.c) */
	{ "getenv"	, pr_getenv	,  1 },
	{ "system"	, pr_system	,  1 },
	{ "ctime"	, pr_ctime	,  1 },
};

static struct int_list *phtab[PTSIZE];
static struct int_list entries[NUM_PRMT - NUM_OPER];

void init_prmt()
{
	int i, ind;
	struct int_list *entry;

	for (entry = entries, i = NUM_OPER; i < NUM_PRMT; i++, entry++) {
		ind = hash(prmtab[i].name, PTSIZE);
		entry->name = prmtab[i].name;
		entry->num = i;
		entry->next = phtab[ind];
		phtab[ind] = entry;
	}
	suspend_frame.type = frame_error.type = F_EXCEPT;
	suspend_frame.Dval = INTERP_SUSPEND;
	frame_error.Dval = INTERP_ERROR;
}

int find_prmt(name)
	char *name;
{
	struct int_list *entry;

	for (entry = phtab[hash(name, PTSIZE)]; entry; entry = entry->next) {
		if (streq(name, entry->name))
			return entry->num;
	}
	return -1;
}

void finish_error()
{
	char *fname;

	fname = lookup_prog(cstack[cpos - 1].prog);
	if (fname)
		outputf(" in %s", fname);
	coutput("\n");
}

void type_errmsg()
{
	outputf("Error: Invalid arguments to primitive %s",
		prmtab[curprmt].name);
	finish_error();
}

void type_error(rf)
	Dframe *rf;
{
	*rf = frame_error;
	type_errmsg();
}

void bounds_error(rf)
	Dframe *rf;
{
	*rf = frame_error;
	outputf("Error: Out-of-bounds argument to primitive %s",
		prmtab[curprmt].name);
	finish_error();
}


@1.1log@Initial revision@text@d2 1a2 1/* $Id$ */@

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
狠狠色狠狠色合久久伊人| 亚洲狼人国产精品| 欧美久久高跟鞋激| 欧美综合在线视频| 99re在线视频这里只有精品| 99久久er热在这里只有精品15| 亚洲柠檬福利资源导航| 91精品国产91久久久久久一区二区 | 国产三级精品在线| 欧美极品aⅴ影院| 中文字幕日本不卡| 亚洲丶国产丶欧美一区二区三区| 国产日韩精品一区二区三区| 精品国产自在久精品国产| 6080午夜不卡| 久久久国产精华| 国产精品久久久久久久久图文区| 亚洲日本乱码在线观看| 国产精品日韩精品欧美在线| 亚洲国产乱码最新视频 | 色综合天天综合网国产成人综合天| 国产v综合v亚洲欧| 欧美日本一区二区三区| 日韩一区二区视频| 中文字幕在线不卡视频| 亚洲国产视频一区二区| 寂寞少妇一区二区三区| 91蜜桃婷婷狠狠久久综合9色| 色视频成人在线观看免| 久久日韩精品一区二区五区| 国产精品久久久久久久岛一牛影视 | 欧美性猛交xxxx乱大交退制版| 欧美人狂配大交3d怪物一区| 国产精品免费av| 婷婷丁香激情综合| 91麻豆福利精品推荐| 国产中文一区二区三区| 国内精品写真在线观看| 欧美美女黄视频| 亚洲一区二区精品3399| 成人av网站在线| 久久网站热最新地址| 蜜臀av性久久久久蜜臀aⅴ四虎| 色哟哟一区二区在线观看| 精品国精品国产| 国产大陆a不卡| 国产夜色精品一区二区av| 亚洲激情校园春色| 色视频一区二区| 一区视频在线播放| 91福利精品视频| 天天影视色香欲综合网老头| 在线观看日韩精品| 肉色丝袜一区二区| 2023国产精品| 国产精品一区二区在线观看网站| 国产欧美一二三区| 99久久综合精品| 亚洲福利视频一区| 久久亚洲捆绑美女| jlzzjlzz亚洲日本少妇| 一区二区欧美精品| 精品成人一区二区| bt欧美亚洲午夜电影天堂| 午夜天堂影视香蕉久久| 久久欧美中文字幕| 91丝袜美腿高跟国产极品老师| 一区二区三区**美女毛片| 欧美成人精品福利| 99久免费精品视频在线观看| 亚洲大尺度视频在线观看| 日韩免费电影一区| 91麻豆视频网站| 国产成人免费视频一区| 亚洲美女免费视频| 日本一区二区三级电影在线观看| 青青草精品视频| 欧美大胆人体bbbb| 在线观看区一区二| 精彩视频一区二区| 蜜桃视频一区二区三区在线观看| 中文成人综合网| 国产性天天综合网| 日韩欧美国产系列| 欧美一区二区三区日韩| 在线看日韩精品电影| 国产精品白丝jk黑袜喷水| 亚州成人在线电影| 亚洲一二三四久久| 亚洲成a人片在线不卡一二三区| 亚洲欧美综合色| 国产欧美一区二区三区在线看蜜臀| 91精品综合久久久久久| 91精品国产福利| 日韩精品一区二区三区中文精品| 欧美一级淫片007| 亚洲精品一线二线三线| 久久久无码精品亚洲日韩按摩| 日韩一区二区三区视频| 91精品欧美综合在线观看最新| 91精品在线免费观看| 91精品欧美一区二区三区综合在 | 色偷偷久久一区二区三区| 日本乱人伦一区| 色播五月激情综合网| 欧美精品一卡两卡| 欧美本精品男人aⅴ天堂| 久久精品欧美一区二区三区麻豆| 亚洲人精品一区| 男人操女人的视频在线观看欧美| 国产精品亚洲一区二区三区在线 | 成人免费高清视频在线观看| 成人小视频在线观看| 91在线国产福利| 91成人网在线| 91精品在线观看入口| 成人免费小视频| 麻豆成人在线观看| 欧美视频在线播放| 国产精品入口麻豆九色| 久久国内精品视频| 成人免费福利片| 欧美一区二区黄| 天天操天天干天天综合网| 成人综合激情网| 久久久午夜电影| 日日夜夜精品视频免费| 色综合激情五月| 国产午夜一区二区三区| 日本强好片久久久久久aaa| 成人美女视频在线观看18| 日韩区在线观看| 免费成人深夜小野草| 欧美午夜精品久久久久久超碰| 中文字幕第一区二区| 日韩精品高清不卡| 91精品国产黑色紧身裤美女| 亚洲精品久久7777| 欧美做爰猛烈大尺度电影无法无天| 欧美高清在线一区二区| 国产精选一区二区三区| 国产色产综合产在线视频| 国产69精品久久777的优势| 国产精品区一区二区三区| 国产成人99久久亚洲综合精品| 欧美精品一区二区久久婷婷| 国产超碰在线一区| 亚洲韩国精品一区| 精品999在线播放| 91丝袜美女网| 日韩国产一二三区| 中文字幕一区二区三区不卡在线| 91网站视频在线观看| 五月天网站亚洲| 国产精品网曝门| 欧美视频完全免费看| 国产精选一区二区三区| 一区二区三区小说| 欧美白人最猛性xxxxx69交| www.欧美日韩国产在线| 日本美女一区二区三区视频| 国产嫩草影院久久久久| 欧美一a一片一级一片| 亚洲六月丁香色婷婷综合久久| 91国偷自产一区二区开放时间| 国内精品久久久久影院色| 亚洲香肠在线观看| 国产精品福利一区| 91精品国产91久久久久久最新毛片 | 亚洲免费在线观看| 久久精品免费在线观看| 91麻豆精品国产91久久久更新时间| 99精品热视频| 93久久精品日日躁夜夜躁欧美| 久久99精品国产麻豆婷婷| 一区二区三区在线播放| 国产精品免费看片| 久久看人人爽人人| 中文一区二区在线观看| 久久久三级国产网站| 精品对白一区国产伦| 日韩欧美卡一卡二| 精品卡一卡二卡三卡四在线| 欧美一级高清大全免费观看| 欧美丰满一区二区免费视频| 欧美日本在线观看| 欧美日本国产视频| 在线观看网站黄不卡| 欧美一区二区在线视频| 欧美成人精品高清在线播放| 久久久久久久久蜜桃| 欧美大黄免费观看| 久久久夜色精品亚洲| 国产精品理论片| 亚洲一区二区视频| 免费在线看一区| 懂色av噜噜一区二区三区av | 亚洲国产精品二十页| 中文字幕一区二区三区四区| 午夜影院在线观看欧美|