/usr/src/kernels/4.18.0-553.157.1.el8_10.x86_64/scripts/kconfig
Edit: /usr/src/kernels/4.18.0-553.157.1.el8_10.x86_64/scripts/kconfig/zconf.y (16925B)
%{
/*
* Copyright (C) 2002 Roman Zippel
* Released under the terms of the GNU GPL v2.0.
*/
#include
#include
#include
#include
#include
#include
#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;
%}
%expect 31
%union
{
char *string;
struct file *file;
struct symbol *symbol;
struct expr *expr;
struct menu *menu;
const struct kconf_id *id;
enum variable_flavor flavor;
}
%token T_MAINMENU
%token T_MENU
%token T_ENDMENU
%token T_SOURCE
%token T_CHOICE
%token T_ENDCHOICE
%token T_COMMENT
%token T_CONFIG
%token T_MENUCONFIG
%token T_HELP
%token T_HELPTEXT
%token T_IF
%token T_ENDIF
%token T_DEPENDS
%token T_OPTIONAL
%token T_PROMPT
%token T_TYPE
%token T_DEFAULT
%token T_SELECT
%token T_IMPLY
%token T_RANGE
%token T_VISIBLE
%token T_OPTION
%token T_ON
%token T_WORD
%token T_WORD_QUOTE
%token T_UNEQUAL
%token T_LESS
%token T_LESS_EQUAL
%token T_GREATER
%token T_GREATER_EQUAL
%token T_CLOSE_PAREN
%token T_OPEN_PAREN
%token T_EOL
%token T_VARIABLE
%token T_ASSIGN
%token T_ASSIGN_VAL
%left T_OR
%left T_AND
%left T_EQUAL T_UNEQUAL
%left T_LESS T_LESS_EQUAL T_GREATER T_GREATER_EQUAL
%nonassoc T_NOT
%type prompt
%type nonconst_symbol
%type symbol
%type expr
%type if_expr
%type end
%type option_name
%type