/* A Bison parser, made by GNU Bison 3.0.4. */
/* Bison implementation for Yacc-like parsers in C
Copyright (C) 1984, 1989-1990, 2000-2015 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. */
/* As a special exception, you may create a larger work that contains
part or all of the Bison parser skeleton and distribute that work
under terms of your choice, so long as that work isn't itself a
parser generator using the skeleton or a modified version thereof
as a parser skeleton. Alternatively, if you modify or redistribute
the parser skeleton itself, you may (at your option) remove this
special exception, which will cause the skeleton and the resulting
Bison output files to be licensed under the GNU General Public
License without this special exception.
This special exception was added by the Free Software Foundation in
version 2.2 of Bison. */
/* C LALR(1) parser skeleton written by Richard Stallman, by
simplifying the original so-called "semantic" parser. */
/* All symbols defined below should begin with yy or YY, to avoid
infringing on user name space. This should be done even for local
variables, as they might otherwise be expanded by user macros.
There are some unavoidable exceptions within include files to
define necessary library symbols; they are noted "INFRINGES ON
USER NAME SPACE" below. */
/* Identify Bison output. */
#define YYBISON 1
/* Bison version. */
#define YYBISON_VERSION "3.0.4"
/* Skeleton name. */
#define YYSKELETON_NAME "yacc.c"
/* Pure parsers. */
#define YYPURE 0
/* Push parsers. */
#define YYPUSH 0
/* Pull parsers. */
#define YYPULL 1
/* Copy the first part of user declarations. */
/*
* Copyright (C) 2002 Roman Zippel <zippel@linux-m68k.org>
* Released under the terms of the GNU GPL v2.0.
*/
#include <ctype.h>
#include <stdarg.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <stdbool.h>
#include "lkc.h"
#define printd(mask, fmt...) if (cdebug & (mask)) printf(fmt)
#define PRINTD 0x0001
#define DEBUG_PARSE 0x0002
int cdebug = PRINTD;
int yylex(void);
static void yyerror(const char *err);
static void zconfprint(const char *err, ...);
static void zconf_error(const char *err, ...);
static bool zconf_endtoken(const struct kconf_id *id, int starttoken, int endtoken);
struct symbol *symbol_hash[SYMBOL_HASHSIZE];
static struct menu *current_menu, *current_entry;
# ifndef YY_NULLPTR
# if defined __cplusplus && 201103L <= __cplusplus
# define YY_NULLPTR nullptr
# else
# define YY_NULLPTR 0
# endif
# endif
/* Enabling verbose error messages. */
#ifdef YYERROR_VERBOSE
# undef YYERROR_VERBOSE
# define YYERROR_VERBOSE 1
#else
# define YYERROR_VERBOSE 0
#endif
/* Debug traces. */
#ifndef YYDEBUG
# define YYDEBUG 1
#endif
#if YYDEBUG
extern int yydebug;
#endif
/* Token type. */
#ifndef YYTOKENTYPE
# define YYTOKENTYPE
enum yytokentype
{
T_MAINMENU = 258,
T_MENU = 259,
T_ENDMENU = 260,
T_SOURCE = 261,
T_CHOICE = 262,
T_ENDCHOICE = 263,
T_COMMENT = 264,
T_CONFIG = 265,
T_MENUCONFIG = 266,
T_HELP = 267,
T_HELPTEXT = 268,
T_IF = 269,
T_ENDIF = 270,
T_DEPENDS = 271,
T_OPTIONAL = 272,
T_PROMPT = 273,
T_TYPE = 274,
T_DEFAULT = 275,
T_SELECT = 276,
T_IMPLY = 277,
T_RANGE = 278,
T_VISIBLE = 279,
T_OPTION = 280,
T_ON = 281,
T_WORD = 282,
T_WORD_QUOTE = 283,
T_UNEQUAL = 284,
T_LESS = 285,
T_LESS_EQUAL = 286,
T_GREATER = 287,
T_GREATER_EQUAL = 288,
T_CLOSE_PAREN = 289,
T_OPEN_PAREN = 290,
T_EOL = 291,
T_VARIABLE = 292,
T_ASSIGN = 293,
T_ASSIGN_VAL = 294,
T_OR = 295,
T_AND = 296,
T_EQUAL = 297,
T_NOT = 298
};
#endif
/* Value type. */
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
union YYSTYPE
{
char *string;
struct file *file;
struct symbol *symbol;
struct expr *expr;
struct menu *menu;
const struct kconf_id *id;
enum variable_flavor flavor;
};
typedef union YYSTYPE YYSTYPE;
# define YYSTYPE_IS_TRIVIAL 1
# define YYSTYPE_IS_DECLARED 1
#endif
extern YYSTYPE yylval;
int yyparse (void);
/* Copy the second part of user declarations. */
/* Include kconf_id.c here so it can see the token constants. */
#include "kconf_id.c"
#ifdef short
# undef short
#endif
#ifdef YYTYPE_UINT8
typedef YYTYPE_UINT8 yytype_uint8;
#else
typedef unsigned char yytype_uint8;
#endif
#ifdef YYTYPE_INT8
typedef YYTYPE_INT8 yytype_int8;
#else
typedef signed char yytype_int8;
#endif
#ifdef YYTYPE_UINT16
typedef YYTYPE_UINT16 yytype_uint16;
#else
typedef unsigned short int yytype_uint16;
#endif
#ifdef YYTYPE_INT16
typedef YYTYPE_INT16 yytype_int16;
#else
typedef short int yytype_int16;
#endif
#ifndef YYSIZE_T
# ifdef __SIZE_TYPE__
# define YYSIZE_T __SIZE_TYPE__
# elif defined size_t
# define YYSIZE_T size_t
# elif ! defined YYSIZE_T
# include <stddef.h> /* INFRINGES ON USER NAME SPACE */
# define YYSIZE_T size_t
# else
# define YYSIZE_T unsigned int
# endif
#endif
#define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
#ifndef YY_
# if defined YYENABLE_NLS && YYENABLE_NLS
# if ENABLE_NLS
# include <libintl.h> /* INFRINGES ON USER NAME SPACE */
# define YY_(Msgid) dgettext ("bison-runtime", Msgid)
# endif
# endif
# ifndef YY_
# define YY_(Msgid) Msgid
# endif
#endif
#ifndef YY_ATTRIBUTE
# if (defined __GNUC__ \
&& (2 < __GNUC__ || (__GNUC__ == 2 && 96 <= __GNUC_MINOR__))) \
|| defined __SUNPRO_C && 0x5110 <= __SUNPRO_C
# define YY_ATTRIBUTE(Spec) __attribute__(Spec)
# else
# define YY_ATTRIBUTE(Spec) /* empty */
# endif
#endif
#ifndef YY_ATTRIBUTE_PURE
# define YY_ATTRIBUTE_PURE YY_ATTRIBUTE ((__pure__))
#endif
#ifndef YY_ATTRIBUTE_UNUSED
# define YY_ATTRIBUTE_UNUSED YY_ATTRIBUTE ((__unused__))
#endif
#if !defined _Noreturn \
&& (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112)
# if defined _MSC_VER && 1200 <= _MSC_VER
# define _Noreturn __declspec (noreturn)
# else
# define _Noreturn YY_ATTRIBUTE ((__noreturn__))
# endif
#endif
/* Suppress unused-variable warnings by "using" E. */
#if ! defined lint || defined __GNUC__
# define YYUSE(E) ((void) (E))
#else
# define YYUSE(E) /* empty */
#endif
#if defined __GNUC__ && 407 <= __GNUC__ * 100 + __GNUC_MINOR__
/* Suppress an incorrect diagnostic about yylval being uninitialized. */
# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
_Pragma ("GCC diagnostic push") \
_Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")\
_Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
# define YY_IGNORE_MAYBE_UNINITIALIZED_END \
_Pragma ("GCC diagnostic pop")
#else
# define YY_INITIAL_VALUE(Value) Value
#endif
#ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
# define YY_IGNORE_MAYBE_UNINITIALIZED_END
#endif
#ifndef YY_INITIAL_VALUE
# define YY_INITIAL_VALUE(Value) /* Nothing. */
#endif
#if ! defined yyoverflow || YYERROR_VERBOSE
/* The parser invokes alloca or malloc; define the necessary symbols. */
# ifdef YYSTACK_USE_ALLOCA
# if YYSTACK_USE_ALLOCA
# ifdef __GNUC__
# define YYSTACK_ALLOC __builtin_alloca
# elif defined __BUILTIN_VA_ARG_INCR
# include <alloca.h> /* INFRINGES ON USER NAME SPACE */
# elif defined _AIX
# define YYSTACK_ALLOC __alloca
#
没有合适的资源?快使用搜索试试~ 我知道了~
基于libos架构的操作系统核心库及构建工具
共1329个文件
h:399个
c:299个
uk:272个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 84 浏览量
2024-12-25
16:40:48
上传
评论
收藏 2.81MB ZIP 举报
温馨提示
TenonOS:简化复杂性,释放创新力,重塑操作系统的开发模式。TenonOS是一款基于LibOS架构的操作系统,旨在提升操作系统扩展、裁剪、移植效率,基于丰富的微库组件池,实现跨场景、跨行业、跨领域的快速能力复用,灵活生成与场景最契合的OS实体。
资源推荐
资源详情
资源评论
收起资源包目录
基于libos架构的操作系统核心库及构建工具 (1329个子文件)
03-include-makefile-helper-from-kernel 3KB
04-remove-generic-rule 1KB
05-add-unikraft-fixdep-header 489B
06-remove-implicit-rules 345B
07-import-host-tools-rules 6KB
08-fixdep-and-config-flag 826B
09-support-glob-in-kconfig 2KB
alldef_expected_config 136B
allmod_expected_config 227B
allno_expected_config 136B
allyes_expected_config 249B
app_header_template 279B
app_header_template_empty 0B
syscall_map.awk 2KB
uk_syscall6_r.awk 2KB
syscall_provided.awk 2KB
uk_syscall.awk 1KB
uk_syscall_r.awk 1KB
syscall_r_static.awk 1KB
uk_syscall6.awk 1005B
syscall_static.awk 714B
syscall_stubs.awk 627B
uk_syscall_name_p.awk 484B
libid.awk 483B
store_ld.awk 470B
libc_stubs.awk 461B
selfids.awk 422B
exportsyms.awk 407B
namemap.awk 397B
store_libs.awk 395B
uk_syscall_name.awk 384B
store_array.awk 329B
syscall_nrs2.awk 316B
syscall_nrs.awk 309B
Makefile.br 5KB
02-import-makefile.br 2KB
Makefile.br 812B
Makefile.build 2KB
zconf.tab.c 71KB
zconf.lex.c 65KB
main.c 55KB
fallocbuddy.c 42KB
store.c 40KB
uk_prsyscall.c 40KB
paging.c 40KB
confdata.c 40KB
nconf.c 38KB
gconf.c 38KB
virtio_net.c 36KB
test_vmem.c 32KB
confdata_test.c 32KB
syscalls.c 30KB
expr.c 30KB
symbol.c 29KB
mconf.c 28KB
thread.c 27KB
vmem.c 25KB
socket.c 24KB
9pfs_vnops.c 24KB
unixsock.c 24KB
virtio_blk.c 23KB
gic-v3.c 22KB
menu.c 21KB
fdt_overlay.c 21KB
efi.c 21KB
9p.c 20KB
boot.c 20KB
parser.c 19KB
string.c 18KB
clone.c 18KB
fdt_ro.c 18KB
memory.c 18KB
staticpg.c 18KB
process.c 18KB
bbuddy.c 17KB
util.c 17KB
test_ukstreambuf.c 17KB
netdev.c 17KB
ramfs_vnops.c 17KB
lcpu.c 17KB
gic-v2.c 17KB
getopt.c 16KB
test_intctlr.c 16KB
virtio_mmio.c 16KB
conf.c 15KB
alloc.c 15KB
sscanf.c 15KB
stdio.c 15KB
test_posix_futex.c 15KB
nconf.gui.c 15KB
epoll.c 14KB
blkdev.c 14KB
ubsan.c 14KB
sglist.c 14KB
stdlib.c 14KB
virtio_ring.c 14KB
pci_ecam.c 13KB
traps.c 13KB
virtio_pci.c 13KB
sched.c 13KB
共 1329 条
- 1
- 2
- 3
- 4
- 5
- 6
- 14
资源评论
Java程序员-张凯
- 粉丝: 1w+
- 资源: 7450
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 圣诞树项目中的硬件和MATLAB实现指南
- 免费的PDF/图片转excel工具-调用百度OCR API接口
- HTML与CSS实现简单圣诞树网页
- 用Python实现带装饰效果的圣诞树打印功能
- HTML与CSS创建节日主题的圣诞树网页
- Web开发全栈学习指南与核心技术解析
- UML软件建模酒店视觉AI解决方案
- Qml地图应用示例,包括地图显示、区域线、获取鼠标位置等源程序
- Screenshot_20241224_015626_K.jpg
- MySQL安装环境配置指南:从系统准备到性能优化的全流程详解
- MySQL操作速查手册:数据库管理与性能优化
- Python代码实现带装饰的圣诞树控制台输出
- ls.mobileconfig
- HTML-Christmas Tree Code
- HCIA..............
- 微流控芯片底..克力.STEP
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功