1/* A Bison parser, made by GNU Bison 3.8.2. */ 2 3/* Bison implementation for Yacc-like parsers in C 4 5 Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2021 Free Software Foundation, 6 Inc. 7 8 This program is free software: you can redistribute it and/or modify 9 it under the terms of the GNU General Public License as published by 10 the Free Software Foundation, either version 3 of the License, or 11 (at your option) any later version. 12 13 This program is distributed in the hope that it will be useful, 14 but WITHOUT ANY WARRANTY; without even the implied warranty of 15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 GNU General Public License for more details. 17 18 You should have received a copy of the GNU General Public License 19 along with this program. If not, see <https://www.gnu.org/licenses/>. */ 20 21/* As a special exception, you may create a larger work that contains 22 part or all of the Bison parser skeleton and distribute that work 23 under terms of your choice, so long as that work isn't itself a 24 parser generator using the skeleton or a modified version thereof 25 as a parser skeleton. Alternatively, if you modify or redistribute 26 the parser skeleton itself, you may (at your option) remove this 27 special exception, which will cause the skeleton and the resulting 28 Bison output files to be licensed under the GNU General Public 29 License without this special exception. 30 31 This special exception was added by the Free Software Foundation in 32 version 2.2 of Bison. */ 33 34/* C LALR(1) parser skeleton written by Richard Stallman, by 35 simplifying the original so-called "semantic" parser. */ 36 37/* DO NOT RELY ON FEATURES THAT ARE NOT DOCUMENTED in the manual, 38 especially those whose name start with YY_ or yy_. They are 39 private implementation details that can be changed or removed. */ 40 41/* All symbols defined below should begin with yy or YY, to avoid 42 infringing on user name space. This should be done even for local 43 variables, as they might otherwise be expanded by user macros. 44 There are some unavoidable exceptions within include files to 45 define necessary library symbols; they are noted "INFRINGES ON 46 USER NAME SPACE" below. */ 47 48/* Identify Bison output, and Bison version. */ 49#define YYBISON 30802 50 51/* Bison version string. */ 52#define YYBISON_VERSION "3.8.2" 53 54/* Skeleton name. */ 55#define YYSKELETON_NAME "yacc.c" 56 57/* Pure parsers. */ 58#define YYPURE 0 59 60/* Push parsers. */ 61#define YYPUSH 0 62 63/* Pull parsers. */ 64#define YYPULL 1 65 66 67 68 69/* First part of user prologue. */ 70#line 23 "gram.y" 71 72#include "ctwm.h" 73 74#include <stdio.h> 75#include <string.h> 76#include <strings.h> 77 78#include "otp.h" 79#include "iconmgr.h" 80#include "icons.h" 81#ifdef WINBOX 82#include "windowbox.h" 83#endif 84#include "functions_defs.h" 85#include "list.h" 86#include "util.h" 87#include "occupation.h" 88#include "screen.h" 89#include "parse.h" 90#include "parse_be.h" 91#include "parse_yacc.h" 92#include "cursor.h" 93#include "win_decorations_init.h" 94#include "win_regions.h" 95#include "workspace_config.h" 96#ifdef SOUNDS 97# include "sound.h" 98#endif 99 100static char *curWorkSpc = NULL; 101static char *client = NULL; 102static char *workspace = NULL; 103static MenuItem *lastmenuitem = NULL; 104static name_list **curplist = NULL; 105static int color = 0; 106extern char *yytext; // Have to manually pull this in 107 108int yylex(void); 109 110#line 111 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 111 112# ifndef YY_CAST 113# ifdef __cplusplus 114# define YY_CAST(Type, Val) static_cast<Type> (Val) 115# define YY_REINTERPRET_CAST(Type, Val) reinterpret_cast<Type> (Val) 116# else 117# define YY_CAST(Type, Val) ((Type) (Val)) 118# define YY_REINTERPRET_CAST(Type, Val) ((Type) (Val)) 119# endif 120# endif 121# ifndef YY_NULLPTR 122# if defined __cplusplus 123# if 201103L <= __cplusplus 124# define YY_NULLPTR nullptr 125# else 126# define YY_NULLPTR 0 127# endif 128# else 129# define YY_NULLPTR ((void*)0) 130# endif 131# endif 132 133#include "gram.tab.h" 134/* Symbol kind. */ 135enum yysymbol_kind_t 136{ 137 YYSYMBOL_YYEMPTY = -2, 138 YYSYMBOL_YYEOF = 0, /* "end of file" */ 139 YYSYMBOL_YYerror = 1, /* error */ 140 YYSYMBOL_YYUNDEF = 2, /* "invalid token" */ 141 YYSYMBOL_LB = 3, /* LB */ 142 YYSYMBOL_RB = 4, /* RB */ 143 YYSYMBOL_LP = 5, /* LP */ 144 YYSYMBOL_RP = 6, /* RP */ 145 YYSYMBOL_MENUS = 7, /* MENUS */ 146 YYSYMBOL_MENU = 8, /* MENU */ 147 YYSYMBOL_BUTTON = 9, /* BUTTON */ 148 YYSYMBOL_DEFAULT_FUNCTION = 10, /* DEFAULT_FUNCTION */ 149 YYSYMBOL_PLUS = 11, /* PLUS */ 150 YYSYMBOL_MINUS = 12, /* MINUS */ 151 YYSYMBOL_ALL = 13, /* ALL */ 152 YYSYMBOL_OR = 14, /* OR */ 153 YYSYMBOL_CURSORS = 15, /* CURSORS */ 154 YYSYMBOL_PIXMAPS = 16, /* PIXMAPS */ 155 YYSYMBOL_ICONS = 17, /* ICONS */ 156 YYSYMBOL_COLOR = 18, /* COLOR */ 157 YYSYMBOL_SAVECOLOR = 19, /* SAVECOLOR */ 158 YYSYMBOL_MONOCHROME = 20, /* MONOCHROME */ 159 YYSYMBOL_FUNCTION = 21, /* FUNCTION */ 160 YYSYMBOL_ICONMGR_SHOW = 22, /* ICONMGR_SHOW */ 161 YYSYMBOL_ICONMGR = 23, /* ICONMGR */ 162 YYSYMBOL_ALTER = 24, /* ALTER */ 163 YYSYMBOL_WINDOW_FUNCTION = 25, /* WINDOW_FUNCTION */ 164 YYSYMBOL_ZOOM = 26, /* ZOOM */ 165 YYSYMBOL_ICONMGRS = 27, /* ICONMGRS */ 166 YYSYMBOL_ICONMGR_GEOMETRY = 28, /* ICONMGR_GEOMETRY */ 167 YYSYMBOL_ICONMGR_NOSHOW = 29, /* ICONMGR_NOSHOW */ 168 YYSYMBOL_MAKE_TITLE = 30, /* MAKE_TITLE */ 169 YYSYMBOL_ICONIFY_BY_UNMAPPING = 31, /* ICONIFY_BY_UNMAPPING */ 170 YYSYMBOL_DONT_ICONIFY_BY_UNMAPPING = 32, /* DONT_ICONIFY_BY_UNMAPPING */ 171 YYSYMBOL_AUTO_POPUP = 33, /* AUTO_POPUP */ 172 YYSYMBOL_NO_BORDER = 34, /* NO_BORDER */ 173 YYSYMBOL_NO_ICON_TITLE = 35, /* NO_ICON_TITLE */ 174 YYSYMBOL_NO_TITLE = 36, /* NO_TITLE */ 175 YYSYMBOL_AUTO_RAISE = 37, /* AUTO_RAISE */ 176 YYSYMBOL_NO_HILITE = 38, /* NO_HILITE */ 177 YYSYMBOL_ICON_REGION = 39, /* ICON_REGION */ 178 YYSYMBOL_WINDOW_REGION = 40, /* WINDOW_REGION */ 179 YYSYMBOL_META = 41, /* META */ 180 YYSYMBOL_SHIFT = 42, /* SHIFT */ 181 YYSYMBOL_LOCK = 43, /* LOCK */ 182 YYSYMBOL_CONTROL = 44, /* CONTROL */ 183 YYSYMBOL_WINDOW = 45, /* WINDOW */ 184 YYSYMBOL_TITLE = 46, /* TITLE */ 185 YYSYMBOL_ICON = 47, /* ICON */ 186 YYSYMBOL_ROOT = 48, /* ROOT */ 187 YYSYMBOL_FRAME = 49, /* FRAME */ 188 YYSYMBOL_COLON = 50, /* COLON */ 189 YYSYMBOL_EQUALS = 51, /* EQUALS */ 190 YYSYMBOL_SQUEEZE_TITLE = 52, /* SQUEEZE_TITLE */ 191 YYSYMBOL_DONT_SQUEEZE_TITLE = 53, /* DONT_SQUEEZE_TITLE */ 192 YYSYMBOL_WARP_ON_DEICONIFY = 54, /* WARP_ON_DEICONIFY */ 193 YYSYMBOL_START_ICONIFIED = 55, /* START_ICONIFIED */ 194 YYSYMBOL_NO_TITLE_HILITE = 56, /* NO_TITLE_HILITE */ 195 YYSYMBOL_TITLE_HILITE = 57, /* TITLE_HILITE */ 196 YYSYMBOL_MOVE = 58, /* MOVE */ 197 YYSYMBOL_RESIZE = 59, /* RESIZE */ 198 YYSYMBOL_WAITC = 60, /* WAITC */ 199 YYSYMBOL_SELECT = 61, /* SELECT */ 200 YYSYMBOL_KILL = 62, /* KILL */ 201 YYSYMBOL_LEFT_TITLEBUTTON = 63, /* LEFT_TITLEBUTTON */ 202 YYSYMBOL_RIGHT_TITLEBUTTON = 64, /* RIGHT_TITLEBUTTON */ 203 YYSYMBOL_NUMBER = 65, /* NUMBER */ 204 YYSYMBOL_KEYWORD = 66, /* KEYWORD */ 205 YYSYMBOL_NKEYWORD = 67, /* NKEYWORD */ 206 YYSYMBOL_CKEYWORD = 68, /* CKEYWORD */ 207 YYSYMBOL_CLKEYWORD = 69, /* CLKEYWORD */ 208 YYSYMBOL_FKEYWORD = 70, /* FKEYWORD */ 209 YYSYMBOL_FSKEYWORD = 71, /* FSKEYWORD */ 210 YYSYMBOL_FNKEYWORD = 72, /* FNKEYWORD */ 211 YYSYMBOL_PRIORITY_SWITCHING = 73, /* PRIORITY_SWITCHING */ 212 YYSYMBOL_PRIORITY_NOT_SWITCHING = 74, /* PRIORITY_NOT_SWITCHING */ 213 YYSYMBOL_SKEYWORD = 75, /* SKEYWORD */ 214 YYSYMBOL_SSKEYWORD = 76, /* SSKEYWORD */ 215 YYSYMBOL_WINDOW_RING = 77, /* WINDOW_RING */ 216 YYSYMBOL_WINDOW_RING_EXCLUDE = 78, /* WINDOW_RING_EXCLUDE */ 217 YYSYMBOL_WARP_CURSOR = 79, /* WARP_CURSOR */ 218 YYSYMBOL_ERRORTOKEN = 80, /* ERRORTOKEN */ 219 YYSYMBOL_GRAVITY = 81, /* GRAVITY */ 220 YYSYMBOL_SIJENUM = 82, /* SIJENUM */ 221 YYSYMBOL_NO_STACKMODE = 83, /* NO_STACKMODE */ 222 YYSYMBOL_ALWAYS_ON_TOP = 84, /* ALWAYS_ON_TOP */ 223 YYSYMBOL_WORKSPACE = 85, /* WORKSPACE */ 224 YYSYMBOL_WORKSPACES = 86, /* WORKSPACES */ 225 YYSYMBOL_WORKSPCMGR_GEOMETRY = 87, /* WORKSPCMGR_GEOMETRY */ 226 YYSYMBOL_OCCUPYALL = 88, /* OCCUPYALL */ 227 YYSYMBOL_OCCUPYLIST = 89, /* OCCUPYLIST */ 228 YYSYMBOL_MAPWINDOWCURRENTWORKSPACE = 90, /* MAPWINDOWCURRENTWORKSPACE */ 229 YYSYMBOL_MAPWINDOWDEFAULTWORKSPACE = 91, /* MAPWINDOWDEFAULTWORKSPACE */ 230 YYSYMBOL_ON_TOP_PRIORITY = 92, /* ON_TOP_PRIORITY */ 231 YYSYMBOL_UNMAPBYMOVINGFARAWAY = 93, /* UNMAPBYMOVINGFARAWAY */ 232 YYSYMBOL_OPAQUEMOVE = 94, /* OPAQUEMOVE */ 233 YYSYMBOL_NOOPAQUEMOVE = 95, /* NOOPAQUEMOVE */ 234 YYSYMBOL_OPAQUERESIZE = 96, /* OPAQUERESIZE */ 235 YYSYMBOL_NOOPAQUERESIZE = 97, /* NOOPAQUERESIZE */ 236 YYSYMBOL_DONTSETINACTIVE = 98, /* DONTSETINACTIVE */ 237 YYSYMBOL_CHANGE_WORKSPACE_FUNCTION = 99, /* CHANGE_WORKSPACE_FUNCTION */ 238 YYSYMBOL_DEICONIFY_FUNCTION = 100, /* DEICONIFY_FUNCTION */ 239 YYSYMBOL_ICONIFY_FUNCTION = 101, /* ICONIFY_FUNCTION */ 240 YYSYMBOL_AUTOSQUEEZE = 102, /* AUTOSQUEEZE */ 241 YYSYMBOL_STARTSQUEEZED = 103, /* STARTSQUEEZED */ 242 YYSYMBOL_DONT_SAVE = 104, /* DONT_SAVE */ 243 YYSYMBOL_AUTO_LOWER = 105, /* AUTO_LOWER */ 244 YYSYMBOL_ICONMENU_DONTSHOW = 106, /* ICONMENU_DONTSHOW */ 245 YYSYMBOL_WINDOW_BOX = 107, /* WINDOW_BOX */ 246 YYSYMBOL_IGNOREMODIFIER = 108, /* IGNOREMODIFIER */ 247 YYSYMBOL_WINDOW_GEOMETRIES = 109, /* WINDOW_GEOMETRIES */ 248 YYSYMBOL_ALWAYSSQUEEZETOGRAVITY = 110, /* ALWAYSSQUEEZETOGRAVITY */ 249 YYSYMBOL_VIRTUAL_SCREENS = 111, /* VIRTUAL_SCREENS */ 250 YYSYMBOL_IGNORE_TRANSIENT = 112, /* IGNORE_TRANSIENT */ 251 YYSYMBOL_EWMH_IGNORE = 113, /* EWMH_IGNORE */ 252 YYSYMBOL_MWM_IGNORE = 114, /* MWM_IGNORE */ 253 YYSYMBOL_MONITOR_LAYOUT = 115, /* MONITOR_LAYOUT */ 254 YYSYMBOL_RPLAY_SOUNDS = 116, /* RPLAY_SOUNDS */ 255 YYSYMBOL_FORCE_FOCUS = 117, /* FORCE_FOCUS */ 256 YYSYMBOL_STRING = 118, /* STRING */ 257 YYSYMBOL_YYACCEPT = 119, /* $accept */ 258 YYSYMBOL_twmrc = 120, /* twmrc */ 259 YYSYMBOL_121_1 = 121, /* $@1 */ 260 YYSYMBOL_stmts = 122, /* stmts */ 261 YYSYMBOL_stmt = 123, /* stmt */ 262 YYSYMBOL_124_2 = 124, /* $@2 */ 263 YYSYMBOL_125_3 = 125, /* $@3 */ 264 YYSYMBOL_126_4 = 126, /* $@4 */ 265 YYSYMBOL_127_5 = 127, /* $@5 */ 266 YYSYMBOL_128_6 = 128, /* $@6 */ 267 YYSYMBOL_129_7 = 129, /* $@7 */ 268 YYSYMBOL_130_8 = 130, /* $@8 */ 269 YYSYMBOL_131_9 = 131, /* $@9 */ 270 YYSYMBOL_132_10 = 132, /* $@10 */ 271 YYSYMBOL_133_11 = 133, /* $@11 */ 272 YYSYMBOL_134_12 = 134, /* $@12 */ 273 YYSYMBOL_135_13 = 135, /* $@13 */ 274 YYSYMBOL_136_14 = 136, /* $@14 */ 275 YYSYMBOL_137_15 = 137, /* $@15 */ 276 YYSYMBOL_138_16 = 138, /* $@16 */ 277 YYSYMBOL_139_17 = 139, /* $@17 */ 278 YYSYMBOL_140_18 = 140, /* $@18 */ 279 YYSYMBOL_141_19 = 141, /* $@19 */ 280 YYSYMBOL_142_20 = 142, /* $@20 */ 281 YYSYMBOL_143_21 = 143, /* $@21 */ 282 YYSYMBOL_144_22 = 144, /* $@22 */ 283 YYSYMBOL_145_23 = 145, /* $@23 */ 284 YYSYMBOL_146_24 = 146, /* $@24 */ 285 YYSYMBOL_147_25 = 147, /* $@25 */ 286 YYSYMBOL_148_26 = 148, /* $@26 */ 287 YYSYMBOL_149_27 = 149, /* $@27 */ 288 YYSYMBOL_150_28 = 150, /* $@28 */ 289 YYSYMBOL_151_29 = 151, /* $@29 */ 290 YYSYMBOL_152_30 = 152, /* $@30 */ 291 YYSYMBOL_153_31 = 153, /* $@31 */ 292 YYSYMBOL_154_32 = 154, /* $@32 */ 293 YYSYMBOL_155_33 = 155, /* $@33 */ 294 YYSYMBOL_156_34 = 156, /* $@34 */ 295 YYSYMBOL_157_35 = 157, /* $@35 */ 296 YYSYMBOL_158_36 = 158, /* $@36 */ 297 YYSYMBOL_159_37 = 159, /* $@37 */ 298 YYSYMBOL_160_38 = 160, /* $@38 */ 299 YYSYMBOL_161_39 = 161, /* $@39 */ 300 YYSYMBOL_162_40 = 162, /* $@40 */ 301 YYSYMBOL_163_41 = 163, /* $@41 */ 302 YYSYMBOL_164_42 = 164, /* $@42 */ 303 YYSYMBOL_165_43 = 165, /* $@43 */ 304 YYSYMBOL_166_44 = 166, /* $@44 */ 305 YYSYMBOL_167_45 = 167, /* $@45 */ 306 YYSYMBOL_168_46 = 168, /* $@46 */ 307 YYSYMBOL_169_47 = 169, /* $@47 */ 308 YYSYMBOL_170_48 = 170, /* $@48 */ 309 YYSYMBOL_171_49 = 171, /* $@49 */ 310 YYSYMBOL_172_50 = 172, /* $@50 */ 311 YYSYMBOL_173_51 = 173, /* $@51 */ 312 YYSYMBOL_174_52 = 174, /* $@52 */ 313 YYSYMBOL_175_53 = 175, /* $@53 */ 314 YYSYMBOL_176_54 = 176, /* $@54 */ 315 YYSYMBOL_177_55 = 177, /* $@55 */ 316 YYSYMBOL_178_56 = 178, /* $@56 */ 317 YYSYMBOL_179_57 = 179, /* $@57 */ 318 YYSYMBOL_180_58 = 180, /* $@58 */ 319 YYSYMBOL_181_59 = 181, /* $@59 */ 320 YYSYMBOL_182_60 = 182, /* $@60 */ 321 YYSYMBOL_183_61 = 183, /* $@61 */ 322 YYSYMBOL_184_62 = 184, /* $@62 */ 323 YYSYMBOL_185_63 = 185, /* $@63 */ 324 YYSYMBOL_186_64 = 186, /* $@64 */ 325 YYSYMBOL_187_65 = 187, /* $@65 */ 326 YYSYMBOL_188_66 = 188, /* $@66 */ 327 YYSYMBOL_189_67 = 189, /* $@67 */ 328 YYSYMBOL_190_68 = 190, /* $@68 */ 329 YYSYMBOL_191_69 = 191, /* $@69 */ 330 YYSYMBOL_noarg = 192, /* noarg */ 331 YYSYMBOL_sarg = 193, /* sarg */ 332 YYSYMBOL_narg = 194, /* narg */ 333 YYSYMBOL_keyaction = 195, /* keyaction */ 334 YYSYMBOL_full = 196, /* full */ 335 YYSYMBOL_fullkey = 197, /* fullkey */ 336 YYSYMBOL_keys = 198, /* keys */ 337 YYSYMBOL_key = 199, /* key */ 338 YYSYMBOL_vgrav = 200, /* vgrav */ 339 YYSYMBOL_hgrav = 201, /* hgrav */ 340 YYSYMBOL_contexts = 202, /* contexts */ 341 YYSYMBOL_context = 203, /* context */ 342 YYSYMBOL_contextkeys = 204, /* contextkeys */ 343 YYSYMBOL_contextkey = 205, /* contextkey */ 344 YYSYMBOL_binding_list = 206, /* binding_list */ 345 YYSYMBOL_binding_entries = 207, /* binding_entries */ 346 YYSYMBOL_binding_entry = 208, /* binding_entry */ 347 YYSYMBOL_pixmap_list = 209, /* pixmap_list */ 348 YYSYMBOL_pixmap_entries = 210, /* pixmap_entries */ 349 YYSYMBOL_pixmap_entry = 211, /* pixmap_entry */ 350 YYSYMBOL_cursor_list = 212, /* cursor_list */ 351 YYSYMBOL_cursor_entries = 213, /* cursor_entries */ 352 YYSYMBOL_cursor_entry = 214, /* cursor_entry */ 353 YYSYMBOL_color_list = 215, /* color_list */ 354 YYSYMBOL_color_entries = 216, /* color_entries */ 355 YYSYMBOL_color_entry = 217, /* color_entry */ 356 YYSYMBOL_218_70 = 218, /* $@70 */ 357 YYSYMBOL_save_color_list = 219, /* save_color_list */ 358 YYSYMBOL_s_color_entries = 220, /* s_color_entries */ 359 YYSYMBOL_s_color_entry = 221, /* s_color_entry */ 360 YYSYMBOL_win_color_list = 222, /* win_color_list */ 361 YYSYMBOL_win_color_entries = 223, /* win_color_entries */ 362 YYSYMBOL_win_color_entry = 224, /* win_color_entry */ 363 YYSYMBOL_wingeom_list = 225, /* wingeom_list */ 364 YYSYMBOL_wingeom_entries = 226, /* wingeom_entries */ 365 YYSYMBOL_wingeom_entry = 227, /* wingeom_entry */ 366 YYSYMBOL_vscreen_geom_list = 228, /* vscreen_geom_list */ 367 YYSYMBOL_vscreen_geom_entries = 229, /* vscreen_geom_entries */ 368 YYSYMBOL_vscreen_geom_entry = 230, /* vscreen_geom_entry */ 369 YYSYMBOL_ewmh_ignore_list = 231, /* ewmh_ignore_list */ 370 YYSYMBOL_ewmh_ignore_entries = 232, /* ewmh_ignore_entries */ 371 YYSYMBOL_ewmh_ignore_entry = 233, /* ewmh_ignore_entry */ 372 YYSYMBOL_mwm_ignore_list = 234, /* mwm_ignore_list */ 373 YYSYMBOL_mwm_ignore_entries = 235, /* mwm_ignore_entries */ 374 YYSYMBOL_mwm_ignore_entry = 236, /* mwm_ignore_entry */ 375 YYSYMBOL_layout_geom_list = 237, /* layout_geom_list */ 376 YYSYMBOL_layout_geom_entries = 238, /* layout_geom_entries */ 377 YYSYMBOL_layout_geom_entry = 239, /* layout_geom_entry */ 378 YYSYMBOL_squeeze = 240, /* squeeze */ 379 YYSYMBOL_241_71 = 241, /* $@71 */ 380 YYSYMBOL_242_72 = 242, /* $@72 */ 381 YYSYMBOL_win_sqz_entries = 243, /* win_sqz_entries */ 382 YYSYMBOL_iconm_list = 244, /* iconm_list */ 383 YYSYMBOL_iconm_entries = 245, /* iconm_entries */ 384 YYSYMBOL_iconm_entry = 246, /* iconm_entry */ 385 YYSYMBOL_workspc_list = 247, /* workspc_list */ 386 YYSYMBOL_workspc_entries = 248, /* workspc_entries */ 387 YYSYMBOL_workspc_entry = 249, /* workspc_entry */ 388 YYSYMBOL_250_73 = 250, /* $@73 */ 389 YYSYMBOL_workapp_list = 251, /* workapp_list */ 390 YYSYMBOL_workapp_entries = 252, /* workapp_entries */ 391 YYSYMBOL_workapp_entry = 253, /* workapp_entry */ 392 YYSYMBOL_curwork = 254, /* curwork */ 393 YYSYMBOL_defwork = 255, /* defwork */ 394 YYSYMBOL_win_list = 256, /* win_list */ 395 YYSYMBOL_win_entries = 257, /* win_entries */ 396 YYSYMBOL_win_entry = 258, /* win_entry */ 397 YYSYMBOL_occupy_list = 259, /* occupy_list */ 398 YYSYMBOL_occupy_entries = 260, /* occupy_entries */ 399 YYSYMBOL_occupy_entry = 261, /* occupy_entry */ 400 YYSYMBOL_262_74 = 262, /* $@74 */ 401 YYSYMBOL_263_75 = 263, /* $@75 */ 402 YYSYMBOL_264_76 = 264, /* $@76 */ 403 YYSYMBOL_occupy_workspc_list = 265, /* occupy_workspc_list */ 404 YYSYMBOL_occupy_workspc_entries = 266, /* occupy_workspc_entries */ 405 YYSYMBOL_occupy_workspc_entry = 267, /* occupy_workspc_entry */ 406 YYSYMBOL_occupy_window_list = 268, /* occupy_window_list */ 407 YYSYMBOL_occupy_window_entries = 269, /* occupy_window_entries */ 408 YYSYMBOL_occupy_window_entry = 270, /* occupy_window_entry */ 409 YYSYMBOL_icon_list = 271, /* icon_list */ 410 YYSYMBOL_icon_entries = 272, /* icon_entries */ 411 YYSYMBOL_icon_entry = 273, /* icon_entry */ 412 YYSYMBOL_rplay_sounds_list = 274, /* rplay_sounds_list */ 413 YYSYMBOL_rplay_sounds_entries = 275, /* rplay_sounds_entries */ 414 YYSYMBOL_rplay_sounds_entry = 276, /* rplay_sounds_entry */ 415 YYSYMBOL_function = 277, /* function */ 416 YYSYMBOL_function_entries = 278, /* function_entries */ 417 YYSYMBOL_function_entry = 279, /* function_entry */ 418 YYSYMBOL_menu = 280, /* menu */ 419 YYSYMBOL_menu_entries = 281, /* menu_entries */ 420 YYSYMBOL_menu_entry = 282, /* menu_entry */ 421 YYSYMBOL_action = 283, /* action */ 422 YYSYMBOL_signed_number = 284, /* signed_number */ 423 YYSYMBOL_button = 285, /* button */ 424 YYSYMBOL_string = 286, /* string */ 425 YYSYMBOL_number = 287 /* number */ 426}; 427typedef enum yysymbol_kind_t yysymbol_kind_t; 428 429 430 431 432#ifdef short 433# undef short 434#endif 435 436/* On compilers that do not define __PTRDIFF_MAX__ etc., make sure 437 <limits.h> and (if available) <stdint.h> are included 438 so that the code can choose integer types of a good width. */ 439 440#ifndef __PTRDIFF_MAX__ 441# include <limits.h> /* INFRINGES ON USER NAME SPACE */ 442# if defined __STDC_VERSION__ && 199901 <= __STDC_VERSION__ 443# include <stdint.h> /* INFRINGES ON USER NAME SPACE */ 444# define YY_STDINT_H 445# endif 446#endif 447 448/* Narrow types that promote to a signed type and that can represent a 449 signed or unsigned integer of at least N bits. In tables they can 450 save space and decrease cache pressure. Promoting to a signed type 451 helps avoid bugs in integer arithmetic. */ 452 453#ifdef __INT_LEAST8_MAX__ 454typedef __INT_LEAST8_TYPE__ yytype_int8; 455#elif defined YY_STDINT_H 456typedef int_least8_t yytype_int8; 457#else 458typedef signed char yytype_int8; 459#endif 460 461#ifdef __INT_LEAST16_MAX__ 462typedef __INT_LEAST16_TYPE__ yytype_int16; 463#elif defined YY_STDINT_H 464typedef int_least16_t yytype_int16; 465#else 466typedef short yytype_int16; 467#endif 468 469/* Work around bug in HP-UX 11.23, which defines these macros 470 incorrectly for preprocessor constants. This workaround can likely 471 be removed in 2023, as HPE has promised support for HP-UX 11.23 472 (aka HP-UX 11i v2) only through the end of 2022; see Table 2 of 473 <https://h20195.www2.hpe.com/V2/getpdf.aspx/4AA4-7673ENW.pdf>. */ 474#ifdef __hpux 475# undef UINT_LEAST8_MAX 476# undef UINT_LEAST16_MAX 477# define UINT_LEAST8_MAX 255 478# define UINT_LEAST16_MAX 65535 479#endif 480 481#if defined __UINT_LEAST8_MAX__ && __UINT_LEAST8_MAX__ <= __INT_MAX__ 482typedef __UINT_LEAST8_TYPE__ yytype_uint8; 483#elif (!defined __UINT_LEAST8_MAX__ && defined YY_STDINT_H \ 484 && UINT_LEAST8_MAX <= INT_MAX) 485typedef uint_least8_t yytype_uint8; 486#elif !defined __UINT_LEAST8_MAX__ && UCHAR_MAX <= INT_MAX 487typedef unsigned char yytype_uint8; 488#else 489typedef short yytype_uint8; 490#endif 491 492#if defined __UINT_LEAST16_MAX__ && __UINT_LEAST16_MAX__ <= __INT_MAX__ 493typedef __UINT_LEAST16_TYPE__ yytype_uint16; 494#elif (!defined __UINT_LEAST16_MAX__ && defined YY_STDINT_H \ 495 && UINT_LEAST16_MAX <= INT_MAX) 496typedef uint_least16_t yytype_uint16; 497#elif !defined __UINT_LEAST16_MAX__ && USHRT_MAX <= INT_MAX 498typedef unsigned short yytype_uint16; 499#else 500typedef int yytype_uint16; 501#endif 502 503#ifndef YYPTRDIFF_T 504# if defined __PTRDIFF_TYPE__ && defined __PTRDIFF_MAX__ 505# define YYPTRDIFF_T __PTRDIFF_TYPE__ 506# define YYPTRDIFF_MAXIMUM __PTRDIFF_MAX__ 507# elif defined PTRDIFF_MAX 508# ifndef ptrdiff_t 509# include <stddef.h> /* INFRINGES ON USER NAME SPACE */ 510# endif 511# define YYPTRDIFF_T ptrdiff_t 512# define YYPTRDIFF_MAXIMUM PTRDIFF_MAX 513# else 514# define YYPTRDIFF_T long 515# define YYPTRDIFF_MAXIMUM LONG_MAX 516# endif 517#endif 518 519#ifndef YYSIZE_T 520# ifdef __SIZE_TYPE__ 521# define YYSIZE_T __SIZE_TYPE__ 522# elif defined size_t 523# define YYSIZE_T size_t 524# elif defined __STDC_VERSION__ && 199901 <= __STDC_VERSION__ 525# include <stddef.h> /* INFRINGES ON USER NAME SPACE */ 526# define YYSIZE_T size_t 527# else 528# define YYSIZE_T unsigned 529# endif 530#endif 531 532#define YYSIZE_MAXIMUM \ 533 YY_CAST (YYPTRDIFF_T, \ 534 (YYPTRDIFF_MAXIMUM < YY_CAST (YYSIZE_T, -1) \ 535 ? YYPTRDIFF_MAXIMUM \ 536 : YY_CAST (YYSIZE_T, -1))) 537 538#define YYSIZEOF(X) YY_CAST (YYPTRDIFF_T, sizeof (X)) 539 540 541/* Stored state numbers (used for stacks). */ 542typedef yytype_int16 yy_state_t; 543 544/* State numbers in computations. */ 545typedef int yy_state_fast_t; 546 547#ifndef YY_ 548# if defined YYENABLE_NLS && YYENABLE_NLS 549# if ENABLE_NLS 550# include <libintl.h> /* INFRINGES ON USER NAME SPACE */ 551# define YY_(Msgid) dgettext ("bison-runtime", Msgid) 552# endif 553# endif 554# ifndef YY_ 555# define YY_(Msgid) Msgid 556# endif 557#endif 558 559 560#ifndef YY_ATTRIBUTE_PURE 561# if defined __GNUC__ && 2 < __GNUC__ + (96 <= __GNUC_MINOR__) 562# define YY_ATTRIBUTE_PURE __attribute__ ((__pure__)) 563# else 564# define YY_ATTRIBUTE_PURE 565# endif 566#endif 567 568#ifndef YY_ATTRIBUTE_UNUSED 569# if defined __GNUC__ && 2 < __GNUC__ + (7 <= __GNUC_MINOR__) 570# define YY_ATTRIBUTE_UNUSED __attribute__ ((__unused__)) 571# else 572# define YY_ATTRIBUTE_UNUSED 573# endif 574#endif 575 576/* Suppress unused-variable warnings by "using" E. */ 577#if ! defined lint || defined __GNUC__ 578# define YY_USE(E) ((void) (E)) 579#else 580# define YY_USE(E) /* empty */ 581#endif 582 583/* Suppress an incorrect diagnostic about yylval being uninitialized. */ 584#if defined __GNUC__ && ! defined __ICC && 406 <= __GNUC__ * 100 + __GNUC_MINOR__ 585# if __GNUC__ * 100 + __GNUC_MINOR__ < 407 586# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \ 587 _Pragma ("GCC diagnostic push") \ 588 _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"") 589# else 590# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \ 591 _Pragma ("GCC diagnostic push") \ 592 _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"") \ 593 _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"") 594# endif 595# define YY_IGNORE_MAYBE_UNINITIALIZED_END \ 596 _Pragma ("GCC diagnostic pop") 597#else 598# define YY_INITIAL_VALUE(Value) Value 599#endif 600#ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN 601# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN 602# define YY_IGNORE_MAYBE_UNINITIALIZED_END 603#endif 604#ifndef YY_INITIAL_VALUE 605# define YY_INITIAL_VALUE(Value) /* Nothing. */ 606#endif 607 608#if defined __cplusplus && defined __GNUC__ && ! defined __ICC && 6 <= __GNUC__ 609# define YY_IGNORE_USELESS_CAST_BEGIN \ 610 _Pragma ("GCC diagnostic push") \ 611 _Pragma ("GCC diagnostic ignored \"-Wuseless-cast\"") 612# define YY_IGNORE_USELESS_CAST_END \ 613 _Pragma ("GCC diagnostic pop") 614#endif 615#ifndef YY_IGNORE_USELESS_CAST_BEGIN 616# define YY_IGNORE_USELESS_CAST_BEGIN 617# define YY_IGNORE_USELESS_CAST_END 618#endif 619 620 621#define YY_ASSERT(E) ((void) (0 && (E))) 622 623#if !defined yyoverflow 624 625/* The parser invokes alloca or malloc; define the necessary symbols. */ 626 627# ifdef YYSTACK_USE_ALLOCA 628# if YYSTACK_USE_ALLOCA 629# ifdef __GNUC__ 630# define YYSTACK_ALLOC __builtin_alloca 631# elif defined __BUILTIN_VA_ARG_INCR 632# include <alloca.h> /* INFRINGES ON USER NAME SPACE */ 633# elif defined _AIX 634# define YYSTACK_ALLOC __alloca 635# elif defined _MSC_VER 636# include <malloc.h> /* INFRINGES ON USER NAME SPACE */ 637# define alloca _alloca 638# else 639# define YYSTACK_ALLOC alloca 640# if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS 641# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */ 642 /* Use EXIT_SUCCESS as a witness for stdlib.h. */ 643# ifndef EXIT_SUCCESS 644# define EXIT_SUCCESS 0 645# endif 646# endif 647# endif 648# endif 649# endif 650 651# ifdef YYSTACK_ALLOC 652 /* Pacify GCC's 'empty if-body' warning. */ 653# define YYSTACK_FREE(Ptr) do { /* empty */; } while (0) 654# ifndef YYSTACK_ALLOC_MAXIMUM 655 /* The OS might guarantee only one guard page at the bottom of the stack, 656 and a page size can be as small as 4096 bytes. So we cannot safely 657 invoke alloca (N) if N exceeds 4096. Use a slightly smaller number 658 to allow for a few compiler-allocated temporary stack slots. */ 659# define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */ 660# endif 661# else 662# define YYSTACK_ALLOC YYMALLOC 663# define YYSTACK_FREE YYFREE 664# ifndef YYSTACK_ALLOC_MAXIMUM 665# define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM 666# endif 667# if (defined __cplusplus && ! defined EXIT_SUCCESS \ 668 && ! ((defined YYMALLOC || defined malloc) \ 669 && (defined YYFREE || defined free))) 670# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */ 671# ifndef EXIT_SUCCESS 672# define EXIT_SUCCESS 0 673# endif 674# endif 675# ifndef YYMALLOC 676# define YYMALLOC malloc 677# if ! defined malloc && ! defined EXIT_SUCCESS 678void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */ 679# endif 680# endif 681# ifndef YYFREE 682# define YYFREE free 683# if ! defined free && ! defined EXIT_SUCCESS 684void free (void *); /* INFRINGES ON USER NAME SPACE */ 685# endif 686# endif 687# endif 688#endif /* !defined yyoverflow */ 689 690#if (! defined yyoverflow \ 691 && (! defined __cplusplus \ 692 || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL))) 693 694/* A type that is properly aligned for any stack member. */ 695union yyalloc 696{ 697 yy_state_t yyss_alloc; 698 YYSTYPE yyvs_alloc; 699}; 700 701/* The size of the maximum gap between one aligned stack and the next. */ 702# define YYSTACK_GAP_MAXIMUM (YYSIZEOF (union yyalloc) - 1) 703 704/* The size of an array large to enough to hold all stacks, each with 705 N elements. */ 706# define YYSTACK_BYTES(N) \ 707 ((N) * (YYSIZEOF (yy_state_t) + YYSIZEOF (YYSTYPE)) \ 708 + YYSTACK_GAP_MAXIMUM) 709 710# define YYCOPY_NEEDED 1 711 712/* Relocate STACK from its old location to the new one. The 713 local variables YYSIZE and YYSTACKSIZE give the old and new number of 714 elements in the stack, and YYPTR gives the new location of the 715 stack. Advance YYPTR to a properly aligned location for the next 716 stack. */ 717# define YYSTACK_RELOCATE(Stack_alloc, Stack) \ 718 do \ 719 { \ 720 YYPTRDIFF_T yynewbytes; \ 721 YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \ 722 Stack = &yyptr->Stack_alloc; \ 723 yynewbytes = yystacksize * YYSIZEOF (*Stack) + YYSTACK_GAP_MAXIMUM; \ 724 yyptr += yynewbytes / YYSIZEOF (*yyptr); \ 725 } \ 726 while (0) 727 728#endif 729 730#if defined YYCOPY_NEEDED && YYCOPY_NEEDED 731/* Copy COUNT objects from SRC to DST. The source and destination do 732 not overlap. */ 733# ifndef YYCOPY 734# if defined __GNUC__ && 1 < __GNUC__ 735# define YYCOPY(Dst, Src, Count) \ 736 __builtin_memcpy (Dst, Src, YY_CAST (YYSIZE_T, (Count)) * sizeof (*(Src))) 737# else 738# define YYCOPY(Dst, Src, Count) \ 739 do \ 740 { \ 741 YYPTRDIFF_T yyi; \ 742 for (yyi = 0; yyi < (Count); yyi++) \ 743 (Dst)[yyi] = (Src)[yyi]; \ 744 } \ 745 while (0) 746# endif 747# endif 748#endif /* !YYCOPY_NEEDED */ 749 750/* YYFINAL -- State number of the termination state. */ 751#define YYFINAL 3 752/* YYLAST -- Last index in YYTABLE. */ 753#define YYLAST 977 754 755/* YYNTOKENS -- Number of terminals. */ 756#define YYNTOKENS 119 757/* YYNNTS -- Number of nonterminals. */ 758#define YYNNTS 169 759/* YYNRULES -- Number of rules. */ 760#define YYNRULES 388 761/* YYNSTATES -- Number of states. */ 762#define YYNSTATES 554 763 764/* YYMAXUTOK -- Last valid token kind. */ 765#define YYMAXUTOK 373 766 767 768/* YYTRANSLATE(TOKEN-NUM) -- Symbol number corresponding to TOKEN-NUM 769 as returned by yylex, with out-of-bounds checking. */ 770#define YYTRANSLATE(YYX) \ 771 (0 <= (YYX) && (YYX) <= YYMAXUTOK \ 772 ? YY_CAST (yysymbol_kind_t, yytranslate[YYX]) \ 773 : YYSYMBOL_YYUNDEF) 774 775/* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM 776 as returned by yylex. */ 777static const yytype_int8 yytranslate[] = 778{ 779 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 780 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 781 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 782 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 783 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 784 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 785 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 786 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 787 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 788 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 789 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 790 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 791 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 792 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 793 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 794 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 795 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 796 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 797 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 798 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 799 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 800 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 801 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 802 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 803 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 804 2, 2, 2, 2, 2, 2, 1, 2, 3, 4, 805 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 806 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 807 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 808 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 809 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 810 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 811 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 812 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 813 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 814 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 815 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 816 115, 116, 117, 118 817}; 818 819#if YYDEBUG 820/* YYRLINE[YYN] -- Source line where rule number YYN was defined. */ 821static const yytype_int16 yyrline[] = 822{ 823 0, 109, 109, 109, 113, 114, 117, 118, 119, 120, 824 121, 122, 125, 128, 131, 134, 134, 138, 138, 142, 825 142, 146, 146, 151, 151, 156, 156, 163, 169, 172, 826 178, 181, 181, 184, 184, 187, 193, 195, 196, 197, 827 197, 199, 202, 202, 204, 205, 205, 207, 208, 208, 828 210, 211, 211, 213, 215, 218, 221, 221, 223, 223, 829 225, 229, 245, 246, 248, 248, 250, 250, 253, 255, 830 252, 257, 257, 259, 259, 261, 261, 263, 263, 265, 831 265, 267, 267, 269, 270, 270, 272, 272, 274, 274, 832 276, 277, 277, 279, 279, 281, 281, 283, 285, 285, 833 287, 289, 291, 294, 293, 297, 296, 299, 299, 301, 834 301, 304, 304, 308, 307, 312, 311, 317, 317, 319, 835 321, 321, 323, 324, 324, 326, 326, 335, 335, 337, 836 339, 339, 341, 343, 343, 345, 345, 347, 347, 349, 837 349, 351, 352, 352, 354, 354, 356, 357, 357, 360, 838 360, 362, 362, 364, 364, 366, 366, 368, 368, 370, 839 370, 372, 388, 396, 404, 412, 420, 420, 422, 424, 840 424, 426, 427, 427, 431, 431, 433, 433, 435, 435, 841 437, 437, 439, 439, 441, 441, 443, 444, 444, 448, 842 458, 466, 476, 485, 493, 503, 515, 518, 521, 524, 843 525, 528, 529, 530, 531, 532, 542, 552, 555, 570, 844 585, 586, 589, 590, 591, 592, 593, 594, 595, 596, 845 597, 598, 599, 602, 603, 606, 607, 608, 609, 610, 846 611, 612, 613, 614, 615, 616, 617, 621, 624, 625, 847 628, 629, 630, 638, 641, 642, 645, 649, 652, 653, 848 656, 658, 660, 662, 664, 666, 668, 670, 672, 674, 849 676, 678, 680, 682, 684, 686, 688, 690, 692, 694, 850 696, 698, 702, 706, 707, 710, 719, 719, 730, 741, 851 744, 745, 748, 749, 752, 755, 756, 759, 764, 767, 852 768, 771, 774, 777, 778, 781, 789, 792, 793, 796, 853 800, 803, 804, 807, 811, 814, 815, 818, 822, 825, 854 825, 830, 831, 831, 835, 836, 844, 847, 848, 851, 855 856, 864, 867, 868, 871, 874, 874, 880, 883, 884, 856 887, 890, 893, 896, 899, 904, 907, 910, 913, 918, 857 921, 924, 927, 932, 935, 936, 939, 944, 947, 948, 858 951, 951, 953, 953, 955, 955, 959, 962, 963, 966, 859 974, 977, 978, 981, 989, 992, 993, 996, 999, 1010, 860 1011, 1014, 1025, 1028, 1029, 1032, 1038, 1041, 1042, 1045, 861 1055, 1067, 1068, 1110, 1111, 1112, 1115, 1127, 1133 862}; 863#endif 864 865/** Accessing symbol of state STATE. */ 866#define YY_ACCESSING_SYMBOL(State) YY_CAST (yysymbol_kind_t, yystos[State]) 867 868#if YYDEBUG || 0 869/* The user-facing name of the symbol whose (internal) number is 870 YYSYMBOL. No bounds checking. */ 871static const char *yysymbol_name (yysymbol_kind_t yysymbol) YY_ATTRIBUTE_UNUSED; 872 873/* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM. 874 First, the terminals, then, starting at YYNTOKENS, nonterminals. */ 875static const char *const yytname[] = 876{ 877 "\"end of file\"", "error", "\"invalid token\"", "LB", "RB", "LP", "RP", 878 "MENUS", "MENU", "BUTTON", "DEFAULT_FUNCTION", "PLUS", "MINUS", "ALL", 879 "OR", "CURSORS", "PIXMAPS", "ICONS", "COLOR", "SAVECOLOR", "MONOCHROME", 880 "FUNCTION", "ICONMGR_SHOW", "ICONMGR", "ALTER", "WINDOW_FUNCTION", 881 "ZOOM", "ICONMGRS", "ICONMGR_GEOMETRY", "ICONMGR_NOSHOW", "MAKE_TITLE", 882 "ICONIFY_BY_UNMAPPING", "DONT_ICONIFY_BY_UNMAPPING", "AUTO_POPUP", 883 "NO_BORDER", "NO_ICON_TITLE", "NO_TITLE", "AUTO_RAISE", "NO_HILITE", 884 "ICON_REGION", "WINDOW_REGION", "META", "SHIFT", "LOCK", "CONTROL", 885 "WINDOW", "TITLE", "ICON", "ROOT", "FRAME", "COLON", "EQUALS", 886 "SQUEEZE_TITLE", "DONT_SQUEEZE_TITLE", "WARP_ON_DEICONIFY", 887 "START_ICONIFIED", "NO_TITLE_HILITE", "TITLE_HILITE", "MOVE", "RESIZE", 888 "WAITC", "SELECT", "KILL", "LEFT_TITLEBUTTON", "RIGHT_TITLEBUTTON", 889 "NUMBER", "KEYWORD", "NKEYWORD", "CKEYWORD", "CLKEYWORD", "FKEYWORD", 890 "FSKEYWORD", "FNKEYWORD", "PRIORITY_SWITCHING", "PRIORITY_NOT_SWITCHING", 891 "SKEYWORD", "SSKEYWORD", "WINDOW_RING", "WINDOW_RING_EXCLUDE", 892 "WARP_CURSOR", "ERRORTOKEN", "GRAVITY", "SIJENUM", "NO_STACKMODE", 893 "ALWAYS_ON_TOP", "WORKSPACE", "WORKSPACES", "WORKSPCMGR_GEOMETRY", 894 "OCCUPYALL", "OCCUPYLIST", "MAPWINDOWCURRENTWORKSPACE", 895 "MAPWINDOWDEFAULTWORKSPACE", "ON_TOP_PRIORITY", "UNMAPBYMOVINGFARAWAY", 896 "OPAQUEMOVE", "NOOPAQUEMOVE", "OPAQUERESIZE", "NOOPAQUERESIZE", 897 "DONTSETINACTIVE", "CHANGE_WORKSPACE_FUNCTION", "DEICONIFY_FUNCTION", 898 "ICONIFY_FUNCTION", "AUTOSQUEEZE", "STARTSQUEEZED", "DONT_SAVE", 899 "AUTO_LOWER", "ICONMENU_DONTSHOW", "WINDOW_BOX", "IGNOREMODIFIER", 900 "WINDOW_GEOMETRIES", "ALWAYSSQUEEZETOGRAVITY", "VIRTUAL_SCREENS", 901 "IGNORE_TRANSIENT", "EWMH_IGNORE", "MWM_IGNORE", "MONITOR_LAYOUT", 902 "RPLAY_SOUNDS", "FORCE_FOCUS", "STRING", "$accept", "twmrc", "$@1", 903 "stmts", "stmt", "$@2", "$@3", "$@4", "$@5", "$@6", "$@7", "$@8", "$@9", 904 "$@10", "$@11", "$@12", "$@13", "$@14", "$@15", "$@16", "$@17", "$@18", 905 "$@19", "$@20", "$@21", "$@22", "$@23", "$@24", "$@25", "$@26", "$@27", 906 "$@28", "$@29", "$@30", "$@31", "$@32", "$@33", "$@34", "$@35", "$@36", 907 "$@37", "$@38", "$@39", "$@40", "$@41", "$@42", "$@43", "$@44", "$@45", 908 "$@46", "$@47", "$@48", "$@49", "$@50", "$@51", "$@52", "$@53", "$@54", 909 "$@55", "$@56", "$@57", "$@58", "$@59", "$@60", "$@61", "$@62", "$@63", 910 "$@64", "$@65", "$@66", "$@67", "$@68", "$@69", "noarg", "sarg", "narg", 911 "keyaction", "full", "fullkey", "keys", "key", "vgrav", "hgrav", 912 "contexts", "context", "contextkeys", "contextkey", "binding_list", 913 "binding_entries", "binding_entry", "pixmap_list", "pixmap_entries", 914 "pixmap_entry", "cursor_list", "cursor_entries", "cursor_entry", 915 "color_list", "color_entries", "color_entry", "$@70", "save_color_list", 916 "s_color_entries", "s_color_entry", "win_color_list", 917 "win_color_entries", "win_color_entry", "wingeom_list", 918 "wingeom_entries", "wingeom_entry", "vscreen_geom_list", 919 "vscreen_geom_entries", "vscreen_geom_entry", "ewmh_ignore_list", 920 "ewmh_ignore_entries", "ewmh_ignore_entry", "mwm_ignore_list", 921 "mwm_ignore_entries", "mwm_ignore_entry", "layout_geom_list", 922 "layout_geom_entries", "layout_geom_entry", "squeeze", "$@71", "$@72", 923 "win_sqz_entries", "iconm_list", "iconm_entries", "iconm_entry", 924 "workspc_list", "workspc_entries", "workspc_entry", "$@73", 925 "workapp_list", "workapp_entries", "workapp_entry", "curwork", "defwork", 926 "win_list", "win_entries", "win_entry", "occupy_list", "occupy_entries", 927 "occupy_entry", "$@74", "$@75", "$@76", "occupy_workspc_list", 928 "occupy_workspc_entries", "occupy_workspc_entry", "occupy_window_list", 929 "occupy_window_entries", "occupy_window_entry", "icon_list", 930 "icon_entries", "icon_entry", "rplay_sounds_list", 931 "rplay_sounds_entries", "rplay_sounds_entry", "function", 932 "function_entries", "function_entry", "menu", "menu_entries", 933 "menu_entry", "action", "signed_number", "button", "string", "number", YY_NULLPTR 934}; 935 936static const char * 937yysymbol_name (yysymbol_kind_t yysymbol) 938{ 939 return yytname[yysymbol]; 940} 941#endif 942 943#define YYPACT_NINF (-244) 944 945#define yypact_value_is_default(Yyn) \ 946 ((Yyn) == YYPACT_NINF) 947 948#define YYTABLE_NINF (-326) 949 950#define yytable_value_is_error(Yyn) \ 951 0 952 953/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing 954 STATE-NUM. */ 955static const yytype_int16 yypact[] = 956{ 957 -244, 62, -244, -244, 611, -244, -53, 21, -10, 67, 958 68, -244, -244, -244, -244, -53, -244, -10, 21, -244, 959 -53, 69, -244, 73, -244, 74, -244, 79, 81, 85, 960 87, -53, -53, 89, 90, -244, -244, 94, -53, -53, 961 -244, 21, 82, 91, -53, -53, 104, -244, 108, 111, 962 -244, -244, -53, -244, -244, -244, -244, 41, -244, 112, 963 114, 115, 118, -244, -10, -10, -10, -244, -244, -244, 964 125, -244, -53, -244, -244, 128, -244, -244, -244, -244, 965 -244, -244, 136, -244, -244, -244, -244, -244, -244, 4, 966 95, 149, -244, -244, -244, -53, -244, -244, -244, -244, 967 -244, 163, 165, 166, 165, -244, 167, -244, -244, 171, 968 21, 167, 167, 167, 167, 167, 167, 167, 167, 167, 969 167, 78, 78, 172, 167, 167, 167, 167, 121, 131, 970 -244, -244, 167, -244, 167, -244, -53, 167, 167, 167, 971 167, 167, 173, 21, 167, 187, 188, 189, 21, 21, 972 45, 205, -244, 167, 167, 167, 167, 167, 167, -244, 973 -244, -244, 167, 167, 167, 167, 167, -53, 218, 219, 974 167, 220, 167, 222, 223, 224, 225, 167, -244, -244, 975 -244, -244, -244, -244, -53, 226, -244, 156, 30, -244, 976 -244, -244, -244, -244, -244, -244, 228, -244, -244, -244, 977 -244, -244, -244, -244, -244, -244, -244, -244, -244, -244, 978 -244, -244, -244, 151, 151, -244, -244, -244, -244, -244, 979 -10, 230, -10, 230, 167, -244, 167, -244, -244, -244, 980 -244, -244, -244, -244, -244, -244, -244, -244, -244, -244, 981 -53, -244, -53, -244, -244, -244, 232, 167, -244, -244, 982 -244, -244, -244, -244, -244, -244, -244, -244, -244, -244, 983 -244, -244, -244, -244, -244, -244, -244, -244, -244, -244, 984 -244, -244, -244, -244, -244, -244, 157, 169, 159, -244, 985 -244, -244, -53, -53, -53, -53, -53, -53, -53, -53, 986 -53, -53, -53, -244, -244, -53, -244, 7, 12, -2, 987 -244, -244, 8, 9, -244, 21, -244, 11, -244, -244, 988 -244, -244, -244, -244, 167, 14, 6, 15, 16, 167, 989 -244, 167, 153, 17, 18, 19, 20, 23, 25, -244, 990 21, 21, -244, -244, -244, -244, -244, -244, -53, 26, 991 -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, 992 -53, -244, -244, -244, -53, -244, -53, -53, -244, -244, 993 -244, -244, -244, 24, -244, -244, -244, -244, -244, -53, 994 21, 167, -244, 155, 50, -244, -244, -244, 235, -244, 995 -53, -53, -244, -244, -244, 27, -244, 31, -244, -244, 996 236, -244, -244, -53, -244, -244, -244, -244, -244, -244, 997 -244, -244, -244, -244, -244, -244, -244, -244, -53, -244, 998 -244, 139, 55, 233, -244, -244, 42, -244, -244, -244, 999 -244, -244, -244, -244, -244, -244, -244, -244, -244, -244, 1000 238, -244, -244, -244, -20, 1, -244, 45, -244, -244, 1001 13, 239, -244, -244, 240, -244, 32, -244, 33, -244, 1002 -244, -244, -244, -244, -244, -244, -244, -244, -244, -244, 1003 -244, -244, -10, -244, -244, -244, -244, -244, -244, -244, 1004 -244, -244, -244, -244, -244, -10, -244, -244, -244, -244, 1005 -53, -244, 241, 21, -244, 167, 2, 21, -10, -10, 1006 -244, -244, -244, 240, 242, -244, -244, -244, 247, -244, 1007 248, -244, -244, 226, 196, -244, -244, -244, -244, 167, 1008 5, -244, -244, 206, -244, 37, -244, -244, -244, 38, 1009 -244, -244, -244, -53, 39, -244, 167, 250, -10, -244, 1010 -244, -53, 40, -244, -244, -244, 249, -244, -244, -53, 1011 -244, 167, -244, -53, -244, -244, -244, -10, -244, -244, 1012 -53, -244, -53, -244 1013}; 1014 1015/* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM. 1016 Performed when YYTABLE does not specify something else to do. Zero 1017 means the default is an error. */ 1018static const yytype_int16 yydefact[] = 1019{ 1020 2, 0, 4, 1, 0, 6, 0, 0, 0, 0, 1021 0, 153, 155, 157, 159, 0, 93, 0, 36, 91, 1022 0, 90, 135, 41, 64, 122, 120, 129, 132, 141, 1023 100, 0, 0, 308, 311, 142, 137, 97, 0, 0, 1024 189, 0, 109, 111, 191, 194, 171, 172, 168, 119, 1025 107, 66, 0, 71, 75, 31, 33, 0, 77, 44, 1026 47, 50, 53, 86, 0, 0, 0, 79, 81, 125, 1027 146, 73, 0, 68, 174, 83, 176, 133, 178, 180, 1028 182, 184, 186, 387, 5, 7, 8, 9, 10, 0, 1029 0, 149, 388, 386, 381, 0, 161, 248, 38, 244, 1030 37, 0, 0, 0, 0, 151, 0, 162, 35, 0, 1031 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1032 0, 0, 0, 0, 0, 0, 0, 0, 56, 58, 1033 195, 113, 0, 115, 0, 190, 193, 0, 0, 0, 1034 0, 0, 0, 30, 0, 0, 0, 0, 0, 0, 1035 0, 101, 383, 0, 0, 0, 0, 0, 0, 163, 1036 164, 165, 0, 0, 0, 0, 0, 0, 0, 0, 1037 0, 0, 0, 0, 0, 0, 0, 0, 199, 63, 1038 61, 60, 199, 62, 0, 0, 382, 0, 0, 365, 1039 154, 273, 156, 280, 158, 160, 0, 344, 94, 317, 1040 92, 27, 89, 136, 40, 65, 124, 121, 128, 131, 1041 140, 99, 208, 0, 0, 314, 313, 143, 138, 96, 1042 0, 0, 0, 0, 0, 110, 0, 112, 192, 170, 1043 173, 167, 118, 108, 322, 67, 29, 72, 348, 76, 1044 0, 32, 0, 34, 384, 385, 102, 0, 78, 43, 1045 46, 49, 52, 87, 80, 82, 126, 145, 74, 25, 1046 199, 289, 175, 85, 293, 177, 134, 297, 179, 301, 1047 181, 305, 183, 369, 185, 188, 0, 0, 0, 377, 1048 150, 247, 0, 0, 0, 0, 0, 0, 0, 0, 1049 0, 0, 0, 249, 243, 0, 245, 0, 0, 0, 1050 373, 152, 0, 0, 209, 0, 23, 0, 54, 238, 1051 57, 55, 59, 114, 0, 0, 0, 0, 0, 0, 1052 104, 0, 69, 0, 0, 0, 0, 0, 0, 207, 1053 0, 201, 202, 203, 204, 210, 200, 223, 0, 0, 1054 267, 259, 257, 253, 255, 251, 261, 263, 265, 269, 1055 271, 246, 364, 366, 0, 272, 0, 0, 274, 279, 1056 283, 281, 282, 0, 343, 345, 346, 316, 318, 0, 1057 0, 0, 310, 0, 0, 116, 321, 323, 324, 347, 1058 0, 0, 349, 350, 335, 0, 339, 0, 106, 26, 1059 0, 288, 290, 0, 292, 294, 295, 296, 298, 299, 1060 300, 302, 303, 304, 306, 307, 368, 370, 0, 205, 1061 206, 0, 0, 0, 376, 378, 0, 266, 258, 256, 1062 252, 254, 250, 260, 262, 264, 268, 270, 367, 278, 1063 275, 372, 374, 375, 0, 11, 24, 0, 237, 239, 1064 0, 0, 352, 354, 0, 336, 0, 340, 0, 70, 1065 291, 371, 221, 222, 218, 220, 219, 212, 213, 214, 1066 215, 216, 0, 217, 211, 234, 235, 231, 233, 232, 1067 225, 226, 227, 228, 229, 0, 230, 224, 236, 147, 1068 0, 379, 0, 0, 319, 0, 12, 0, 0, 199, 1069 240, 328, 326, 0, 0, 357, 351, 337, 0, 341, 1070 0, 197, 198, 0, 0, 285, 277, 320, 16, 0, 1071 13, 315, 242, 0, 241, 0, 353, 361, 355, 0, 1072 338, 342, 148, 0, 0, 18, 0, 14, 0, 327, 1073 329, 330, 0, 356, 358, 359, 0, 284, 286, 0, 1074 20, 0, 196, 331, 360, 362, 363, 0, 287, 22, 1075 332, 380, 333, 334 1076}; 1077 1078/* YYPGOTO[NTERM-NUM]. */ 1079static const yytype_int16 yypgoto[] = 1080{ 1081 -244, -244, -244, -244, -244, -244, -244, -244, -244, -244, 1082 -244, -244, -244, -244, -244, -244, -244, -244, -244, -244, 1083 -244, -244, -244, -244, -244, -244, -244, -244, -244, -244, 1084 -244, -244, -244, -244, -244, -244, -244, -244, -244, -244, 1085 -244, -244, -244, -244, -244, -244, -244, -244, -244, -244, 1086 -244, -244, -244, -244, -244, -244, -244, -244, -244, -244, 1087 -244, -244, -244, -244, -244, -244, -244, -244, -244, -244, 1088 -244, -244, -244, -244, -244, -244, -244, -244, -244, -175, 1089 -244, 132, 43, -244, -244, -244, -244, 35, -244, -244, 1090 -244, -244, -244, -244, -244, -244, 158, -244, -244, -244, 1091 -244, -244, -244, -244, -244, -244, -244, -244, -244, -244, 1092 -244, -244, -244, -244, -244, -244, -244, -244, -244, -244, 1093 -244, -244, -244, -244, -244, -244, -244, -244, -244, -244, 1094 -244, -244, -244, -244, -244, -244, -244, 436, -244, -244, 1095 -244, -244, -244, -244, -244, -244, -234, -244, -244, -244, 1096 -244, -244, -244, -244, -244, -244, -244, -244, -244, -244, 1097 -244, -243, -244, -244, -16, -147, -113, -6, -1 1098}; 1099 1100/* YYDEFGOTO[NTERM-NUM]. */ 1101static const yytype_int16 yydefgoto[] = 1102{ 1103 0, 1, 2, 4, 84, 485, 509, 526, 541, 371, 1104 321, 146, 147, 113, 154, 155, 156, 157, 221, 223, 1105 114, 142, 168, 390, 144, 166, 145, 153, 162, 163, 1106 170, 158, 111, 109, 106, 127, 120, 247, 319, 141, 1107 132, 134, 224, 226, 140, 116, 115, 164, 117, 118, 1108 172, 112, 126, 119, 125, 165, 503, 185, 196, 101, 1109 102, 103, 104, 139, 137, 138, 169, 171, 173, 174, 1110 175, 176, 177, 85, 86, 87, 490, 179, 183, 276, 1111 336, 213, 305, 411, 464, 412, 477, 310, 374, 439, 1112 100, 188, 296, 98, 187, 293, 192, 298, 358, 482, 1113 194, 299, 361, 506, 524, 538, 262, 323, 392, 265, 1114 324, 395, 268, 325, 398, 270, 326, 401, 272, 327, 1115 404, 88, 123, 124, 307, 200, 303, 368, 235, 315, 1116 377, 441, 492, 515, 530, 241, 243, 198, 302, 365, 1117 239, 316, 382, 444, 493, 494, 496, 519, 534, 518, 1118 532, 545, 190, 297, 353, 274, 328, 407, 301, 363, 1119 432, 280, 339, 415, 96, 151, 89, 90, 152 1120}; 1121 1122/* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If 1123 positive, shift that token. If negative, reduce the rule whose 1124 number is the opposite. If YYTABLE_NINF, syntax error. */ 1125static const yytype_int16 yytable[] = 1126{ 1127 91, 107, 359, 246, -15, -17, 93, 277, -19, 105, 1128 379, 352, 364, 367, 110, 372, 355, 108, 376, 384, 1129 386, 391, 394, 397, 400, 121, 122, 403, 431, 406, 1130 414, 445, 128, 129, 294, 447, 497, 499, 135, 136, 1131 130, 529, 533, 537, 544, 92, 143, 480, 159, 160, 1132 161, 380, 148, 149, 438, 178, 148, 149, 150, 7, 1133 94, 95, 3, 488, 489, 83, 167, 360, 465, 466, 1134 97, 99, -88, 180, 94, 95, -39, -123, 467, 468, 1135 356, 357, -127, 181, -130, 322, 92, 295, -139, 186, 1136 -98, 381, -309, -312, 94, 95, 469, -95, 83, 131, 1137 470, 471, 472, 473, 474, 475, 92, -169, 133, 201, 1138 92, -166, 94, 95, -117, -42, 83, -45, -48, 83, 1139 83, -51, 83, 83, 83, 83, 83, 83, -144, 83, 1140 228, -84, 83, 83, 83, 83, 83, 83, 83, -187, 1141 476, 83, 236, 83, 83, 83, 182, 244, 245, 83, 1142 83, 83, 452, 453, 184, 83, 83, 83, 83, 212, 1143 281, 259, 454, 455, 282, 283, 189, 329, 191, 193, 1144 197, 329, 220, 83, 199, 215, 234, 330, 278, 284, 1145 456, 330, 222, 329, 457, 458, 459, 460, 461, 462, 1146 238, 240, 242, 330, 331, 332, 333, 334, 331, 332, 1147 333, 334, 285, 286, 308, 287, 311, 335, -103, 338, 1148 331, 332, 333, 334, 288, 289, 290, 291, 292, 337, 1149 329, 260, 261, 264, 463, 267, 269, 271, 273, 279, 1150 330, 300, 304, 309, 317, -105, 318, 437, -325, 479, 1151 449, -276, 491, 495, 505, 517, 523, 331, 332, 333, 1152 334, 520, 521, -21, 214, 547, 528, 306, 312, 516, 1153 522, 440, 195, 0, 0, 0, 0, 0, 0, 0, 1154 0, 0, 0, 0, 0, 0, 340, 341, 342, 343, 1155 344, 345, 346, 347, 348, 349, 350, 0, 0, 351, 1156 487, 354, 0, 362, 0, 0, 366, 369, 0, 0, 1157 0, 373, 0, 0, 370, 0, 0, 0, 0, 378, 1158 383, 385, 387, 0, 513, 0, 0, 393, 396, 399, 1159 402, 405, 408, 0, 0, 0, 0, 0, 0, 409, 1160 410, 0, 413, 416, 417, 418, 419, 420, 421, 422, 1161 423, 424, 425, 426, 427, 0, 0, 433, 428, 0, 1162 429, 430, 0, 0, 0, 0, 0, 0, 0, 0, 1163 0, 0, 0, 434, 0, 0, 0, 0, 0, 435, 1164 0, 0, 0, 0, 442, 443, 0, 0, 0, 446, 1165 0, 448, 0, 0, 0, 0, 0, 450, 0, 0, 1166 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1167 481, 0, 451, 0, 0, 0, 478, 0, 0, 0, 1168 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1169 0, 0, 0, 0, 0, 0, 0, 0, 483, 486, 1170 0, 0, 0, 484, 0, 0, 0, 0, 0, 0, 1171 498, 0, 500, 0, 0, 0, 501, 0, 0, 0, 1172 0, 0, 0, 0, 0, 0, 0, 0, 0, 502, 1173 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1174 0, 0, 512, 514, 504, 0, 0, 0, 0, 0, 1175 510, 0, 507, 0, 0, 0, 511, 0, 0, 0, 1176 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1177 0, 0, 0, 0, 527, 0, 0, 0, 0, 531, 1178 0, 0, 542, 535, 0, 0, 0, 536, 539, 0, 1179 0, 0, 0, 0, 0, 543, 546, 0, 0, 0, 1180 0, 551, 0, 548, 0, 0, 0, 550, 0, 0, 1181 0, 0, 0, 0, 552, 0, 553, 202, 203, 204, 1182 205, 206, 207, 208, 209, 210, 211, 0, 0, 0, 1183 216, 217, 218, 219, 0, 0, 0, 0, 225, 0, 1184 227, 0, 0, 229, 230, 231, 232, 233, 0, 0, 1185 237, 0, 0, 0, 0, 0, 0, 0, 0, 248, 1186 249, 250, 251, 252, 253, 0, 0, 0, 254, 255, 1187 256, 257, 258, 0, 0, 0, 263, 0, 266, 0, 1188 0, -3, 5, 275, 0, 0, 0, 0, 0, 6, 1189 7, 8, 0, 0, 0, 0, 9, 10, 11, 12, 1190 13, 14, 15, 16, 0, 0, 17, 18, 19, 20, 1191 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 1192 31, 32, 0, 0, 0, 0, 0, 0, 0, 0, 1193 313, 0, 314, 33, 34, 35, 36, 37, 0, 0, 1194 0, 0, 0, 0, 38, 39, 0, 40, 41, 0, 1195 0, 0, 0, 320, 42, 43, 44, 45, 46, 47, 1196 48, 0, 0, 0, 49, 50, 0, 51, 52, 53, 1197 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 1198 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 1199 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 1200 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1201 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1202 375, 0, 0, 0, 0, 388, 0, 389, 0, 0, 1203 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1204 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1205 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1206 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1207 0, 0, 0, 0, 0, 0, 0, 436, 0, 0, 1208 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1209 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1210 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1211 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1212 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1213 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1214 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1215 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1216 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1217 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1218 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1219 0, 508, 0, 0, 0, 0, 0, 0, 0, 0, 1220 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1221 0, 0, 0, 0, 0, 525, 0, 0, 0, 0, 1222 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1223 0, 0, 540, 0, 0, 0, 0, 0, 0, 0, 1224 0, 0, 0, 0, 0, 0, 0, 549 1225}; 1226 1227static const yytype_int16 yycheck[] = 1228{ 1229 6, 17, 4, 150, 3, 3, 7, 182, 3, 15, 1230 4, 4, 4, 4, 20, 4, 4, 18, 4, 4, 1231 4, 4, 4, 4, 4, 31, 32, 4, 4, 4, 1232 4, 4, 38, 39, 4, 4, 4, 4, 44, 45, 1233 41, 4, 4, 4, 4, 65, 52, 5, 64, 65, 1234 66, 45, 11, 12, 4, 51, 11, 12, 17, 9, 1235 70, 71, 0, 50, 51, 118, 72, 69, 13, 14, 1236 3, 3, 3, 89, 70, 71, 3, 3, 23, 24, 1237 68, 69, 3, 89, 3, 260, 65, 57, 3, 95, 1238 3, 85, 3, 3, 70, 71, 41, 3, 118, 17, 1239 45, 46, 47, 48, 49, 50, 65, 3, 17, 110, 1240 65, 3, 70, 71, 3, 3, 118, 3, 3, 118, 1241 118, 3, 118, 118, 118, 118, 118, 118, 3, 118, 1242 136, 3, 118, 118, 118, 118, 118, 118, 118, 3, 1243 85, 118, 143, 118, 118, 118, 51, 148, 149, 118, 1244 118, 118, 13, 14, 5, 118, 118, 118, 118, 81, 1245 4, 167, 23, 24, 8, 9, 3, 14, 3, 3, 1246 3, 14, 51, 118, 3, 3, 3, 24, 184, 23, 1247 41, 24, 51, 14, 45, 46, 47, 48, 49, 50, 1248 3, 3, 3, 24, 41, 42, 43, 44, 41, 42, 1249 43, 44, 46, 47, 220, 49, 222, 50, 3, 50, 1250 41, 42, 43, 44, 58, 59, 60, 61, 62, 50, 1251 14, 3, 3, 3, 85, 3, 3, 3, 3, 3, 1252 24, 3, 81, 3, 240, 3, 242, 82, 3, 6, 1253 4, 3, 3, 3, 3, 3, 50, 41, 42, 43, 1254 44, 4, 4, 3, 122, 6, 50, 214, 223, 493, 1255 503, 374, 104, -1, -1, -1, -1, -1, -1, -1, 1256 -1, -1, -1, -1, -1, -1, 282, 283, 284, 285, 1257 286, 287, 288, 289, 290, 291, 292, -1, -1, 295, 1258 437, 297, -1, 299, -1, -1, 302, 303, -1, -1, 1259 -1, 307, -1, -1, 305, -1, -1, -1, -1, 315, 1260 316, 317, 318, -1, 489, -1, -1, 323, 324, 325, 1261 326, 327, 328, -1, -1, -1, -1, -1, -1, 330, 1262 331, -1, 338, 339, 340, 341, 342, 343, 344, 345, 1263 346, 347, 348, 349, 350, -1, -1, 363, 354, -1, 1264 356, 357, -1, -1, -1, -1, -1, -1, -1, -1, 1265 -1, -1, -1, 369, -1, -1, -1, -1, -1, 370, 1266 -1, -1, -1, -1, 380, 381, -1, -1, -1, 385, 1267 -1, 387, -1, -1, -1, -1, -1, 393, -1, -1, 1268 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1269 416, -1, 408, -1, -1, -1, 412, -1, -1, -1, 1270 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1271 -1, -1, -1, -1, -1, -1, -1, -1, 434, 435, 1272 -1, -1, -1, 434, -1, -1, -1, -1, -1, -1, 1273 446, -1, 448, -1, -1, -1, 462, -1, -1, -1, 1274 -1, -1, -1, -1, -1, -1, -1, -1, -1, 475, 1275 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1276 -1, -1, 488, 489, 480, -1, -1, -1, -1, -1, 1277 486, -1, 483, -1, -1, -1, 487, -1, -1, -1, 1278 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1279 -1, -1, -1, -1, 510, -1, -1, -1, -1, 515, 1280 -1, -1, 528, 519, -1, -1, -1, 523, 524, -1, 1281 -1, -1, -1, -1, -1, 531, 532, -1, -1, -1, 1282 -1, 547, -1, 539, -1, -1, -1, 543, -1, -1, 1283 -1, -1, -1, -1, 550, -1, 552, 111, 112, 113, 1284 114, 115, 116, 117, 118, 119, 120, -1, -1, -1, 1285 124, 125, 126, 127, -1, -1, -1, -1, 132, -1, 1286 134, -1, -1, 137, 138, 139, 140, 141, -1, -1, 1287 144, -1, -1, -1, -1, -1, -1, -1, -1, 153, 1288 154, 155, 156, 157, 158, -1, -1, -1, 162, 163, 1289 164, 165, 166, -1, -1, -1, 170, -1, 172, -1, 1290 -1, 0, 1, 177, -1, -1, -1, -1, -1, 8, 1291 9, 10, -1, -1, -1, -1, 15, 16, 17, 18, 1292 19, 20, 21, 22, -1, -1, 25, 26, 27, 28, 1293 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 1294 39, 40, -1, -1, -1, -1, -1, -1, -1, -1, 1295 224, -1, 226, 52, 53, 54, 55, 56, -1, -1, 1296 -1, -1, -1, -1, 63, 64, -1, 66, 67, -1, 1297 -1, -1, -1, 247, 73, 74, 75, 76, 77, 78, 1298 79, -1, -1, -1, 83, 84, -1, 86, 87, 88, 1299 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 1300 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 1301 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 1302 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1303 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1304 314, -1, -1, -1, -1, 319, -1, 321, -1, -1, 1305 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1306 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1307 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1308 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1309 -1, -1, -1, -1, -1, -1, -1, 371, -1, -1, 1310 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1311 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1312 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1313 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1314 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1315 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1316 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1317 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1318 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1319 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1320 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1321 -1, 485, -1, -1, -1, -1, -1, -1, -1, -1, 1322 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1323 -1, -1, -1, -1, -1, 509, -1, -1, -1, -1, 1324 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1325 -1, -1, 526, -1, -1, -1, -1, -1, -1, -1, 1326 -1, -1, -1, -1, -1, -1, -1, 541 1327}; 1328 1329/* YYSTOS[STATE-NUM] -- The symbol kind of the accessing symbol of 1330 state STATE-NUM. */ 1331static const yytype_int16 yystos[] = 1332{ 1333 0, 120, 121, 0, 122, 1, 8, 9, 10, 15, 1334 16, 17, 18, 19, 20, 21, 22, 25, 26, 27, 1335 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 1336 38, 39, 40, 52, 53, 54, 55, 56, 63, 64, 1337 66, 67, 73, 74, 75, 76, 77, 78, 79, 83, 1338 84, 86, 87, 88, 89, 90, 91, 92, 93, 94, 1339 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 1340 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 1341 115, 116, 117, 118, 123, 192, 193, 194, 240, 285, 1342 286, 286, 65, 287, 70, 71, 283, 3, 212, 3, 1343 209, 178, 179, 180, 181, 286, 153, 283, 287, 152, 1344 286, 151, 170, 132, 139, 165, 164, 167, 168, 172, 1345 155, 286, 286, 241, 242, 173, 171, 154, 286, 286, 1346 287, 17, 159, 17, 160, 286, 286, 183, 184, 182, 1347 163, 158, 140, 286, 143, 145, 130, 131, 11, 12, 1348 17, 284, 287, 146, 133, 134, 135, 136, 150, 283, 1349 283, 283, 147, 148, 166, 174, 144, 286, 141, 185, 1350 149, 186, 169, 187, 188, 189, 190, 191, 51, 196, 1351 283, 286, 51, 197, 5, 176, 286, 213, 210, 3, 1352 271, 3, 215, 3, 219, 215, 177, 3, 256, 3, 1353 244, 287, 256, 256, 256, 256, 256, 256, 256, 256, 1354 256, 256, 81, 200, 200, 3, 256, 256, 256, 256, 1355 51, 137, 51, 138, 161, 256, 162, 256, 286, 256, 1356 256, 256, 256, 256, 3, 247, 287, 256, 3, 259, 1357 3, 254, 3, 255, 287, 287, 284, 156, 256, 256, 1358 256, 256, 256, 256, 256, 256, 256, 256, 256, 286, 1359 3, 3, 225, 256, 3, 228, 256, 3, 231, 3, 1360 234, 3, 237, 3, 274, 256, 198, 198, 286, 3, 1361 280, 4, 8, 9, 23, 46, 47, 49, 58, 59, 1362 60, 61, 62, 214, 4, 57, 211, 272, 216, 220, 1363 3, 277, 257, 245, 81, 201, 201, 243, 283, 3, 1364 206, 283, 206, 256, 256, 248, 260, 286, 286, 157, 1365 256, 129, 198, 226, 229, 232, 235, 238, 275, 14, 1366 24, 41, 42, 43, 44, 50, 199, 50, 50, 281, 1367 286, 286, 286, 286, 286, 286, 286, 286, 286, 286, 1368 286, 286, 4, 273, 286, 4, 68, 69, 217, 4, 1369 69, 221, 286, 278, 4, 258, 286, 4, 246, 286, 1370 287, 128, 4, 286, 207, 256, 4, 249, 286, 4, 1371 45, 85, 261, 286, 4, 286, 4, 286, 256, 256, 1372 142, 4, 227, 286, 4, 230, 286, 4, 233, 286, 1373 4, 236, 286, 4, 239, 286, 4, 276, 286, 287, 1374 287, 202, 204, 286, 4, 282, 286, 286, 286, 286, 1375 286, 286, 286, 286, 286, 286, 286, 286, 286, 286, 1376 286, 4, 279, 283, 286, 287, 256, 82, 4, 208, 1377 285, 250, 286, 286, 262, 4, 286, 4, 286, 4, 1378 286, 286, 13, 14, 23, 24, 41, 45, 46, 47, 1379 48, 49, 50, 85, 203, 13, 14, 23, 24, 41, 1380 45, 46, 47, 48, 49, 50, 85, 205, 286, 6, 1381 5, 283, 218, 286, 287, 124, 286, 284, 50, 51, 1382 195, 3, 251, 263, 264, 3, 265, 4, 286, 4, 1383 286, 283, 283, 175, 286, 3, 222, 287, 256, 125, 1384 286, 287, 283, 198, 283, 252, 265, 3, 268, 266, 1385 4, 4, 280, 50, 223, 256, 126, 286, 50, 4, 1386 253, 286, 269, 4, 267, 286, 286, 4, 224, 286, 1387 256, 127, 283, 286, 4, 270, 286, 6, 286, 256, 1388 286, 283, 286, 286 1389}; 1390 1391/* YYR1[RULE-NUM] -- Symbol kind of the left-hand side of rule RULE-NUM. */ 1392static const yytype_int16 yyr1[] = 1393{ 1394 0, 119, 121, 120, 122, 122, 123, 123, 123, 123, 1395 123, 123, 123, 123, 123, 124, 123, 125, 123, 126, 1396 123, 127, 123, 128, 123, 129, 123, 123, 123, 123, 1397 123, 130, 123, 131, 123, 123, 123, 123, 123, 132, 1398 123, 123, 133, 123, 123, 134, 123, 123, 135, 123, 1399 123, 136, 123, 123, 123, 123, 137, 123, 138, 123, 1400 123, 123, 123, 123, 139, 123, 140, 123, 141, 142, 1401 123, 143, 123, 144, 123, 145, 123, 146, 123, 147, 1402 123, 148, 123, 123, 149, 123, 150, 123, 151, 123, 1403 123, 152, 123, 153, 123, 154, 123, 123, 155, 123, 1404 123, 123, 123, 156, 123, 157, 123, 158, 123, 159, 1405 123, 160, 123, 161, 123, 162, 123, 163, 123, 123, 1406 164, 123, 123, 165, 123, 166, 123, 167, 123, 123, 1407 168, 123, 123, 169, 123, 170, 123, 171, 123, 172, 1408 123, 123, 173, 123, 174, 123, 123, 175, 123, 176, 1409 123, 177, 123, 178, 123, 179, 123, 180, 123, 181, 1410 123, 123, 123, 123, 123, 123, 182, 123, 123, 183, 1411 123, 123, 184, 123, 185, 123, 186, 123, 187, 123, 1412 188, 123, 189, 123, 190, 123, 123, 191, 123, 192, 1413 193, 193, 193, 193, 193, 194, 195, 196, 197, 198, 1414 198, 199, 199, 199, 199, 199, 199, 199, 200, 201, 1415 202, 202, 203, 203, 203, 203, 203, 203, 203, 203, 1416 203, 203, 203, 204, 204, 205, 205, 205, 205, 205, 1417 205, 205, 205, 205, 205, 205, 205, 206, 207, 207, 1418 208, 208, 208, 209, 210, 210, 211, 212, 213, 213, 1419 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 1420 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 1421 214, 214, 215, 216, 216, 217, 218, 217, 217, 219, 1422 220, 220, 221, 221, 222, 223, 223, 224, 225, 226, 1423 226, 227, 228, 229, 229, 230, 231, 232, 232, 233, 1424 234, 235, 235, 236, 237, 238, 238, 239, 240, 241, 1425 240, 240, 242, 240, 243, 243, 244, 245, 245, 246, 1426 246, 247, 248, 248, 249, 250, 249, 251, 252, 252, 1427 253, 253, 253, 253, 253, 254, 254, 254, 254, 255, 1428 255, 255, 255, 256, 257, 257, 258, 259, 260, 260, 1429 262, 261, 263, 261, 264, 261, 265, 266, 266, 267, 1430 268, 269, 269, 270, 271, 272, 272, 273, 274, 275, 1431 275, 276, 277, 278, 278, 279, 280, 281, 281, 282, 1432 282, 283, 283, 284, 284, 284, 285, 286, 287 1433}; 1434 1435/* YYR2[RULE-NUM] -- Number of symbols on the right-hand side of rule RULE-NUM. */ 1436static const yytype_int8 yyr2[] = 1437{ 1438 0, 2, 0, 2, 0, 2, 1, 1, 1, 1, 1439 1, 6, 7, 8, 9, 0, 8, 0, 9, 0, 1440 10, 0, 11, 0, 6, 0, 5, 3, 2, 3, 1441 2, 0, 3, 0, 3, 2, 1, 2, 2, 0, 1442 3, 1, 0, 3, 1, 0, 3, 1, 0, 3, 1443 1, 0, 3, 1, 4, 4, 0, 4, 0, 4, 1444 2, 2, 2, 2, 0, 3, 0, 3, 0, 0, 1445 6, 0, 3, 0, 3, 0, 3, 0, 3, 0, 1446 3, 0, 3, 1, 0, 3, 0, 3, 0, 3, 1447 1, 0, 3, 0, 3, 0, 3, 1, 0, 3, 1448 1, 2, 3, 0, 4, 0, 5, 0, 3, 0, 1449 3, 0, 3, 0, 4, 0, 5, 0, 3, 1, 1450 0, 3, 1, 0, 3, 0, 3, 0, 3, 1, 1451 0, 3, 1, 0, 3, 0, 3, 0, 3, 0, 1452 3, 1, 0, 3, 0, 3, 1, 0, 9, 0, 1453 4, 0, 4, 0, 3, 0, 3, 0, 3, 0, 1454 3, 2, 2, 2, 2, 2, 0, 3, 1, 0, 1455 3, 1, 0, 3, 0, 3, 0, 3, 0, 3, 1456 0, 3, 0, 3, 0, 3, 1, 0, 3, 1, 1457 2, 1, 3, 2, 1, 2, 4, 6, 6, 0, 1458 2, 1, 1, 1, 1, 2, 2, 1, 1, 1, 1459 0, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1460 1, 1, 1, 0, 2, 1, 1, 1, 1, 1, 1461 1, 1, 1, 1, 1, 1, 1, 3, 0, 2, 1462 2, 3, 3, 3, 0, 2, 2, 3, 0, 2, 1463 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 1464 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 1465 3, 2, 3, 0, 2, 2, 0, 4, 2, 3, 1466 0, 2, 1, 1, 3, 0, 2, 2, 3, 0, 1467 2, 2, 3, 0, 2, 1, 3, 0, 2, 1, 1468 3, 0, 2, 1, 3, 0, 2, 1, 1, 0, 1469 5, 1, 0, 3, 0, 5, 3, 0, 2, 3, 1470 4, 3, 0, 2, 1, 0, 3, 3, 0, 2, 1471 1, 2, 3, 4, 5, 3, 4, 5, 6, 3, 1472 4, 5, 6, 3, 0, 2, 1, 3, 0, 2, 1473 0, 3, 0, 4, 0, 4, 3, 0, 2, 1, 1474 3, 0, 2, 1, 3, 0, 2, 2, 3, 0, 1475 2, 2, 3, 0, 2, 1, 3, 0, 2, 2, 1476 7, 1, 2, 1, 2, 2, 2, 1, 1 1477}; 1478 1479 1480enum { YYENOMEM = -2 }; 1481 1482#define yyerrok (yyerrstatus = 0) 1483#define yyclearin (yychar = YYEMPTY) 1484 1485#define YYACCEPT goto yyacceptlab 1486#define YYABORT goto yyabortlab 1487#define YYERROR goto yyerrorlab 1488#define YYNOMEM goto yyexhaustedlab 1489 1490 1491#define YYRECOVERING() (!!yyerrstatus) 1492 1493#define YYBACKUP(Token, Value) \ 1494 do \ 1495 if (yychar == YYEMPTY) \ 1496 { \ 1497 yychar = (Token); \ 1498 yylval = (Value); \ 1499 YYPOPSTACK (yylen); \ 1500 yystate = *yyssp; \ 1501 goto yybackup; \ 1502 } \ 1503 else \ 1504 { \ 1505 yyerror (YY_("syntax error: cannot back up")); \ 1506 YYERROR; \ 1507 } \ 1508 while (0) 1509 1510/* Backward compatibility with an undocumented macro. 1511 Use YYerror or YYUNDEF. */ 1512#define YYERRCODE YYUNDEF 1513 1514 1515/* Enable debugging if requested. */ 1516#if YYDEBUG 1517 1518# ifndef YYFPRINTF 1519# include <stdio.h> /* INFRINGES ON USER NAME SPACE */ 1520# define YYFPRINTF fprintf 1521# endif 1522 1523# define YYDPRINTF(Args) \ 1524do { \ 1525 if (yydebug) \ 1526 YYFPRINTF Args; \ 1527} while (0) 1528 1529 1530 1531 1532# define YY_SYMBOL_PRINT(Title, Kind, Value, Location) \ 1533do { \ 1534 if (yydebug) \ 1535 { \ 1536 YYFPRINTF (stderr, "%s ", Title); \ 1537 yy_symbol_print (stderr, \ 1538 Kind, Value); \ 1539 YYFPRINTF (stderr, "\n"); \ 1540 } \ 1541} while (0) 1542 1543 1544/*-----------------------------------. 1545| Print this symbol's value on YYO. | 1546`-----------------------------------*/ 1547 1548static void 1549yy_symbol_value_print (FILE *yyo, 1550 yysymbol_kind_t yykind, YYSTYPE const * const yyvaluep) 1551{ 1552 FILE *yyoutput = yyo; 1553 YY_USE (yyoutput); 1554 if (!yyvaluep) 1555 return; 1556 YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN 1557 YY_USE (yykind); 1558 YY_IGNORE_MAYBE_UNINITIALIZED_END 1559} 1560 1561 1562/*---------------------------. 1563| Print this symbol on YYO. | 1564`---------------------------*/ 1565 1566static void 1567yy_symbol_print (FILE *yyo, 1568 yysymbol_kind_t yykind, YYSTYPE const * const yyvaluep) 1569{ 1570 YYFPRINTF (yyo, "%s %s (", 1571 yykind < YYNTOKENS ? "token" : "nterm", yysymbol_name (yykind)); 1572 1573 yy_symbol_value_print (yyo, yykind, yyvaluep); 1574 YYFPRINTF (yyo, ")"); 1575} 1576 1577/*------------------------------------------------------------------. 1578| yy_stack_print -- Print the state stack from its BOTTOM up to its | 1579| TOP (included). | 1580`------------------------------------------------------------------*/ 1581 1582static void 1583yy_stack_print (yy_state_t *yybottom, yy_state_t *yytop) 1584{ 1585 YYFPRINTF (stderr, "Stack now"); 1586 for (; yybottom <= yytop; yybottom++) 1587 { 1588 int yybot = *yybottom; 1589 YYFPRINTF (stderr, " %d", yybot); 1590 } 1591 YYFPRINTF (stderr, "\n"); 1592} 1593 1594# define YY_STACK_PRINT(Bottom, Top) \ 1595do { \ 1596 if (yydebug) \ 1597 yy_stack_print ((Bottom), (Top)); \ 1598} while (0) 1599 1600 1601/*------------------------------------------------. 1602| Report that the YYRULE is going to be reduced. | 1603`------------------------------------------------*/ 1604 1605static void 1606yy_reduce_print (yy_state_t *yyssp, YYSTYPE *yyvsp, 1607 int yyrule) 1608{ 1609 int yylno = yyrline[yyrule]; 1610 int yynrhs = yyr2[yyrule]; 1611 int yyi; 1612 YYFPRINTF (stderr, "Reducing stack by rule %d (line %d):\n", 1613 yyrule - 1, yylno); 1614 /* The symbols being reduced. */ 1615 for (yyi = 0; yyi < yynrhs; yyi++) 1616 { 1617 YYFPRINTF (stderr, " $%d = ", yyi + 1); 1618 yy_symbol_print (stderr, 1619 YY_ACCESSING_SYMBOL (+yyssp[yyi + 1 - yynrhs]), 1620 &yyvsp[(yyi + 1) - (yynrhs)]); 1621 YYFPRINTF (stderr, "\n"); 1622 } 1623} 1624 1625# define YY_REDUCE_PRINT(Rule) \ 1626do { \ 1627 if (yydebug) \ 1628 yy_reduce_print (yyssp, yyvsp, Rule); \ 1629} while (0) 1630 1631/* Nonzero means print parse trace. It is left uninitialized so that 1632 multiple parsers can coexist. */ 1633int yydebug; 1634#else /* !YYDEBUG */ 1635# define YYDPRINTF(Args) ((void) 0) 1636# define YY_SYMBOL_PRINT(Title, Kind, Value, Location) 1637# define YY_STACK_PRINT(Bottom, Top) 1638# define YY_REDUCE_PRINT(Rule) 1639#endif /* !YYDEBUG */ 1640 1641 1642/* YYINITDEPTH -- initial size of the parser's stacks. */ 1643#ifndef YYINITDEPTH 1644# define YYINITDEPTH 200 1645#endif 1646 1647/* YYMAXDEPTH -- maximum size the stacks can grow to (effective only 1648 if the built-in stack extension method is used). 1649 1650 Do not make this value too large; the results are undefined if 1651 YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH) 1652 evaluated with infinite-precision integer arithmetic. */ 1653 1654#ifndef YYMAXDEPTH 1655# define YYMAXDEPTH 10000 1656#endif 1657 1658 1659 1660 1661 1662 1663/*-----------------------------------------------. 1664| Release the memory associated to this symbol. | 1665`-----------------------------------------------*/ 1666 1667static void 1668yydestruct (const char *yymsg, 1669 yysymbol_kind_t yykind, YYSTYPE *yyvaluep) 1670{ 1671 YY_USE (yyvaluep); 1672 if (!yymsg) 1673 yymsg = "Deleting"; 1674 YY_SYMBOL_PRINT (yymsg, yykind, yyvaluep, yylocationp); 1675 1676 YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN 1677 YY_USE (yykind); 1678 YY_IGNORE_MAYBE_UNINITIALIZED_END 1679} 1680 1681 1682/* Lookahead token kind. */ 1683int yychar; 1684 1685/* The semantic value of the lookahead symbol. */ 1686YYSTYPE yylval; 1687/* Number of syntax errors so far. */ 1688int yynerrs; 1689 1690 1691 1692 1693/*----------. 1694| yyparse. | 1695`----------*/ 1696 1697int 1698yyparse (void) 1699{ 1700 yy_state_fast_t yystate = 0; 1701 /* Number of tokens to shift before error messages enabled. */ 1702 int yyerrstatus = 0; 1703 1704 /* Refer to the stacks through separate pointers, to allow yyoverflow 1705 to reallocate them elsewhere. */ 1706 1707 /* Their size. */ 1708 YYPTRDIFF_T yystacksize = YYINITDEPTH; 1709 1710 /* The state stack: array, bottom, top. */ 1711 yy_state_t yyssa[YYINITDEPTH]; 1712 yy_state_t *yyss = yyssa; 1713 yy_state_t *yyssp = yyss; 1714 1715 /* The semantic value stack: array, bottom, top. */ 1716 YYSTYPE yyvsa[YYINITDEPTH]; 1717 YYSTYPE *yyvs = yyvsa; 1718 YYSTYPE *yyvsp = yyvs; 1719 1720 int yyn; 1721 /* The return value of yyparse. */ 1722 int yyresult; 1723 /* Lookahead symbol kind. */ 1724 yysymbol_kind_t yytoken = YYSYMBOL_YYEMPTY; 1725 /* The variables used to return semantic value and location from the 1726 action routines. */ 1727 YYSTYPE yyval; 1728 1729 1730 1731#define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N)) 1732 1733 /* The number of symbols on the RHS of the reduced rule. 1734 Keep to zero when no symbol should be popped. */ 1735 int yylen = 0; 1736 1737 YYDPRINTF ((stderr, "Starting parse\n")); 1738 1739 yychar = YYEMPTY; /* Cause a token to be read. */ 1740 1741 goto yysetstate; 1742 1743 1744/*------------------------------------------------------------. 1745| yynewstate -- push a new state, which is found in yystate. | 1746`------------------------------------------------------------*/ 1747yynewstate: 1748 /* In all cases, when you get here, the value and location stacks 1749 have just been pushed. So pushing a state here evens the stacks. */ 1750 yyssp++; 1751 1752 1753/*--------------------------------------------------------------------. 1754| yysetstate -- set current state (the top of the stack) to yystate. | 1755`--------------------------------------------------------------------*/ 1756yysetstate: 1757 YYDPRINTF ((stderr, "Entering state %d\n", yystate)); 1758 YY_ASSERT (0 <= yystate && yystate < YYNSTATES); 1759 YY_IGNORE_USELESS_CAST_BEGIN 1760 *yyssp = YY_CAST (yy_state_t, yystate); 1761 YY_IGNORE_USELESS_CAST_END 1762 YY_STACK_PRINT (yyss, yyssp); 1763 1764 if (yyss + yystacksize - 1 <= yyssp) 1765#if !defined yyoverflow && !defined YYSTACK_RELOCATE 1766 YYNOMEM; 1767#else 1768 { 1769 /* Get the current used size of the three stacks, in elements. */ 1770 YYPTRDIFF_T yysize = yyssp - yyss + 1; 1771 1772# if defined yyoverflow 1773 { 1774 /* Give user a chance to reallocate the stack. Use copies of 1775 these so that the &'s don't force the real ones into 1776 memory. */ 1777 yy_state_t *yyss1 = yyss; 1778 YYSTYPE *yyvs1 = yyvs; 1779 1780 /* Each stack pointer address is followed by the size of the 1781 data in use in that stack, in bytes. This used to be a 1782 conditional around just the two extra args, but that might 1783 be undefined if yyoverflow is a macro. */ 1784 yyoverflow (YY_("memory exhausted"), 1785 &yyss1, yysize * YYSIZEOF (*yyssp), 1786 &yyvs1, yysize * YYSIZEOF (*yyvsp), 1787 &yystacksize); 1788 yyss = yyss1; 1789 yyvs = yyvs1; 1790 } 1791# else /* defined YYSTACK_RELOCATE */ 1792 /* Extend the stack our own way. */ 1793 if (YYMAXDEPTH <= yystacksize) 1794 YYNOMEM; 1795 yystacksize *= 2; 1796 if (YYMAXDEPTH < yystacksize) 1797 yystacksize = YYMAXDEPTH; 1798 1799 { 1800 yy_state_t *yyss1 = yyss; 1801 union yyalloc *yyptr = 1802 YY_CAST (union yyalloc *, 1803 YYSTACK_ALLOC (YY_CAST (YYSIZE_T, YYSTACK_BYTES (yystacksize)))); 1804 if (! yyptr) 1805 YYNOMEM; 1806 YYSTACK_RELOCATE (yyss_alloc, yyss); 1807 YYSTACK_RELOCATE (yyvs_alloc, yyvs); 1808# undef YYSTACK_RELOCATE 1809 if (yyss1 != yyssa) 1810 YYSTACK_FREE (yyss1); 1811 } 1812# endif 1813 1814 yyssp = yyss + yysize - 1; 1815 yyvsp = yyvs + yysize - 1; 1816 1817 YY_IGNORE_USELESS_CAST_BEGIN 1818 YYDPRINTF ((stderr, "Stack size increased to %ld\n", 1819 YY_CAST (long, yystacksize))); 1820 YY_IGNORE_USELESS_CAST_END 1821 1822 if (yyss + yystacksize - 1 <= yyssp) 1823 YYABORT; 1824 } 1825#endif /* !defined yyoverflow && !defined YYSTACK_RELOCATE */ 1826 1827 1828 if (yystate == YYFINAL) 1829 YYACCEPT; 1830 1831 goto yybackup; 1832 1833 1834/*-----------. 1835| yybackup. | 1836`-----------*/ 1837yybackup: 1838 /* Do appropriate processing given the current state. Read a 1839 lookahead token if we need one and don't already have one. */ 1840 1841 /* First try to decide what to do without reference to lookahead token. */ 1842 yyn = yypact[yystate]; 1843 if (yypact_value_is_default (yyn)) 1844 goto yydefault; 1845 1846 /* Not known => get a lookahead token if don't already have one. */ 1847 1848 /* YYCHAR is either empty, or end-of-input, or a valid lookahead. */ 1849 if (yychar == YYEMPTY) 1850 { 1851 YYDPRINTF ((stderr, "Reading a token\n")); 1852 yychar = yylex (); 1853 } 1854 1855 if (yychar <= YYEOF) 1856 { 1857 yychar = YYEOF; 1858 yytoken = YYSYMBOL_YYEOF; 1859 YYDPRINTF ((stderr, "Now at end of input.\n")); 1860 } 1861 else if (yychar == YYerror) 1862 { 1863 /* The scanner already issued an error message, process directly 1864 to error recovery. But do not keep the error token as 1865 lookahead, it is too special and may lead us to an endless 1866 loop in error recovery. */ 1867 yychar = YYUNDEF; 1868 yytoken = YYSYMBOL_YYerror; 1869 goto yyerrlab1; 1870 } 1871 else 1872 { 1873 yytoken = YYTRANSLATE (yychar); 1874 YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc); 1875 } 1876 1877 /* If the proper action on seeing token YYTOKEN is to reduce or to 1878 detect an error, take that action. */ 1879 yyn += yytoken; 1880 if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken) 1881 goto yydefault; 1882 yyn = yytable[yyn]; 1883 if (yyn <= 0) 1884 { 1885 if (yytable_value_is_error (yyn)) 1886 goto yyerrlab; 1887 yyn = -yyn; 1888 goto yyreduce; 1889 } 1890 1891 /* Count tokens shifted since error; after three, turn off error 1892 status. */ 1893 if (yyerrstatus) 1894 yyerrstatus--; 1895 1896 /* Shift the lookahead token. */ 1897 YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc); 1898 yystate = yyn; 1899 YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN 1900 *++yyvsp = yylval; 1901 YY_IGNORE_MAYBE_UNINITIALIZED_END 1902 1903 /* Discard the shifted token. */ 1904 yychar = YYEMPTY; 1905 goto yynewstate; 1906 1907 1908/*-----------------------------------------------------------. 1909| yydefault -- do the default action for the current state. | 1910`-----------------------------------------------------------*/ 1911yydefault: 1912 yyn = yydefact[yystate]; 1913 if (yyn == 0) 1914 goto yyerrlab; 1915 goto yyreduce; 1916 1917 1918/*-----------------------------. 1919| yyreduce -- do a reduction. | 1920`-----------------------------*/ 1921yyreduce: 1922 /* yyn is the number of a rule to reduce with. */ 1923 yylen = yyr2[yyn]; 1924 1925 /* If YYLEN is nonzero, implement the default value of the action: 1926 '$$ = $1'. 1927 1928 Otherwise, the following line sets YYVAL to garbage. 1929 This behavior is undocumented and Bison 1930 users should not rely upon it. Assigning to YYVAL 1931 unconditionally makes the parser a bit smaller, and it avoids a 1932 GCC warning that YYVAL may be used uninitialized. */ 1933 yyval = yyvsp[1-yylen]; 1934 1935 1936 YY_REDUCE_PRINT (yyn); 1937 switch (yyn) 1938 { 1939 case 2: /* $@1: %empty */ 1940#line 109 "gram.y" 1941 { InitGramVariables(); } 1942#line 1943 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 1943 break; 1944 1945 case 11: /* stmt: ICON_REGION string vgrav hgrav number number */ 1946#line 122 "gram.y" 1947 { 1948 AddIconRegion((yyvsp[-4].ptr), (yyvsp[-3].num), (yyvsp[-2].num), (yyvsp[-1].num), (yyvsp[0].num), "undef", "undef", "undef"); 1949 } 1950#line 1951 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 1951 break; 1952 1953 case 12: /* stmt: ICON_REGION string vgrav hgrav number number string */ 1954#line 125 "gram.y" 1955 { 1956 AddIconRegion((yyvsp[-5].ptr), (yyvsp[-4].num), (yyvsp[-3].num), (yyvsp[-2].num), (yyvsp[-1].num), (yyvsp[0].ptr), "undef", "undef"); 1957 } 1958#line 1959 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 1959 break; 1960 1961 case 13: /* stmt: ICON_REGION string vgrav hgrav number number string string */ 1962#line 128 "gram.y" 1963 { 1964 AddIconRegion((yyvsp[-6].ptr), (yyvsp[-5].num), (yyvsp[-4].num), (yyvsp[-3].num), (yyvsp[-2].num), (yyvsp[-1].ptr), (yyvsp[0].ptr), "undef"); 1965 } 1966#line 1967 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 1967 break; 1968 1969 case 14: /* stmt: ICON_REGION string vgrav hgrav number number string string string */ 1970#line 131 "gram.y" 1971 { 1972 AddIconRegion((yyvsp[-7].ptr), (yyvsp[-6].num), (yyvsp[-5].num), (yyvsp[-4].num), (yyvsp[-3].num), (yyvsp[-2].ptr), (yyvsp[-1].ptr), (yyvsp[0].ptr)); 1973 } 1974#line 1975 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 1975 break; 1976 1977 case 15: /* $@2: %empty */ 1978#line 134 "gram.y" 1979 { 1980 curplist = AddIconRegion((yyvsp[-4].ptr), (yyvsp[-3].num), (yyvsp[-2].num), (yyvsp[-1].num), (yyvsp[0].num), "undef", "undef", "undef"); 1981 } 1982#line 1983 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 1983 break; 1984 1985 case 17: /* $@3: %empty */ 1986#line 138 "gram.y" 1987 { 1988 curplist = AddIconRegion((yyvsp[-5].ptr), (yyvsp[-4].num), (yyvsp[-3].num), (yyvsp[-2].num), (yyvsp[-1].num), (yyvsp[0].ptr), "undef", "undef"); 1989 } 1990#line 1991 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 1991 break; 1992 1993 case 19: /* $@4: %empty */ 1994#line 142 "gram.y" 1995 { 1996 curplist = AddIconRegion((yyvsp[-6].ptr), (yyvsp[-5].num), (yyvsp[-4].num), (yyvsp[-3].num), (yyvsp[-2].num), (yyvsp[-1].ptr), (yyvsp[0].ptr), "undef"); 1997 } 1998#line 1999 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 1999 break; 2000 2001 case 21: /* $@5: %empty */ 2002#line 146 "gram.y" 2003 { 2004 curplist = AddIconRegion((yyvsp[-7].ptr), (yyvsp[-6].num), (yyvsp[-5].num), (yyvsp[-4].num), (yyvsp[-3].num), (yyvsp[-2].ptr), (yyvsp[-1].ptr), (yyvsp[0].ptr)); 2005 } 2006#line 2007 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 2007 break; 2008 2009 case 23: /* $@6: %empty */ 2010#line 151 "gram.y" 2011 { 2012 curplist = AddWindowRegion ((yyvsp[-2].ptr), (yyvsp[-1].num), (yyvsp[0].num)); 2013 } 2014#line 2015 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 2015 break; 2016 2017 case 25: /* $@7: %empty */ 2018#line 156 "gram.y" 2019 { 2020#ifdef WINBOX 2021 curplist = addWindowBox ((yyvsp[-1].ptr), (yyvsp[0].ptr)); 2022#endif 2023 } 2024#line 2025 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 2025 break; 2026 2027 case 27: /* stmt: ICONMGR_GEOMETRY string number */ 2028#line 163 "gram.y" 2029 { if (Scr->FirstTime) 2030 { 2031 Scr->iconmgr->geometry= (char*)(yyvsp[-1].ptr); 2032 Scr->iconmgr->columns=(yyvsp[0].num); 2033 } 2034 } 2035#line 2036 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 2036 break; 2037 2038 case 28: /* stmt: ICONMGR_GEOMETRY string */ 2039#line 169 "gram.y" 2040 { if (Scr->FirstTime) 2041 Scr->iconmgr->geometry = (char*)(yyvsp[0].ptr); 2042 } 2043#line 2044 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 2044 break; 2045 2046 case 29: /* stmt: WORKSPCMGR_GEOMETRY string number */ 2047#line 172 "gram.y" 2048 { if (Scr->FirstTime) 2049 { 2050 Scr->workSpaceMgr.geometry= (char*)(yyvsp[-1].ptr); 2051 Scr->workSpaceMgr.columns=(yyvsp[0].num); 2052 } 2053 } 2054#line 2055 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 2055 break; 2056 2057 case 30: /* stmt: WORKSPCMGR_GEOMETRY string */ 2058#line 178 "gram.y" 2059 { if (Scr->FirstTime) 2060 Scr->workSpaceMgr.geometry = (char*)(yyvsp[0].ptr); 2061 } 2062#line 2063 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 2063 break; 2064 2065 case 31: /* $@8: %empty */ 2066#line 181 "gram.y" 2067 {} 2068#line 2069 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 2069 break; 2070 2071 case 33: /* $@9: %empty */ 2072#line 184 "gram.y" 2073 {} 2074#line 2075 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 2075 break; 2076 2077 case 35: /* stmt: ZOOM number */ 2078#line 187 "gram.y" 2079 { if (Scr->FirstTime) 2080 { 2081 Scr->DoZoom = true; 2082 Scr->ZoomCount = (yyvsp[0].num); 2083 } 2084 } 2085#line 2086 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 2086 break; 2087 2088 case 36: /* stmt: ZOOM */ 2089#line 193 "gram.y" 2090 { if (Scr->FirstTime) 2091 Scr->DoZoom = true; } 2092#line 2093 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 2093 break; 2094 2095 case 37: /* stmt: PIXMAPS pixmap_list */ 2096#line 195 "gram.y" 2097 {} 2098#line 2099 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 2099 break; 2100 2101 case 38: /* stmt: CURSORS cursor_list */ 2102#line 196 "gram.y" 2103 {} 2104#line 2105 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 2105 break; 2106 2107 case 39: /* $@10: %empty */ 2108#line 197 "gram.y" 2109 { curplist = &Scr->IconifyByUn; } 2110#line 2111 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 2111 break; 2112 2113 case 41: /* stmt: ICONIFY_BY_UNMAPPING */ 2114#line 199 "gram.y" 2115 { if (Scr->FirstTime) 2116 Scr->IconifyByUnmapping = true; } 2117#line 2118 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 2118 break; 2119 2120 case 42: /* $@11: %empty */ 2121#line 202 "gram.y" 2122 { curplist = &Scr->OpaqueMoveList; } 2123#line 2124 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 2124 break; 2125 2126 case 44: /* stmt: OPAQUEMOVE */ 2127#line 204 "gram.y" 2128 { if (Scr->FirstTime) Scr->DoOpaqueMove = true; } 2129#line 2130 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 2130 break; 2131 2132 case 45: /* $@12: %empty */ 2133#line 205 "gram.y" 2134 { curplist = &Scr->NoOpaqueMoveList; } 2135#line 2136 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 2136 break; 2137 2138 case 47: /* stmt: NOOPAQUEMOVE */ 2139#line 207 "gram.y" 2140 { if (Scr->FirstTime) Scr->DoOpaqueMove = false; } 2141#line 2142 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 2142 break; 2143 2144 case 48: /* $@13: %empty */ 2145#line 208 "gram.y" 2146 { curplist = &Scr->OpaqueMoveList; } 2147#line 2148 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 2148 break; 2149 2150 case 50: /* stmt: OPAQUERESIZE */ 2151#line 210 "gram.y" 2152 { if (Scr->FirstTime) Scr->DoOpaqueResize = true; } 2153#line 2154 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 2154 break; 2155 2156 case 51: /* $@14: %empty */ 2157#line 211 "gram.y" 2158 { curplist = &Scr->NoOpaqueResizeList; } 2159#line 2160 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 2160 break; 2161 2162 case 53: /* stmt: NOOPAQUERESIZE */ 2163#line 213 "gram.y" 2164 { if (Scr->FirstTime) Scr->DoOpaqueResize = false; } 2165#line 2166 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 2166 break; 2167 2168 case 54: /* stmt: LEFT_TITLEBUTTON string EQUALS action */ 2169#line 215 "gram.y" 2170 { 2171 GotTitleButton ((yyvsp[-2].ptr), (yyvsp[0].num), false); 2172 } 2173#line 2174 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 2174 break; 2175 2176 case 55: /* stmt: RIGHT_TITLEBUTTON string EQUALS action */ 2177#line 218 "gram.y" 2178 { 2179 GotTitleButton ((yyvsp[-2].ptr), (yyvsp[0].num), true); 2180 } 2181#line 2182 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 2182 break; 2183 2184 case 56: /* $@15: %empty */ 2185#line 221 "gram.y" 2186 { CreateTitleButton((yyvsp[0].ptr), 0, NULL, NULL, false, true); } 2187#line 2188 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 2188 break; 2189 2190 case 58: /* $@16: %empty */ 2191#line 223 "gram.y" 2192 { CreateTitleButton((yyvsp[0].ptr), 0, NULL, NULL, true, true); } 2193#line 2194 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 2194 break; 2195 2196 case 60: /* stmt: button string */ 2197#line 225 "gram.y" 2198 { 2199 root = GetRoot((yyvsp[0].ptr), NULL, NULL); 2200 AddFuncButton ((yyvsp[-1].num), C_ROOT, 0, F_MENU, root, NULL); 2201 } 2202#line 2203 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 2203 break; 2204 2205 case 61: /* stmt: button action */ 2206#line 229 "gram.y" 2207 { 2208 if ((yyvsp[0].num) == F_MENU) { 2209 pull->prev = NULL; 2210 AddFuncButton ((yyvsp[-1].num), C_ROOT, 0, (yyvsp[0].num), pull, NULL); 2211 } 2212 else { 2213 MenuItem *item; 2214 2215 root = GetRoot(TWM_ROOT,NULL,NULL); 2216 item = AddToMenu (root, "x", Action, 2217 NULL, (yyvsp[0].num), NULL, NULL); 2218 AddFuncButton ((yyvsp[-1].num), C_ROOT, 0, (yyvsp[0].num), NULL, item); 2219 } 2220 Action = ""; 2221 pull = NULL; 2222 } 2223#line 2224 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 2224 break; 2225 2226 case 62: /* stmt: string fullkey */ 2227#line 245 "gram.y" 2228 { GotKey((yyvsp[-1].ptr), (yyvsp[0].num)); } 2229#line 2230 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 2230 break; 2231 2232 case 63: /* stmt: button full */ 2233#line 246 "gram.y" 2234 { GotButton((yyvsp[-1].num), (yyvsp[0].num)); } 2235#line 2236 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 2236 break; 2237 2238 case 64: /* $@17: %empty */ 2239#line 248 "gram.y" 2240 { curplist = &Scr->DontIconify; } 2241#line 2242 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 2242 break; 2243 2244 case 66: /* $@18: %empty */ 2245#line 250 "gram.y" 2246 {} 2247#line 2248 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 2248 break; 2249 2250 case 68: /* $@19: %empty */ 2251#line 253 "gram.y" 2252 { mods = 0; } 2253#line 2254 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 2254 break; 2255 2256 case 69: /* $@20: %empty */ 2257#line 255 "gram.y" 2258 { Scr->IgnoreModifier |= mods; mods = 0; } 2259#line 2260 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 2260 break; 2261 2262 case 71: /* $@21: %empty */ 2263#line 257 "gram.y" 2264 { curplist = &Scr->OccupyAll; } 2265#line 2266 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 2266 break; 2267 2268 case 73: /* $@22: %empty */ 2269#line 259 "gram.y" 2270 { curplist = &Scr->IconMenuDontShow; } 2271#line 2272 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 2272 break; 2273 2274 case 75: /* $@23: %empty */ 2275#line 261 "gram.y" 2276 {} 2277#line 2278 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 2278 break; 2279 2280 case 77: /* $@24: %empty */ 2281#line 263 "gram.y" 2282 { curplist = &Scr->UnmapByMovingFarAway; } 2283#line 2284 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 2284 break; 2285 2286 case 79: /* $@25: %empty */ 2287#line 265 "gram.y" 2288 { curplist = &Scr->AutoSqueeze; } 2289#line 2290 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 2290 break; 2291 2292 case 81: /* $@26: %empty */ 2293#line 267 "gram.y" 2294 { curplist = &Scr->StartSqueezed; } 2295#line 2296 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 2296 break; 2297 2298 case 83: /* stmt: ALWAYSSQUEEZETOGRAVITY */ 2299#line 269 "gram.y" 2300 { Scr->AlwaysSqueezeToGravity = true; } 2301#line 2302 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 2302 break; 2303 2304 case 84: /* $@27: %empty */ 2305#line 270 "gram.y" 2306 { curplist = &Scr->AlwaysSqueezeToGravityL; } 2307#line 2308 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 2308 break; 2309 2310 case 86: /* $@28: %empty */ 2311#line 272 "gram.y" 2312 { curplist = &Scr->DontSetInactive; } 2313#line 2314 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 2314 break; 2315 2316 case 88: /* $@29: %empty */ 2317#line 274 "gram.y" 2318 { curplist = &Scr->IconMgrNoShow; } 2319#line 2320 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 2320 break; 2321 2322 case 90: /* stmt: ICONMGR_NOSHOW */ 2323#line 276 "gram.y" 2324 { Scr->IconManagerDontShow = true; } 2325#line 2326 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 2326 break; 2327 2328 case 91: /* $@30: %empty */ 2329#line 277 "gram.y" 2330 { curplist = &Scr->IconMgrs; } 2331#line 2332 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 2332 break; 2333 2334 case 93: /* $@31: %empty */ 2335#line 279 "gram.y" 2336 { curplist = &Scr->IconMgrShow; } 2337#line 2338 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 2338 break; 2339 2340 case 95: /* $@32: %empty */ 2341#line 281 "gram.y" 2342 { curplist = &Scr->NoTitleHighlight; } 2343#line 2344 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 2344 break; 2345 2346 case 97: /* stmt: NO_TITLE_HILITE */ 2347#line 283 "gram.y" 2348 { if (Scr->FirstTime) 2349 Scr->TitleHighlight = false; } 2350#line 2351 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 2351 break; 2352 2353 case 98: /* $@33: %empty */ 2354#line 285 "gram.y" 2355 { curplist = &Scr->NoHighlight; } 2356#line 2357 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 2357 break; 2358 2359 case 100: /* stmt: NO_HILITE */ 2360#line 287 "gram.y" 2361 { if (Scr->FirstTime) 2362 Scr->Highlight = false; } 2363#line 2364 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 2364 break; 2365 2366 case 101: /* stmt: ON_TOP_PRIORITY signed_number */ 2367#line 290 "gram.y" 2368 { OtpScrSetZero(Scr, WinWin, (yyvsp[0].num)); } 2369#line 2370 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 2370 break; 2371 2372 case 102: /* stmt: ON_TOP_PRIORITY ICONS signed_number */ 2373#line 292 "gram.y" 2374 { OtpScrSetZero(Scr, IconWin, (yyvsp[0].num)); } 2375#line 2376 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 2376 break; 2377 2378 case 103: /* $@34: %empty */ 2379#line 294 "gram.y" 2380 { curplist = OtpScrPriorityL(Scr, WinWin, (yyvsp[0].num)); } 2381#line 2382 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 2382 break; 2383 2384 case 105: /* $@35: %empty */ 2385#line 297 "gram.y" 2386 { curplist = OtpScrPriorityL(Scr, IconWin, (yyvsp[0].num)); } 2387#line 2388 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 2388 break; 2389 2390 case 107: /* $@36: %empty */ 2391#line 299 "gram.y" 2392 { curplist = OtpScrPriorityL(Scr, WinWin, 8); } 2393#line 2394 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 2394 break; 2395 2396 case 109: /* $@37: %empty */ 2397#line 301 "gram.y" 2398 { OtpScrSetSwitching(Scr, WinWin, false); 2399 curplist = OtpScrSwitchingL(Scr, WinWin); } 2400#line 2401 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 2401 break; 2402 2403 case 111: /* $@38: %empty */ 2404#line 304 "gram.y" 2405 { OtpScrSetSwitching(Scr, WinWin, true); 2406 curplist = OtpScrSwitchingL(Scr, WinWin); } 2407#line 2408 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 2408 break; 2409 2410 case 113: /* $@39: %empty */ 2411#line 308 "gram.y" 2412 { OtpScrSetSwitching(Scr, IconWin, false); 2413 curplist = OtpScrSwitchingL(Scr, IconWin); } 2414#line 2415 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 2415 break; 2416 2417 case 115: /* $@40: %empty */ 2418#line 312 "gram.y" 2419 { OtpScrSetSwitching(Scr, IconWin, true); 2420 curplist = OtpScrSwitchingL(Scr, IconWin); } 2421#line 2422 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 2422 break; 2423 2424 case 117: /* $@41: %empty */ 2425#line 317 "gram.y" 2426 { curplist = &Scr->NoStackModeL; } 2427#line 2428 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 2428 break; 2429 2430 case 119: /* stmt: NO_STACKMODE */ 2431#line 319 "gram.y" 2432 { if (Scr->FirstTime) 2433 Scr->StackMode = false; } 2434#line 2435 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 2435 break; 2436 2437 case 120: /* $@42: %empty */ 2438#line 321 "gram.y" 2439 { curplist = &Scr->NoBorder; } 2440#line 2441 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 2441 break; 2442 2443 case 122: /* stmt: AUTO_POPUP */ 2444#line 323 "gram.y" 2445 { Scr->AutoPopup = true; } 2446#line 2447 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 2447 break; 2448 2449 case 123: /* $@43: %empty */ 2450#line 324 "gram.y" 2451 { curplist = &Scr->AutoPopupL; } 2452#line 2453 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 2453 break; 2454 2455 case 125: /* $@44: %empty */ 2456#line 326 "gram.y" 2457 { 2458#ifndef SESSION 2459 twmrc_error_prefix(); 2460 fprintf(stderr, "DontSave ignored; session support " 2461 "disabled.\n"); 2462#endif 2463 curplist = &Scr->DontSave; 2464 } 2465#line 2466 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 2466 break; 2467 2468 case 127: /* $@45: %empty */ 2469#line 335 "gram.y" 2470 { curplist = &Scr->NoIconTitle; } 2471#line 2472 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 2472 break; 2473 2474 case 129: /* stmt: NO_ICON_TITLE */ 2475#line 337 "gram.y" 2476 { if (Scr->FirstTime) 2477 Scr->NoIconTitlebar = true; } 2478#line 2479 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 2479 break; 2480 2481 case 130: /* $@46: %empty */ 2482#line 339 "gram.y" 2483 { curplist = &Scr->NoTitle; } 2484#line 2485 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 2485 break; 2486 2487 case 132: /* stmt: NO_TITLE */ 2488#line 341 "gram.y" 2489 { if (Scr->FirstTime) 2490 Scr->NoTitlebar = true; } 2491#line 2492 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 2492 break; 2493 2494 case 133: /* $@47: %empty */ 2495#line 343 "gram.y" 2496 { curplist = &Scr->IgnoreTransientL; } 2497#line 2498 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 2498 break; 2499 2500 case 135: /* $@48: %empty */ 2501#line 345 "gram.y" 2502 { curplist = &Scr->MakeTitle; } 2503#line 2504 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 2504 break; 2505 2506 case 137: /* $@49: %empty */ 2507#line 347 "gram.y" 2508 { curplist = &Scr->StartIconified; } 2509#line 2510 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 2510 break; 2511 2512 case 139: /* $@50: %empty */ 2513#line 349 "gram.y" 2514 { curplist = &Scr->AutoRaise; } 2515#line 2516 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 2516 break; 2517 2518 case 141: /* stmt: AUTO_RAISE */ 2519#line 351 "gram.y" 2520 { Scr->AutoRaiseDefault = true; } 2521#line 2522 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 2522 break; 2523 2524 case 142: /* $@51: %empty */ 2525#line 352 "gram.y" 2526 { curplist = &Scr->WarpOnDeIconify; } 2527#line 2528 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 2528 break; 2529 2530 case 144: /* $@52: %empty */ 2531#line 354 "gram.y" 2532 { curplist = &Scr->AutoLower; } 2533#line 2534 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 2534 break; 2535 2536 case 146: /* stmt: AUTO_LOWER */ 2537#line 356 "gram.y" 2538 { Scr->AutoLowerDefault = true; } 2539#line 2540 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 2540 break; 2541 2542 case 147: /* $@53: %empty */ 2543#line 357 "gram.y" 2544 { 2545 root = GetRoot((yyvsp[-5].ptr), (yyvsp[-3].ptr), (yyvsp[-1].ptr)); } 2546#line 2547 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 2547 break; 2548 2549 case 148: /* stmt: MENU string LP string COLON string RP $@53 menu */ 2550#line 359 "gram.y" 2551 { root->real_menu = true;} 2552#line 2553 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 2553 break; 2554 2555 case 149: /* $@54: %empty */ 2556#line 360 "gram.y" 2557 { root = GetRoot((yyvsp[0].ptr), NULL, NULL); } 2558#line 2559 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 2559 break; 2560 2561 case 150: /* stmt: MENU string $@54 menu */ 2562#line 361 "gram.y" 2563 { root->real_menu = true; } 2564#line 2565 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 2565 break; 2566 2567 case 151: /* $@55: %empty */ 2568#line 362 "gram.y" 2569 { root = GetRoot((yyvsp[0].ptr), NULL, NULL); } 2570#line 2571 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 2571 break; 2572 2573 case 153: /* $@56: %empty */ 2574#line 364 "gram.y" 2575 { curplist = &Scr->IconNames; } 2576#line 2577 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 2577 break; 2578 2579 case 155: /* $@57: %empty */ 2580#line 366 "gram.y" 2581 { color = COLOR; } 2582#line 2583 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 2583 break; 2584 2585 case 157: /* $@58: %empty */ 2586#line 368 "gram.y" 2587 {} 2588#line 2589 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 2589 break; 2590 2591 case 159: /* $@59: %empty */ 2592#line 370 "gram.y" 2593 { color = MONOCHROME; } 2594#line 2595 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 2595 break; 2596 2597 case 161: /* stmt: DEFAULT_FUNCTION action */ 2598#line 372 "gram.y" 2599 { Scr->DefaultFunction.func = (yyvsp[0].num); 2600 if ((yyvsp[0].num) == F_MENU) 2601 { 2602 pull->prev = NULL; 2603 Scr->DefaultFunction.menu = pull; 2604 } 2605 else 2606 { 2607 root = GetRoot(TWM_ROOT,NULL,NULL); 2608 Scr->DefaultFunction.item = 2609 AddToMenu(root,"x",Action, 2610 NULL,(yyvsp[0].num), NULL, NULL); 2611 } 2612 Action = ""; 2613 pull = NULL; 2614 } 2615#line 2616 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 2616 break; 2617 2618 case 162: /* stmt: WINDOW_FUNCTION action */ 2619#line 388 "gram.y" 2620 { Scr->WindowFunction.func = (yyvsp[0].num); 2621 root = GetRoot(TWM_ROOT,NULL,NULL); 2622 Scr->WindowFunction.item = 2623 AddToMenu(root,"x",Action, 2624 NULL,(yyvsp[0].num), NULL, NULL); 2625 Action = ""; 2626 pull = NULL; 2627 } 2628#line 2629 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 2629 break; 2630 2631 case 163: /* stmt: CHANGE_WORKSPACE_FUNCTION action */ 2632#line 396 "gram.y" 2633 { Scr->ChangeWorkspaceFunction.func = (yyvsp[0].num); 2634 root = GetRoot(TWM_ROOT,NULL,NULL); 2635 Scr->ChangeWorkspaceFunction.item = 2636 AddToMenu(root,"x",Action, 2637 NULL,(yyvsp[0].num), NULL, NULL); 2638 Action = ""; 2639 pull = NULL; 2640 } 2641#line 2642 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 2642 break; 2643 2644 case 164: /* stmt: DEICONIFY_FUNCTION action */ 2645#line 404 "gram.y" 2646 { Scr->DeIconifyFunction.func = (yyvsp[0].num); 2647 root = GetRoot(TWM_ROOT,NULL,NULL); 2648 Scr->DeIconifyFunction.item = 2649 AddToMenu(root,"x",Action, 2650 NULL,(yyvsp[0].num), NULL, NULL); 2651 Action = ""; 2652 pull = NULL; 2653 } 2654#line 2655 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 2655 break; 2656 2657 case 165: /* stmt: ICONIFY_FUNCTION action */ 2658#line 412 "gram.y" 2659 { Scr->IconifyFunction.func = (yyvsp[0].num); 2660 root = GetRoot(TWM_ROOT,NULL,NULL); 2661 Scr->IconifyFunction.item = 2662 AddToMenu(root,"x",Action, 2663 NULL,(yyvsp[0].num), NULL, NULL); 2664 Action = ""; 2665 pull = NULL; 2666 } 2667#line 2668 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 2668 break; 2669 2670 case 166: /* $@60: %empty */ 2671#line 420 "gram.y" 2672 { curplist = &Scr->WarpCursorL; } 2673#line 2674 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 2674 break; 2675 2676 case 168: /* stmt: WARP_CURSOR */ 2677#line 422 "gram.y" 2678 { if (Scr->FirstTime) 2679 Scr->WarpCursor = true; } 2680#line 2681 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 2681 break; 2682 2683 case 169: /* $@61: %empty */ 2684#line 424 "gram.y" 2685 { curplist = &Scr->WindowRingL; } 2686#line 2687 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 2687 break; 2688 2689 case 171: /* stmt: WINDOW_RING */ 2690#line 426 "gram.y" 2691 { Scr->WindowRingAll = true; } 2692#line 2693 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 2693 break; 2694 2695 case 172: /* $@62: %empty */ 2696#line 427 "gram.y" 2697 { if (!Scr->WindowRingL) 2698 Scr->WindowRingAll = true; 2699 curplist = &Scr->WindowRingExcludeL; } 2700#line 2701 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 2701 break; 2702 2703 case 174: /* $@63: %empty */ 2704#line 431 "gram.y" 2705 { } 2706#line 2707 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 2707 break; 2708 2709 case 176: /* $@64: %empty */ 2710#line 433 "gram.y" 2711 { } 2712#line 2713 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 2713 break; 2714 2715 case 178: /* $@65: %empty */ 2716#line 435 "gram.y" 2717 { } 2718#line 2719 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 2719 break; 2720 2721 case 180: /* $@66: %empty */ 2722#line 437 "gram.y" 2723 { } 2724#line 2725 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 2725 break; 2726 2727 case 182: /* $@67: %empty */ 2728#line 439 "gram.y" 2729 { init_layout_override(); } 2730#line 2731 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 2731 break; 2732 2733 case 184: /* $@68: %empty */ 2734#line 441 "gram.y" 2735 { } 2736#line 2737 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 2737 break; 2738 2739 case 186: /* stmt: FORCE_FOCUS */ 2740#line 443 "gram.y" 2741 { Scr->ForceFocus = true; } 2742#line 2743 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 2743 break; 2744 2745 case 187: /* $@69: %empty */ 2746#line 444 "gram.y" 2747 { curplist = &Scr->ForceFocusL; } 2748#line 2749 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 2749 break; 2750 2751 case 189: /* noarg: KEYWORD */ 2752#line 448 "gram.y" 2753 { if (!do_single_keyword ((yyvsp[0].num))) { 2754 twmrc_error_prefix(); 2755 fprintf (stderr, 2756 "unknown singleton keyword %d\n", 2757 (yyvsp[0].num)); 2758 ParseError = true; 2759 } 2760 } 2761#line 2762 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 2762 break; 2763 2764 case 190: /* sarg: SKEYWORD string */ 2765#line 458 "gram.y" 2766 { if (!do_string_keyword ((yyvsp[-1].num), (yyvsp[0].ptr))) { 2767 twmrc_error_prefix(); 2768 fprintf (stderr, 2769 "unknown string keyword %d (value \"%s\")\n", 2770 (yyvsp[-1].num), (yyvsp[0].ptr)); 2771 ParseError = true; 2772 } 2773 } 2774#line 2775 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 2775 break; 2776 2777 case 191: /* sarg: SKEYWORD */ 2778#line 466 "gram.y" 2779 { if (!do_string_keyword ((yyvsp[0].num), DEFSTRING)) { 2780 twmrc_error_prefix(); 2781 fprintf (stderr, 2782 "unknown string keyword %d (no value)\n", 2783 (yyvsp[0].num)); 2784 ParseError = true; 2785 } 2786 } 2787#line 2788 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 2788 break; 2789 2790 case 192: /* sarg: SSKEYWORD string string */ 2791#line 477 "gram.y" 2792 { if (!do_string_string_keyword ((yyvsp[-2].num), (yyvsp[-1].ptr), (yyvsp[0].ptr))) { 2793 twmrc_error_prefix(); 2794 fprintf (stderr, 2795 "unknown strings keyword %d (value \"%s\" and \"%s\")\n", 2796 (yyvsp[-2].num), (yyvsp[-1].ptr), (yyvsp[0].ptr)); 2797 ParseError = true; 2798 } 2799 } 2800#line 2801 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 2801 break; 2802 2803 case 193: /* sarg: SSKEYWORD string */ 2804#line 485 "gram.y" 2805 { if (!do_string_string_keyword ((yyvsp[-1].num), (yyvsp[0].ptr), NULL)) { 2806 twmrc_error_prefix(); 2807 fprintf (stderr, 2808 "unknown string keyword %d (value \"%s\")\n", 2809 (yyvsp[-1].num), (yyvsp[0].ptr)); 2810 ParseError = true; 2811 } 2812 } 2813#line 2814 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 2814 break; 2815 2816 case 194: /* sarg: SSKEYWORD */ 2817#line 493 "gram.y" 2818 { if (!do_string_string_keyword ((yyvsp[0].num), NULL, NULL)) { 2819 twmrc_error_prefix(); 2820 fprintf (stderr, 2821 "unknown string keyword %d (no value)\n", 2822 (yyvsp[0].num)); 2823 ParseError = true; 2824 } 2825 } 2826#line 2827 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 2827 break; 2828 2829 case 195: /* narg: NKEYWORD number */ 2830#line 503 "gram.y" 2831 { if (!do_number_keyword ((yyvsp[-1].num), (yyvsp[0].num))) { 2832 twmrc_error_prefix(); 2833 fprintf (stderr, 2834 "unknown numeric keyword %d (value %d)\n", 2835 (yyvsp[-1].num), (yyvsp[0].num)); 2836 ParseError = true; 2837 } 2838 } 2839#line 2840 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 2840 break; 2841 2842 case 196: /* keyaction: EQUALS keys COLON action */ 2843#line 515 "gram.y" 2844 { (yyval.num) = (yyvsp[0].num); } 2845#line 2846 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 2846 break; 2847 2848 case 197: /* full: EQUALS keys COLON contexts COLON action */ 2849#line 518 "gram.y" 2850 { (yyval.num) = (yyvsp[0].num); } 2851#line 2852 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 2852 break; 2853 2854 case 198: /* fullkey: EQUALS keys COLON contextkeys COLON action */ 2855#line 521 "gram.y" 2856 { (yyval.num) = (yyvsp[0].num); } 2857#line 2858 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 2858 break; 2859 2860 case 201: /* key: META */ 2861#line 528 "gram.y" 2862 { mods |= Mod1Mask; } 2863#line 2864 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 2864 break; 2865 2866 case 202: /* key: SHIFT */ 2867#line 529 "gram.y" 2868 { mods |= ShiftMask; } 2869#line 2870 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 2870 break; 2871 2872 case 203: /* key: LOCK */ 2873#line 530 "gram.y" 2874 { mods |= LockMask; } 2875#line 2876 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 2876 break; 2877 2878 case 204: /* key: CONTROL */ 2879#line 531 "gram.y" 2880 { mods |= ControlMask; } 2881#line 2882 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 2882 break; 2883 2884 case 205: /* key: ALTER number */ 2885#line 532 "gram.y" 2886 { if ((yyvsp[0].num) < 1 || (yyvsp[0].num) > 5) { 2887 twmrc_error_prefix(); 2888 fprintf (stderr, 2889 "bad altkeymap number (%d), must be 1-5\n", 2890 (yyvsp[0].num)); 2891 ParseError = true; 2892 } else { 2893 mods |= (Alt1Mask << ((yyvsp[0].num) - 1)); 2894 } 2895 } 2896#line 2897 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 2897 break; 2898 2899 case 206: /* key: META number */ 2900#line 542 "gram.y" 2901 { if ((yyvsp[0].num) < 1 || (yyvsp[0].num) > 5) { 2902 twmrc_error_prefix(); 2903 fprintf (stderr, 2904 "bad modifier number (%d), must be 1-5\n", 2905 (yyvsp[0].num)); 2906 ParseError = true; 2907 } else { 2908 mods |= (Mod1Mask << ((yyvsp[0].num) - 1)); 2909 } 2910 } 2911#line 2912 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 2912 break; 2913 2914 case 207: /* key: OR */ 2915#line 552 "gram.y" 2916 { } 2917#line 2918 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 2918 break; 2919 2920 case 208: /* vgrav: GRAVITY */ 2921#line 555 "gram.y" 2922 { 2923 switch((yyvsp[0].num)) { 2924 case GRAV_NORTH: 2925 case GRAV_SOUTH: 2926 /* OK */ 2927 (yyval.num) = (yyvsp[0].num); 2928 break; 2929 default: 2930 twmrc_error_prefix(); 2931 fprintf(stderr, "Bad vertical gravity '%s'\n", yytext); 2932 ParseError = true; 2933 YYERROR; 2934 } 2935 } 2936#line 2937 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 2937 break; 2938 2939 case 209: /* hgrav: GRAVITY */ 2940#line 570 "gram.y" 2941 { 2942 switch((yyvsp[0].num)) { 2943 case GRAV_EAST: 2944 case GRAV_WEST: 2945 /* OK */ 2946 (yyval.num) = (yyvsp[0].num); 2947 break; 2948 default: 2949 twmrc_error_prefix(); 2950 fprintf(stderr, "Bad horiz gravity '%s'\n", yytext); 2951 ParseError = true; 2952 YYERROR; 2953 } 2954 } 2955#line 2956 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 2956 break; 2957 2958 case 212: /* context: WINDOW */ 2959#line 589 "gram.y" 2960 { cont |= C_WINDOW_BIT; } 2961#line 2962 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 2962 break; 2963 2964 case 213: /* context: TITLE */ 2965#line 590 "gram.y" 2966 { cont |= C_TITLE_BIT; } 2967#line 2968 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 2968 break; 2969 2970 case 214: /* context: ICON */ 2971#line 591 "gram.y" 2972 { cont |= C_ICON_BIT; } 2973#line 2974 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 2974 break; 2975 2976 case 215: /* context: ROOT */ 2977#line 592 "gram.y" 2978 { cont |= C_ROOT_BIT; } 2979#line 2980 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 2980 break; 2981 2982 case 216: /* context: FRAME */ 2983#line 593 "gram.y" 2984 { cont |= C_FRAME_BIT; } 2985#line 2986 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 2986 break; 2987 2988 case 217: /* context: WORKSPACE */ 2989#line 594 "gram.y" 2990 { cont |= C_WORKSPACE_BIT; } 2991#line 2992 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 2992 break; 2993 2994 case 218: /* context: ICONMGR */ 2995#line 595 "gram.y" 2996 { cont |= C_ICONMGR_BIT; } 2997#line 2998 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 2998 break; 2999 3000 case 219: /* context: META */ 3001#line 596 "gram.y" 3002 { cont |= C_ICONMGR_BIT; } 3003#line 3004 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 3004 break; 3005 3006 case 220: /* context: ALTER */ 3007#line 597 "gram.y" 3008 { cont |= C_ALTER_BIT; } 3009#line 3010 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 3010 break; 3011 3012 case 221: /* context: ALL */ 3013#line 598 "gram.y" 3014 { cont |= C_ALL_BITS; } 3015#line 3016 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 3016 break; 3017 3018 case 222: /* context: OR */ 3019#line 599 "gram.y" 3020 { } 3021#line 3022 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 3022 break; 3023 3024 case 225: /* contextkey: WINDOW */ 3025#line 606 "gram.y" 3026 { cont |= C_WINDOW_BIT; } 3027#line 3028 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 3028 break; 3029 3030 case 226: /* contextkey: TITLE */ 3031#line 607 "gram.y" 3032 { cont |= C_TITLE_BIT; } 3033#line 3034 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 3034 break; 3035 3036 case 227: /* contextkey: ICON */ 3037#line 608 "gram.y" 3038 { cont |= C_ICON_BIT; } 3039#line 3040 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 3040 break; 3041 3042 case 228: /* contextkey: ROOT */ 3043#line 609 "gram.y" 3044 { cont |= C_ROOT_BIT; } 3045#line 3046 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 3046 break; 3047 3048 case 229: /* contextkey: FRAME */ 3049#line 610 "gram.y" 3050 { cont |= C_FRAME_BIT; } 3051#line 3052 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 3052 break; 3053 3054 case 230: /* contextkey: WORKSPACE */ 3055#line 611 "gram.y" 3056 { cont |= C_WORKSPACE_BIT; } 3057#line 3058 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 3058 break; 3059 3060 case 231: /* contextkey: ICONMGR */ 3061#line 612 "gram.y" 3062 { cont |= C_ICONMGR_BIT; } 3063#line 3064 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 3064 break; 3065 3066 case 232: /* contextkey: META */ 3067#line 613 "gram.y" 3068 { cont |= C_ICONMGR_BIT; } 3069#line 3070 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 3070 break; 3071 3072 case 233: /* contextkey: ALTER */ 3073#line 614 "gram.y" 3074 { cont |= C_ALTER_BIT; } 3075#line 3076 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 3076 break; 3077 3078 case 234: /* contextkey: ALL */ 3079#line 615 "gram.y" 3080 { cont |= C_ALL_BITS; } 3081#line 3082 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 3082 break; 3083 3084 case 235: /* contextkey: OR */ 3085#line 616 "gram.y" 3086 { } 3087#line 3088 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 3088 break; 3089 3090 case 236: /* contextkey: string */ 3091#line 617 "gram.y" 3092 { Name = (char*)(yyvsp[0].ptr); cont |= C_NAME_BIT; } 3093#line 3094 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 3094 break; 3095 3096 case 237: /* binding_list: LB binding_entries RB */ 3097#line 621 "gram.y" 3098 {} 3099#line 3100 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 3100 break; 3101 3102 case 240: /* binding_entry: button keyaction */ 3103#line 628 "gram.y" 3104 { SetCurrentTBAction((yyvsp[-1].num), mods, (yyvsp[0].num), Action, pull); mods = 0;} 3105#line 3106 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 3106 break; 3107 3108 case 241: /* binding_entry: button EQUALS action */ 3109#line 629 "gram.y" 3110 { SetCurrentTBAction((yyvsp[-2].num), 0, (yyvsp[0].num), Action, pull);} 3111#line 3112 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 3112 break; 3113 3114 case 242: /* binding_entry: button COLON action */ 3115#line 630 "gram.y" 3116 { 3117 /* Deprecated since 3.8, no longer supported */ 3118 yyerror("Title buttons specifications without = are no " 3119 "longer supported."); 3120 } 3121#line 3122 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 3122 break; 3123 3124 case 243: /* pixmap_list: LB pixmap_entries RB */ 3125#line 638 "gram.y" 3126 {} 3127#line 3128 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 3128 break; 3129 3130 case 246: /* pixmap_entry: TITLE_HILITE string */ 3131#line 645 "gram.y" 3132 { Scr->HighlightPixmapName = strdup((yyvsp[0].ptr)); } 3133#line 3134 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 3134 break; 3135 3136 case 247: /* cursor_list: LB cursor_entries RB */ 3137#line 649 "gram.y" 3138 {} 3139#line 3140 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 3140 break; 3141 3142 case 250: /* cursor_entry: FRAME string string */ 3143#line 656 "gram.y" 3144 { 3145 NewBitmapCursor(&Scr->FrameCursor, (yyvsp[-1].ptr), (yyvsp[0].ptr)); } 3146#line 3147 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 3147 break; 3148 3149 case 251: /* cursor_entry: FRAME string */ 3150#line 658 "gram.y" 3151 { 3152 NewFontCursor(&Scr->FrameCursor, (yyvsp[0].ptr)); } 3153#line 3154 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 3154 break; 3155 3156 case 252: /* cursor_entry: TITLE string string */ 3157#line 660 "gram.y" 3158 { 3159 NewBitmapCursor(&Scr->TitleCursor, (yyvsp[-1].ptr), (yyvsp[0].ptr)); } 3160#line 3161 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 3161 break; 3162 3163 case 253: /* cursor_entry: TITLE string */ 3164#line 662 "gram.y" 3165 { 3166 NewFontCursor(&Scr->TitleCursor, (yyvsp[0].ptr)); } 3167#line 3168 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 3168 break; 3169 3170 case 254: /* cursor_entry: ICON string string */ 3171#line 664 "gram.y" 3172 { 3173 NewBitmapCursor(&Scr->IconCursor, (yyvsp[-1].ptr), (yyvsp[0].ptr)); } 3174#line 3175 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 3175 break; 3176 3177 case 255: /* cursor_entry: ICON string */ 3178#line 666 "gram.y" 3179 { 3180 NewFontCursor(&Scr->IconCursor, (yyvsp[0].ptr)); } 3181#line 3182 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 3182 break; 3183 3184 case 256: /* cursor_entry: ICONMGR string string */ 3185#line 668 "gram.y" 3186 { 3187 NewBitmapCursor(&Scr->IconMgrCursor, (yyvsp[-1].ptr), (yyvsp[0].ptr)); } 3188#line 3189 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 3189 break; 3190 3191 case 257: /* cursor_entry: ICONMGR string */ 3192#line 670 "gram.y" 3193 { 3194 NewFontCursor(&Scr->IconMgrCursor, (yyvsp[0].ptr)); } 3195#line 3196 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 3196 break; 3197 3198 case 258: /* cursor_entry: BUTTON string string */ 3199#line 672 "gram.y" 3200 { 3201 NewBitmapCursor(&Scr->ButtonCursor, (yyvsp[-1].ptr), (yyvsp[0].ptr)); } 3202#line 3203 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 3203 break; 3204 3205 case 259: /* cursor_entry: BUTTON string */ 3206#line 674 "gram.y" 3207 { 3208 NewFontCursor(&Scr->ButtonCursor, (yyvsp[0].ptr)); } 3209#line 3210 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 3210 break; 3211 3212 case 260: /* cursor_entry: MOVE string string */ 3213#line 676 "gram.y" 3214 { 3215 NewBitmapCursor(&Scr->MoveCursor, (yyvsp[-1].ptr), (yyvsp[0].ptr)); } 3216#line 3217 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 3217 break; 3218 3219 case 261: /* cursor_entry: MOVE string */ 3220#line 678 "gram.y" 3221 { 3222 NewFontCursor(&Scr->MoveCursor, (yyvsp[0].ptr)); } 3223#line 3224 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 3224 break; 3225 3226 case 262: /* cursor_entry: RESIZE string string */ 3227#line 680 "gram.y" 3228 { 3229 NewBitmapCursor(&Scr->ResizeCursor, (yyvsp[-1].ptr), (yyvsp[0].ptr)); } 3230#line 3231 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 3231 break; 3232 3233 case 263: /* cursor_entry: RESIZE string */ 3234#line 682 "gram.y" 3235 { 3236 NewFontCursor(&Scr->ResizeCursor, (yyvsp[0].ptr)); } 3237#line 3238 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 3238 break; 3239 3240 case 264: /* cursor_entry: WAITC string string */ 3241#line 684 "gram.y" 3242 { 3243 NewBitmapCursor(&Scr->WaitCursor, (yyvsp[-1].ptr), (yyvsp[0].ptr)); } 3244#line 3245 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 3245 break; 3246 3247 case 265: /* cursor_entry: WAITC string */ 3248#line 686 "gram.y" 3249 { 3250 NewFontCursor(&Scr->WaitCursor, (yyvsp[0].ptr)); } 3251#line 3252 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 3252 break; 3253 3254 case 266: /* cursor_entry: MENU string string */ 3255#line 688 "gram.y" 3256 { 3257 NewBitmapCursor(&Scr->MenuCursor, (yyvsp[-1].ptr), (yyvsp[0].ptr)); } 3258#line 3259 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 3259 break; 3260 3261 case 267: /* cursor_entry: MENU string */ 3262#line 690 "gram.y" 3263 { 3264 NewFontCursor(&Scr->MenuCursor, (yyvsp[0].ptr)); } 3265#line 3266 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 3266 break; 3267 3268 case 268: /* cursor_entry: SELECT string string */ 3269#line 692 "gram.y" 3270 { 3271 NewBitmapCursor(&Scr->SelectCursor, (yyvsp[-1].ptr), (yyvsp[0].ptr)); } 3272#line 3273 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 3273 break; 3274 3275 case 269: /* cursor_entry: SELECT string */ 3276#line 694 "gram.y" 3277 { 3278 NewFontCursor(&Scr->SelectCursor, (yyvsp[0].ptr)); } 3279#line 3280 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 3280 break; 3281 3282 case 270: /* cursor_entry: KILL string string */ 3283#line 696 "gram.y" 3284 { 3285 NewBitmapCursor(&Scr->DestroyCursor, (yyvsp[-1].ptr), (yyvsp[0].ptr)); } 3286#line 3287 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 3287 break; 3288 3289 case 271: /* cursor_entry: KILL string */ 3290#line 698 "gram.y" 3291 { 3292 NewFontCursor(&Scr->DestroyCursor, (yyvsp[0].ptr)); } 3293#line 3294 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 3294 break; 3295 3296 case 272: /* color_list: LB color_entries RB */ 3297#line 702 "gram.y" 3298 {} 3299#line 3300 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 3300 break; 3301 3302 case 275: /* color_entry: CLKEYWORD string */ 3303#line 710 "gram.y" 3304 { if (!do_colorlist_keyword ((yyvsp[-1].num), color, 3305 (yyvsp[0].ptr))) { 3306 twmrc_error_prefix(); 3307 fprintf (stderr, 3308 "unhandled list color keyword %d (string \"%s\")\n", 3309 (yyvsp[-1].num), (yyvsp[0].ptr)); 3310 ParseError = true; 3311 } 3312 } 3313#line 3314 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 3314 break; 3315 3316 case 276: /* $@70: %empty */ 3317#line 719 "gram.y" 3318 { curplist = do_colorlist_keyword((yyvsp[-1].num),color, 3319 (yyvsp[0].ptr)); 3320 if (!curplist) { 3321 twmrc_error_prefix(); 3322 fprintf (stderr, 3323 "unhandled color list keyword %d (string \"%s\")\n", 3324 (yyvsp[-1].num), (yyvsp[0].ptr)); 3325 ParseError = true; 3326 } 3327 } 3328#line 3329 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 3329 break; 3330 3331 case 278: /* color_entry: CKEYWORD string */ 3332#line 730 "gram.y" 3333 { if (!do_color_keyword ((yyvsp[-1].num), color, 3334 (yyvsp[0].ptr))) { 3335 twmrc_error_prefix(); 3336 fprintf (stderr, 3337 "unhandled color keyword %d (string \"%s\")\n", 3338 (yyvsp[-1].num), (yyvsp[0].ptr)); 3339 ParseError = true; 3340 } 3341 } 3342#line 3343 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 3343 break; 3344 3345 case 279: /* save_color_list: LB s_color_entries RB */ 3346#line 741 "gram.y" 3347 {} 3348#line 3349 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 3349 break; 3350 3351 case 282: /* s_color_entry: string */ 3352#line 748 "gram.y" 3353 { do_string_savecolor(color, (yyvsp[0].ptr)); } 3354#line 3355 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 3355 break; 3356 3357 case 283: /* s_color_entry: CLKEYWORD */ 3358#line 749 "gram.y" 3359 { do_var_savecolor((yyvsp[0].num)); } 3360#line 3361 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 3361 break; 3362 3363 case 284: /* win_color_list: LB win_color_entries RB */ 3364#line 752 "gram.y" 3365 {} 3366#line 3367 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 3367 break; 3368 3369 case 287: /* win_color_entry: string string */ 3370#line 759 "gram.y" 3371 { if (Scr->FirstTime && 3372 color == Scr->Monochrome) 3373 AddToList(curplist, (yyvsp[-1].ptr), (yyvsp[0].ptr)); } 3374#line 3375 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 3375 break; 3376 3377 case 288: /* wingeom_list: LB wingeom_entries RB */ 3378#line 764 "gram.y" 3379 {} 3380#line 3381 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 3381 break; 3382 3383 case 291: /* wingeom_entry: string string */ 3384#line 771 "gram.y" 3385 { AddToList (&Scr->WindowGeometries, (yyvsp[-1].ptr), (yyvsp[0].ptr)); } 3386#line 3387 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 3387 break; 3388 3389 case 292: /* vscreen_geom_list: LB vscreen_geom_entries RB */ 3390#line 774 "gram.y" 3391 {} 3392#line 3393 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 3393 break; 3394 3395 case 295: /* vscreen_geom_entry: string */ 3396#line 781 "gram.y" 3397 { 3398#ifdef VSCREEN 3399 AddToList (&Scr->VirtualScreens, (yyvsp[0].ptr), ""); 3400#endif 3401 } 3402#line 3403 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 3403 break; 3404 3405 case 296: /* ewmh_ignore_list: LB ewmh_ignore_entries RB */ 3406#line 789 "gram.y" 3407 { proc_ewmh_ignore(); } 3408#line 3409 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 3409 break; 3410 3411 case 299: /* ewmh_ignore_entry: string */ 3412#line 796 "gram.y" 3413 { add_ewmh_ignore((yyvsp[0].ptr)); } 3414#line 3415 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 3415 break; 3416 3417 case 300: /* mwm_ignore_list: LB mwm_ignore_entries RB */ 3418#line 800 "gram.y" 3419 { proc_mwm_ignore(); } 3420#line 3421 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 3421 break; 3422 3423 case 303: /* mwm_ignore_entry: string */ 3424#line 807 "gram.y" 3425 { add_mwm_ignore((yyvsp[0].ptr)); } 3426#line 3427 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 3427 break; 3428 3429 case 304: /* layout_geom_list: LB layout_geom_entries RB */ 3430#line 811 "gram.y" 3431 { proc_layout_override(); } 3432#line 3433 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 3433 break; 3434 3435 case 307: /* layout_geom_entry: string */ 3436#line 818 "gram.y" 3437 { add_layout_override_entry((yyvsp[0].ptr)); } 3438#line 3439 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 3439 break; 3440 3441 case 308: /* squeeze: SQUEEZE_TITLE */ 3442#line 822 "gram.y" 3443 { 3444 if (HasShape) Scr->SqueezeTitle = true; 3445 } 3446#line 3447 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 3447 break; 3448 3449 case 309: /* $@71: %empty */ 3450#line 825 "gram.y" 3451 { curplist = &Scr->SqueezeTitleL; 3452 if (HasShape) 3453 Scr->SqueezeTitle = true; 3454 } 3455#line 3456 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 3456 break; 3457 3458 case 311: /* squeeze: DONT_SQUEEZE_TITLE */ 3459#line 830 "gram.y" 3460 { Scr->SqueezeTitle = false; } 3461#line 3462 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 3462 break; 3463 3464 case 312: /* $@72: %empty */ 3465#line 831 "gram.y" 3466 { curplist = &Scr->DontSqueezeTitleL; } 3467#line 3468 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 3468 break; 3469 3470 case 315: /* win_sqz_entries: win_sqz_entries string SIJENUM signed_number number */ 3471#line 836 "gram.y" 3472 { 3473 if (Scr->FirstTime) { 3474 do_squeeze_entry (curplist, (yyvsp[-3].ptr), (yyvsp[-2].num), (yyvsp[-1].num), (yyvsp[0].num)); 3475 } 3476 } 3477#line 3478 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 3478 break; 3479 3480 case 316: /* iconm_list: LB iconm_entries RB */ 3481#line 844 "gram.y" 3482 {} 3483#line 3484 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 3484 break; 3485 3486 case 319: /* iconm_entry: string string number */ 3487#line 851 "gram.y" 3488 { if (Scr->FirstTime) 3489 AddToList(curplist, (yyvsp[-2].ptr), 3490 AllocateIconManager((yyvsp[-2].ptr), NULL, 3491 (yyvsp[-1].ptr),(yyvsp[0].num))); 3492 } 3493#line 3494 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 3494 break; 3495 3496 case 320: /* iconm_entry: string string string number */ 3497#line 857 "gram.y" 3498 { if (Scr->FirstTime) 3499 AddToList(curplist, (yyvsp[-3].ptr), 3500 AllocateIconManager((yyvsp[-3].ptr),(yyvsp[-2].ptr), 3501 (yyvsp[-1].ptr), (yyvsp[0].num))); 3502 } 3503#line 3504 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 3504 break; 3505 3506 case 321: /* workspc_list: LB workspc_entries RB */ 3507#line 864 "gram.y" 3508 {} 3509#line 3510 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 3510 break; 3511 3512 case 324: /* workspc_entry: string */ 3513#line 871 "gram.y" 3514 { 3515 AddWorkSpace ((yyvsp[0].ptr), NULL, NULL, NULL, NULL, NULL); 3516 } 3517#line 3518 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 3518 break; 3519 3520 case 325: /* $@73: %empty */ 3521#line 874 "gram.y" 3522 { 3523 curWorkSpc = (char*)(yyvsp[0].ptr); 3524 } 3525#line 3526 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 3526 break; 3527 3528 case 327: /* workapp_list: LB workapp_entries RB */ 3529#line 880 "gram.y" 3530 {} 3531#line 3532 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 3532 break; 3533 3534 case 330: /* workapp_entry: string */ 3535#line 887 "gram.y" 3536 { 3537 AddWorkSpace (curWorkSpc, (yyvsp[0].ptr), NULL, NULL, NULL, NULL); 3538 } 3539#line 3540 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 3540 break; 3541 3542 case 331: /* workapp_entry: string string */ 3543#line 890 "gram.y" 3544 { 3545 AddWorkSpace (curWorkSpc, (yyvsp[-1].ptr), (yyvsp[0].ptr), NULL, NULL, NULL); 3546 } 3547#line 3548 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 3548 break; 3549 3550 case 332: /* workapp_entry: string string string */ 3551#line 893 "gram.y" 3552 { 3553 AddWorkSpace (curWorkSpc, (yyvsp[-2].ptr), (yyvsp[-1].ptr), (yyvsp[0].ptr), NULL, NULL); 3554 } 3555#line 3556 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 3556 break; 3557 3558 case 333: /* workapp_entry: string string string string */ 3559#line 896 "gram.y" 3560 { 3561 AddWorkSpace (curWorkSpc, (yyvsp[-3].ptr), (yyvsp[-2].ptr), (yyvsp[-1].ptr), (yyvsp[0].ptr), NULL); 3562 } 3563#line 3564 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 3564 break; 3565 3566 case 334: /* workapp_entry: string string string string string */ 3567#line 899 "gram.y" 3568 { 3569 AddWorkSpace (curWorkSpc, (yyvsp[-4].ptr), (yyvsp[-3].ptr), (yyvsp[-2].ptr), (yyvsp[-1].ptr), (yyvsp[0].ptr)); 3570 } 3571#line 3572 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 3572 break; 3573 3574 case 335: /* curwork: LB string RB */ 3575#line 904 "gram.y" 3576 { 3577 WMapCreateCurrentBackGround ((yyvsp[-1].ptr), NULL, NULL, NULL); 3578 } 3579#line 3580 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 3580 break; 3581 3582 case 336: /* curwork: LB string string RB */ 3583#line 907 "gram.y" 3584 { 3585 WMapCreateCurrentBackGround ((yyvsp[-2].ptr), (yyvsp[-1].ptr), NULL, NULL); 3586 } 3587#line 3588 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 3588 break; 3589 3590 case 337: /* curwork: LB string string string RB */ 3591#line 910 "gram.y" 3592 { 3593 WMapCreateCurrentBackGround ((yyvsp[-3].ptr), (yyvsp[-2].ptr), (yyvsp[-1].ptr), NULL); 3594 } 3595#line 3596 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 3596 break; 3597 3598 case 338: /* curwork: LB string string string string RB */ 3599#line 913 "gram.y" 3600 { 3601 WMapCreateCurrentBackGround ((yyvsp[-4].ptr), (yyvsp[-3].ptr), (yyvsp[-2].ptr), (yyvsp[-1].ptr)); 3602 } 3603#line 3604 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 3604 break; 3605 3606 case 339: /* defwork: LB string RB */ 3607#line 918 "gram.y" 3608 { 3609 WMapCreateDefaultBackGround ((yyvsp[-1].ptr), NULL, NULL, NULL); 3610 } 3611#line 3612 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 3612 break; 3613 3614 case 340: /* defwork: LB string string RB */ 3615#line 921 "gram.y" 3616 { 3617 WMapCreateDefaultBackGround ((yyvsp[-2].ptr), (yyvsp[-1].ptr), NULL, NULL); 3618 } 3619#line 3620 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 3620 break; 3621 3622 case 341: /* defwork: LB string string string RB */ 3623#line 924 "gram.y" 3624 { 3625 WMapCreateDefaultBackGround ((yyvsp[-3].ptr), (yyvsp[-2].ptr), (yyvsp[-1].ptr), NULL); 3626 } 3627#line 3628 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 3628 break; 3629 3630 case 342: /* defwork: LB string string string string RB */ 3631#line 927 "gram.y" 3632 { 3633 WMapCreateDefaultBackGround ((yyvsp[-4].ptr), (yyvsp[-3].ptr), (yyvsp[-2].ptr), (yyvsp[-1].ptr)); 3634 } 3635#line 3636 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 3636 break; 3637 3638 case 343: /* win_list: LB win_entries RB */ 3639#line 932 "gram.y" 3640 {} 3641#line 3642 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 3642 break; 3643 3644 case 346: /* win_entry: string */ 3645#line 939 "gram.y" 3646 { if (Scr->FirstTime) 3647 AddToList(curplist, (yyvsp[0].ptr), 0); 3648 } 3649#line 3650 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 3650 break; 3651 3652 case 347: /* occupy_list: LB occupy_entries RB */ 3653#line 944 "gram.y" 3654 {} 3655#line 3656 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 3656 break; 3657 3658 case 350: /* $@74: %empty */ 3659#line 951 "gram.y" 3660 {client = (char*)(yyvsp[0].ptr);} 3661#line 3662 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 3662 break; 3663 3664 case 352: /* $@75: %empty */ 3665#line 953 "gram.y" 3666 {client = (char*)(yyvsp[0].ptr);} 3667#line 3668 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 3668 break; 3669 3670 case 354: /* $@76: %empty */ 3671#line 955 "gram.y" 3672 {workspace = (char*)(yyvsp[0].ptr);} 3673#line 3674 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 3674 break; 3675 3676 case 356: /* occupy_workspc_list: LB occupy_workspc_entries RB */ 3677#line 959 "gram.y" 3678 {} 3679#line 3680 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 3680 break; 3681 3682 case 359: /* occupy_workspc_entry: string */ 3683#line 966 "gram.y" 3684 { 3685 if(!AddToClientsList ((yyvsp[0].ptr), client)) { 3686 twmrc_error_prefix(); 3687 fprintf(stderr, "unknown workspace '%s'\n", (yyvsp[0].ptr)); 3688 } 3689 } 3690#line 3691 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 3691 break; 3692 3693 case 360: /* occupy_window_list: LB occupy_window_entries RB */ 3694#line 974 "gram.y" 3695 {} 3696#line 3697 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 3697 break; 3698 3699 case 363: /* occupy_window_entry: string */ 3700#line 981 "gram.y" 3701 { 3702 if(!AddToClientsList (workspace, (yyvsp[0].ptr))) { 3703 twmrc_error_prefix(); 3704 fprintf(stderr, "unknown workspace '%s'\n", workspace); 3705 } 3706 } 3707#line 3708 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 3708 break; 3709 3710 case 364: /* icon_list: LB icon_entries RB */ 3711#line 989 "gram.y" 3712 {} 3713#line 3714 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 3714 break; 3715 3716 case 367: /* icon_entry: string string */ 3717#line 996 "gram.y" 3718 { if (Scr->FirstTime) AddToList(curplist, (yyvsp[-1].ptr), (yyvsp[0].ptr)); } 3719#line 3720 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 3720 break; 3721 3722 case 368: /* rplay_sounds_list: LB rplay_sounds_entries RB */ 3723#line 999 "gram.y" 3724 { 3725#ifndef SOUNDS 3726 twmrc_error_prefix(); 3727 fprintf(stderr, "RplaySounds ignored; rplay support " 3728 "not configured.\n"); 3729#else 3730 sound_set_from_config(); 3731#endif 3732 } 3733#line 3734 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 3734 break; 3735 3736 case 371: /* rplay_sounds_entry: string string */ 3737#line 1014 "gram.y" 3738 { 3739#ifdef SOUNDS 3740 if(set_sound_event_name((yyvsp[-1].ptr), (yyvsp[0].ptr)) != 0) { 3741 twmrc_error_prefix(); 3742 fprintf(stderr, "Failed adding sound for %s; " 3743 "maybe event name is invalid?\n", (yyvsp[-1].ptr)); 3744 } 3745#endif 3746 } 3747#line 3748 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 3748 break; 3749 3750 case 372: /* function: LB function_entries RB */ 3751#line 1025 "gram.y" 3752 {} 3753#line 3754 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 3754 break; 3755 3756 case 375: /* function_entry: action */ 3757#line 1032 "gram.y" 3758 { AddToMenu(root, "", Action, NULL, (yyvsp[0].num), 3759 NULL, NULL); 3760 Action = ""; 3761 } 3762#line 3763 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 3763 break; 3764 3765 case 376: /* menu: LB menu_entries RB */ 3766#line 1038 "gram.y" 3767 {lastmenuitem = NULL;} 3768#line 3769 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 3769 break; 3770 3771 case 379: /* menu_entry: string action */ 3772#line 1045 "gram.y" 3773 { 3774 if ((yyvsp[0].num) == F_SEPARATOR) { 3775 if (lastmenuitem) lastmenuitem->separated = true; 3776 } 3777 else { 3778 lastmenuitem = AddToMenu(root, (yyvsp[-1].ptr), Action, pull, (yyvsp[0].num), NULL, NULL); 3779 Action = ""; 3780 pull = NULL; 3781 } 3782 } 3783#line 3784 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 3784 break; 3785 3786 case 380: /* menu_entry: string LP string COLON string RP action */ 3787#line 1055 "gram.y" 3788 { 3789 if ((yyvsp[0].num) == F_SEPARATOR) { 3790 if (lastmenuitem) lastmenuitem->separated = true; 3791 } 3792 else { 3793 lastmenuitem = AddToMenu(root, (yyvsp[-6].ptr), Action, pull, (yyvsp[0].num), (yyvsp[-4].ptr), (yyvsp[-2].ptr)); 3794 Action = ""; 3795 pull = NULL; 3796 } 3797 } 3798#line 3799 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 3799 break; 3800 3801 case 381: /* action: FKEYWORD */ 3802#line 1067 "gram.y" 3803 { (yyval.num) = (yyvsp[0].num); } 3804#line 3805 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 3805 break; 3806 3807 case 382: /* action: FSKEYWORD string */ 3808#line 1068 "gram.y" 3809 { 3810 (yyval.num) = (yyvsp[-1].num); 3811 Action = (char*)(yyvsp[0].ptr); 3812 switch ((yyvsp[-1].num)) { 3813 case F_MENU: 3814 pull = GetRoot ((yyvsp[0].ptr), NULL,NULL); 3815 pull->prev = root; 3816 break; 3817 case F_WARPRING: 3818 if (!CheckWarpRingArg (Action)) { 3819 twmrc_error_prefix(); 3820 fprintf (stderr, 3821 "ignoring invalid f.warptoring argument \"%s\"\n", 3822 Action); 3823 (yyval.num) = F_NOP; 3824 } 3825 break; 3826 case F_WARPTOSCREEN: 3827 if (!CheckWarpScreenArg (Action)) { 3828 twmrc_error_prefix(); 3829 fprintf (stderr, 3830 "ignoring invalid f.warptoscreen argument \"%s\"\n", 3831 Action); 3832 (yyval.num) = F_NOP; 3833 } 3834 break; 3835 case F_COLORMAP: 3836 if (CheckColormapArg (Action)) { 3837 (yyval.num) = F_COLORMAP; 3838 } else { 3839 twmrc_error_prefix(); 3840 fprintf (stderr, 3841 "ignoring invalid f.colormap argument \"%s\"\n", 3842 Action); 3843 (yyval.num) = F_NOP; 3844 } 3845 break; 3846 } /* end switch */ 3847 } 3848#line 3849 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 3849 break; 3850 3851 case 383: /* signed_number: number */ 3852#line 1110 "gram.y" 3853 { (yyval.num) = (yyvsp[0].num); } 3854#line 3855 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 3855 break; 3856 3857 case 384: /* signed_number: PLUS number */ 3858#line 1111 "gram.y" 3859 { (yyval.num) = (yyvsp[0].num); } 3860#line 3861 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 3861 break; 3862 3863 case 385: /* signed_number: MINUS number */ 3864#line 1112 "gram.y" 3865 { (yyval.num) = -((yyvsp[0].num)); } 3866#line 3867 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 3867 break; 3868 3869 case 386: /* button: BUTTON number */ 3870#line 1115 "gram.y" 3871 { (yyval.num) = (yyvsp[0].num); 3872 if ((yyvsp[0].num) == 0) 3873 yyerror("bad button 0"); 3874 3875 if ((yyvsp[0].num) > MAX_BUTTONS) 3876 { 3877 (yyval.num) = 0; 3878 yyerror("button number too large"); 3879 } 3880 } 3881#line 3882 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 3882 break; 3883 3884 case 387: /* string: STRING */ 3885#line 1127 "gram.y" 3886 { char *ptr = strdup((yyvsp[0].ptr)); 3887 RemoveDQuote(ptr); 3888 (yyval.ptr) = ptr; 3889 } 3890#line 3891 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 3891 break; 3892 3893 case 388: /* number: NUMBER */ 3894#line 1133 "gram.y" 3895 { (yyval.num) = (yyvsp[0].num); } 3896#line 3897 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 3897 break; 3898 3899 3900#line 3901 "/encrypt/home/nia/git/ctwm-4.1.0/build/gram.tab.c" 3901 3902 default: break; 3903 } 3904 /* User semantic actions sometimes alter yychar, and that requires 3905 that yytoken be updated with the new translation. We take the 3906 approach of translating immediately before every use of yytoken. 3907 One alternative is translating here after every semantic action, 3908 but that translation would be missed if the semantic action invokes 3909 YYABORT, YYACCEPT, or YYERROR immediately after altering yychar or 3910 if it invokes YYBACKUP. In the case of YYABORT or YYACCEPT, an 3911 incorrect destructor might then be invoked immediately. In the 3912 case of YYERROR or YYBACKUP, subsequent parser actions might lead 3913 to an incorrect destructor call or verbose syntax error message 3914 before the lookahead is translated. */ 3915 YY_SYMBOL_PRINT ("-> $$ =", YY_CAST (yysymbol_kind_t, yyr1[yyn]), &yyval, &yyloc); 3916 3917 YYPOPSTACK (yylen); 3918 yylen = 0; 3919 3920 *++yyvsp = yyval; 3921 3922 /* Now 'shift' the result of the reduction. Determine what state 3923 that goes to, based on the state we popped back to and the rule 3924 number reduced by. */ 3925 { 3926 const int yylhs = yyr1[yyn] - YYNTOKENS; 3927 const int yyi = yypgoto[yylhs] + *yyssp; 3928 yystate = (0 <= yyi && yyi <= YYLAST && yycheck[yyi] == *yyssp 3929 ? yytable[yyi] 3930 : yydefgoto[yylhs]); 3931 } 3932 3933 goto yynewstate; 3934 3935 3936/*--------------------------------------. 3937| yyerrlab -- here on detecting error. | 3938`--------------------------------------*/ 3939yyerrlab: 3940 /* Make sure we have latest lookahead translation. See comments at 3941 user semantic actions for why this is necessary. */ 3942 yytoken = yychar == YYEMPTY ? YYSYMBOL_YYEMPTY : YYTRANSLATE (yychar); 3943 /* If not already recovering from an error, report this error. */ 3944 if (!yyerrstatus) 3945 { 3946 ++yynerrs; 3947 yyerror (YY_("syntax error")); 3948 } 3949 3950 if (yyerrstatus == 3) 3951 { 3952 /* If just tried and failed to reuse lookahead token after an 3953 error, discard it. */ 3954 3955 if (yychar <= YYEOF) 3956 { 3957 /* Return failure if at end of input. */ 3958 if (yychar == YYEOF) 3959 YYABORT; 3960 } 3961 else 3962 { 3963 yydestruct ("Error: discarding", 3964 yytoken, &yylval); 3965 yychar = YYEMPTY; 3966 } 3967 } 3968 3969 /* Else will try to reuse lookahead token after shifting the error 3970 token. */ 3971 goto yyerrlab1; 3972 3973 3974/*---------------------------------------------------. 3975| yyerrorlab -- error raised explicitly by YYERROR. | 3976`---------------------------------------------------*/ 3977yyerrorlab: 3978 /* Pacify compilers when the user code never invokes YYERROR and the 3979 label yyerrorlab therefore never appears in user code. */ 3980 if (0) 3981 YYERROR; 3982 ++yynerrs; 3983 3984 /* Do not reclaim the symbols of the rule whose action triggered 3985 this YYERROR. */ 3986 YYPOPSTACK (yylen); 3987 yylen = 0; 3988 YY_STACK_PRINT (yyss, yyssp); 3989 yystate = *yyssp; 3990 goto yyerrlab1; 3991 3992 3993/*-------------------------------------------------------------. 3994| yyerrlab1 -- common code for both syntax error and YYERROR. | 3995`-------------------------------------------------------------*/ 3996yyerrlab1: 3997 yyerrstatus = 3; /* Each real token shifted decrements this. */ 3998 3999 /* Pop stack until we find a state that shifts the error token. */ 4000 for (;;) 4001 { 4002 yyn = yypact[yystate]; 4003 if (!yypact_value_is_default (yyn)) 4004 { 4005 yyn += YYSYMBOL_YYerror; 4006 if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) 4007 { 4008 yyn = yytable[yyn]; 4009 if (0 < yyn) 4010 break; 4011 } 4012 } 4013 4014 /* Pop the current state because it cannot handle the error token. */ 4015 if (yyssp == yyss) 4016 YYABORT; 4017 4018 4019 yydestruct ("Error: popping", 4020 YY_ACCESSING_SYMBOL (yystate), yyvsp); 4021 YYPOPSTACK (1); 4022 yystate = *yyssp; 4023 YY_STACK_PRINT (yyss, yyssp); 4024 } 4025 4026 YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN 4027 *++yyvsp = yylval; 4028 YY_IGNORE_MAYBE_UNINITIALIZED_END 4029 4030 4031 /* Shift the error token. */ 4032 YY_SYMBOL_PRINT ("Shifting", YY_ACCESSING_SYMBOL (yyn), yyvsp, yylsp); 4033 4034 yystate = yyn; 4035 goto yynewstate; 4036 4037 4038/*-------------------------------------. 4039| yyacceptlab -- YYACCEPT comes here. | 4040`-------------------------------------*/ 4041yyacceptlab: 4042 yyresult = 0; 4043 goto yyreturnlab; 4044 4045 4046/*-----------------------------------. 4047| yyabortlab -- YYABORT comes here. | 4048`-----------------------------------*/ 4049yyabortlab: 4050 yyresult = 1; 4051 goto yyreturnlab; 4052 4053 4054/*-----------------------------------------------------------. 4055| yyexhaustedlab -- YYNOMEM (memory exhaustion) comes here. | 4056`-----------------------------------------------------------*/ 4057yyexhaustedlab: 4058 yyerror (YY_("memory exhausted")); 4059 yyresult = 2; 4060 goto yyreturnlab; 4061 4062 4063/*----------------------------------------------------------. 4064| yyreturnlab -- parsing is finished, clean up and return. | 4065`----------------------------------------------------------*/ 4066yyreturnlab: 4067 if (yychar != YYEMPTY) 4068 { 4069 /* Make sure we have latest lookahead translation. See comments at 4070 user semantic actions for why this is necessary. */ 4071 yytoken = YYTRANSLATE (yychar); 4072 yydestruct ("Cleanup: discarding lookahead", 4073 yytoken, &yylval); 4074 } 4075 /* Do not reclaim the symbols of the rule whose action triggered 4076 this YYABORT or YYACCEPT. */ 4077 YYPOPSTACK (yylen); 4078 YY_STACK_PRINT (yyss, yyssp); 4079 while (yyssp != yyss) 4080 { 4081 yydestruct ("Cleanup: popping", 4082 YY_ACCESSING_SYMBOL (+*yyssp), yyvsp); 4083 YYPOPSTACK (1); 4084 } 4085#ifndef yyoverflow 4086 if (yyss != yyssa) 4087 YYSTACK_FREE (yyss); 4088#endif 4089 4090 return yyresult; 4091} 4092 4093#line 1136 "gram.y" 4094 4095