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

📄 nsparser.c

📁 Newlib 嵌入式 C库 标准实现代码
💻 C
📖 第 1 页 / 共 2 页
字号:
#ifndef lintstatic char yysccsid[] = "@(#)yaccpar	1.9 (Berkeley) 02/21/93";#endif#define YYBYACC 1#define YYMAJOR 1#define YYMINOR 9#define yyclearin (yychar=(-1))#define yyerrok (yyerrflag=0)#define YYRECOVERING (yyerrflag!=0)#define yyparse _nsyyparse#define yylex _nsyylex#define yyerror _nsyyerror#define yychar _nsyychar#define yyval _nsyyval#define yylval _nsyylval#define yydebug _nsyydebug#define yynerrs _nsyynerrs#define yyerrflag _nsyyerrflag#define yyss _nsyyss#define yyssp _nsyyssp#define yyvs _nsyyvs#define yyvsp _nsyyvsp#define yylhs _nsyylhs#define yylen _nsyylen#define yydefred _nsyydefred#define yydgoto _nsyydgoto#define yysindex _nsyysindex#define yyrindex _nsyyrindex#define yygindex _nsyygindex#define yytable _nsyytable#define yycheck _nsyycheck#define yyname _nsyyname#define yyrule _nsyyrule#define YYPREFIX "_nsyy"#line 2 "nsparser.y"/*	$NetBSD: nsparser.y,v 1.3 1999/01/25 00:16:18 lukem Exp $	*//*- * Copyright (c) 1997, 1998, 1999 The NetBSD Foundation, Inc. * All rights reserved. * * This code is derived from software contributed to The NetBSD Foundation * by Luke Mewburn. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright *    notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright *    notice, this list of conditions and the following disclaimer in the *    documentation and/or other materials provided with the distribution. * 3. All advertising materials mentioning features or use of this software *    must display the following acknowledgement: *        This product includes software developed by the NetBSD *        Foundation, Inc. and its contributors. * 4. Neither the name of The NetBSD Foundation nor the names of its *    contributors may be used to endorse or promote products derived *    from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. */#include <sys/cdefs.h>#if defined(LIBC_SCCS) && !defined(lint)static char *rcsid =  "$FreeBSD: src/lib/libc/net/nsparser.y,v 1.3 2002/03/21 22:47:17 obrien Exp $";#endif /* LIBC_SCCS and not lint */#define _NS_PRIVATE#include <nsswitch.h>#include <stdio.h>#include <string.h>static	void	_nsaddsrctomap(const char *);static	ns_dbt		curdbt;static	ns_src		cursrc;#line 59 "nsparser.y"typedef union {	char *str;	int   mapval;} YYSTYPE;#line 97 "y.tab.c"#define NL 257#define SUCCESS 258#define UNAVAIL 259#define NOTFOUND 260#define TRYAGAIN 261#define RETURN 262#define CONTINUE 263#define STRING 264#define YYERRCODE 256short _nsyylhs[] = {                                        -1,    0,    0,    3,    3,    4,    4,    4,    4,    5,    6,    6,    7,    9,    7,    8,    8,   10,    1,    1,    1,    1,    2,    2,};short _nsyylen[] = {                                         2,    0,    1,    1,    2,    1,    3,    4,    2,    1,    1,    2,    1,    0,    5,    1,    2,    3,    1,    1,    1,    1,    1,    1,};short _nsyydefred[] = {                                      0,    0,    5,    9,    0,    0,    3,    0,    8,    4,    0,    6,    0,    0,   10,   13,    7,   11,    0,   18,   19,   20,   21,    0,    0,   15,    0,   14,   16,   22,   23,   17,};short _nsyydgoto[] = {                                       4,   23,   31,    5,    6,    7,   13,   14,   24,   18,   25,};short _nsyysindex[] = {                                   -255, -249,    0,    0,    0, -255,    0,  -41,    0,    0, -254,    0,  -73, -253,    0,    0,    0,    0, -245,    0,    0,    0,    0,  -42,  -93,    0, -256,    0,    0,    0,    0,    0,};short _nsyyrindex[] = {                                     20,    0,    0,    0,    0,   21,    0,    0,    0,    0,    0,    0, -252,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,};short _nsyygindex[] = {                                      0,    0,    0,    0,   17,    0,    0,   10,    0,    0,    1,};#define YYTABLESIZE 168short _nsyytable[] = {                                      27,    1,    2,   11,   16,   12,   29,   30,    8,    3,   12,   12,   12,   19,   20,   21,   22,   10,   15,   26,    1,    2,    9,   17,    0,   28,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,   19,   20,   21,   22,};short _nsyycheck[] = {                                      93,  256,  257,  257,  257,  257,  262,  263,  257,  264,  264,  264,  264,  258,  259,  260,  261,   58,   91,   61,    0,    0,    5,   13,   -1,   24,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  258,  259,  260,  261,};#define YYFINAL 4#ifndef YYDEBUG#define YYDEBUG 0#endif#define YYMAXTOKEN 264#if YYDEBUGchar *_nsyyname[] = {"end-of-file",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"':'",0,0,"'='",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"'['",0,"']'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"NL","SUCCESS","UNAVAIL","NOTFOUND","TRYAGAIN","RETURN","CONTINUE","STRING",};char *_nsyyrule[] = {"$accept : File","File :","File : Lines","Lines : Entry","Lines : Lines Entry","Entry : NL","Entry : Database ':' NL","Entry : Database ':' Srclist NL","Entry : error NL","Database : STRING","Srclist : Item","Srclist : Srclist Item","Item : STRING","$$1 :","Item : STRING '[' $$1 Criteria ']'","Criteria : Criterion","Criteria : Criteria Criterion","Criterion : Status '=' Action","Status : SUCCESS","Status : UNAVAIL","Status : NOTFOUND","Status : TRYAGAIN","Action : RETURN","Action : CONTINUE",};#endif#ifdef YYSTACKSIZE#undef YYMAXDEPTH#define YYMAXDEPTH YYSTACKSIZE#else#ifdef YYMAXDEPTH#define YYSTACKSIZE YYMAXDEPTH#else#define YYSTACKSIZE 500#define YYMAXDEPTH 500#endif#endifint yydebug;int yynerrs;int yyerrflag;int yychar;short *yyssp;YYSTYPE *yyvsp;YYSTYPE yyval;YYSTYPE yylval;short yyss[YYSTACKSIZE];YYSTYPE yyvs[YYSTACKSIZE];#define yystacksize YYSTACKSIZE#line 150 "nsparser.y"static void_nsaddsrctomap(elem)	const char *elem;{	int		i, lineno;	extern int	_nsyylineno;	extern char *	_nsyytext;	lineno = _nsyylineno - (*_nsyytext == '\n' ? 1 : 0);	if (curdbt.srclistsize > 0) {		if ((strcasecmp(elem, NSSRC_COMPAT) == 0) ||		    (strcasecmp(curdbt.srclist[0].name, NSSRC_COMPAT) == 0)) {				/* XXX: syslog the following */			printf("line %d 'compat' used with other sources",			    lineno);			return;		}	}	for (i = 0; i < curdbt.srclistsize; i++) {		if (strcasecmp(curdbt.srclist[i].name, elem) == 0) {				/* XXX: syslog the following */			printf("%s line %d: duplicate source '%s'",			    lineno, elem);			return;		}	}	cursrc.name = elem;

⌨️ 快捷键说明

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