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

📄 rcparse.y

📁 基于4个mips核的noc设计
💻 Y
📖 第 1 页 / 共 3 页
字号:
	  }	| CONTROL optstringc numexpr cnumexpr control_styleexpr cnumexpr	    cnumexpr cnumexpr cnumexpr cnumexpr cnumexpr opt_control_data	  {	    $$ = define_control ($2, $3, $6, $7, $8, $9, $4, style, $10);	    if (dialog.ex == NULL)	      rcparse_warning (_("help ID requires DIALOGEX"));	    $$->help = $11;	    $$->data = $12;	  }	| CONTROL optstringc numexpr ',' QUOTEDSTRING control_styleexpr	    cnumexpr cnumexpr cnumexpr cnumexpr optcnumexpr opt_control_data	  {	    $$ = define_control ($2, $3, $7, $8, $9, $10, 0, style, $11);	    if ($12 != NULL)	      {		if (dialog.ex == NULL)		  rcparse_warning ("control data requires DIALOGEX");		$$->data = $12;	      }	    $$->class.named = 1;  	    unicode_from_ascii(&$$->class.u.n.length, &$$->class.u.n.name, $5);	  }	| CONTROL optstringc numexpr ',' QUOTEDSTRING control_styleexpr	    cnumexpr cnumexpr cnumexpr cnumexpr cnumexpr cnumexpr opt_control_data	  {	    $$ = define_control ($2, $3, $7, $8, $9, $10, 0, style, $11);	    if (dialog.ex == NULL)	      rcparse_warning ("help ID requires DIALOGEX");	    $$->help = $12;	    $$->data = $13;	    $$->class.named = 1;  	    unicode_from_ascii(&$$->class.u.n.length, &$$->class.u.n.name, $5);	  }	| CTEXT	    {	      default_style = SS_CENTER | WS_GROUP;	      base_style = SS_CENTER;	      class = CTL_STATIC;	    }	    control_params	  {	    $$ = $3;	  }	| DEFPUSHBUTTON	    {	      default_style = BS_DEFPUSHBUTTON | WS_TABSTOP;	      base_style = BS_DEFPUSHBUTTON | WS_TABSTOP;	      class = CTL_BUTTON;	    }	    control_params	  {	    $$ = $3;	  }	| EDITTEXT	    {	      default_style = ES_LEFT | WS_BORDER | WS_TABSTOP;	      base_style = ES_LEFT | WS_BORDER | WS_TABSTOP;	      class = CTL_EDIT;	    }	    control_params	  {	    $$ = $3;	  }	| GROUPBOX	    {	      default_style = BS_GROUPBOX;	      base_style = BS_GROUPBOX;	      class = CTL_BUTTON;	    }	    control_params	  {	    $$ = $3;	  }	| HEDIT	    {	      default_style = ES_LEFT | WS_BORDER | WS_TABSTOP;	      base_style = ES_LEFT | WS_BORDER | WS_TABSTOP;	      class = CTL_EDIT;	    }	    control_params	  {	    $$ = $3;	    if (dialog.ex == NULL)	      rcparse_warning (_("IEDIT requires DIALOGEX"));	    res_string_to_id (&$$->class, "HEDIT");	  }	| ICON resref numexpr cnumexpr cnumexpr opt_control_data          {	    $$ = define_icon_control ($2, $3, $4, $5, 0, 0, 0, $6,				      dialog.ex);          }	| ICON resref numexpr cnumexpr cnumexpr cnumexpr cnumexpr	    opt_control_data          {	    $$ = define_icon_control ($2, $3, $4, $5, 0, 0, 0, $8,				      dialog.ex);          }	| ICON resref numexpr cnumexpr cnumexpr cnumexpr cnumexpr	    icon_styleexpr optcnumexpr opt_control_data          {	    $$ = define_icon_control ($2, $3, $4, $5, style, $9, 0, $10,				      dialog.ex);          }	| ICON resref numexpr cnumexpr cnumexpr cnumexpr cnumexpr	    icon_styleexpr cnumexpr cnumexpr opt_control_data          {	    $$ = define_icon_control ($2, $3, $4, $5, style, $9, $10, $11,				      dialog.ex);          }	| IEDIT	    {	      default_style = ES_LEFT | WS_BORDER | WS_TABSTOP;	      base_style = ES_LEFT | WS_BORDER | WS_TABSTOP;	      class = CTL_EDIT;	    }	    control_params	  {	    $$ = $3;	    if (dialog.ex == NULL)	      rcparse_warning (_("IEDIT requires DIALOGEX"));	    res_string_to_id (&$$->class, "IEDIT");	  }	| LISTBOX	    {	      default_style = LBS_NOTIFY | WS_BORDER;	      base_style = LBS_NOTIFY | WS_BORDER;	      class = CTL_LISTBOX;	    }	    control_params	  {	    $$ = $3;	  }	| LTEXT	    {	      default_style = SS_LEFT | WS_GROUP;	      base_style = SS_LEFT;	      class = CTL_STATIC;	    }	    control_params	  {	    $$ = $3;	  }	| PUSHBOX	    {	      default_style = BS_PUSHBOX | WS_TABSTOP;	      base_style = BS_PUSHBOX;	      class = CTL_BUTTON;	    }	    control_params	  {	    $$ = $3;	  }	| PUSHBUTTON	    {	      default_style = BS_PUSHBUTTON | WS_TABSTOP;	      base_style = BS_PUSHBUTTON | WS_TABSTOP;	      class = CTL_BUTTON;	    }	    control_params	  {	    $$ = $3;	  }	| RADIOBUTTON	    {	      default_style = BS_RADIOBUTTON | WS_TABSTOP;	      base_style = BS_RADIOBUTTON;	      class = CTL_BUTTON;	    }	    control_params	  {	    $$ = $3;	  }	| RTEXT	    {	      default_style = SS_RIGHT | WS_GROUP;	      base_style = SS_RIGHT;	      class = CTL_STATIC;	    }	    control_params	  {	    $$ = $3;	  }	| SCROLLBAR	    {	      default_style = SBS_HORZ;	      base_style = 0;	      class = CTL_SCROLLBAR;	    }	    control_params	  {	    $$ = $3;	  }	| STATE3	    {	      default_style = BS_3STATE | WS_TABSTOP;	      base_style = BS_3STATE;	      class = CTL_BUTTON;	    }	    control_params	  {	    $$ = $3;	  }	| USERBUTTON QUOTEDSTRING ',' numexpr ',' numexpr ',' numexpr ','	    numexpr ',' numexpr ',' 	    { style = WS_CHILD | WS_VISIBLE; }	    styleexpr optcnumexpr	  {	    $$ = define_control ($2, $4, $6, $8, $10, $12, CTL_BUTTON,				 style, $16);	  }	;/* Parameters for a control.  The static variables DEFAULT_STYLE,   BASE_STYLE, and CLASS must be initialized before this nonterminal   is used.  DEFAULT_STYLE is the style to use if no style expression   is specified.  BASE_STYLE is the base style to use if a style   expression is specified; the style expression modifies the base   style.  CLASS is the class of the control.  */control_params:	  optstringc numexpr cnumexpr cnumexpr cnumexpr cnumexpr	    opt_control_data	  {	    $$ = define_control ($1, $2, $3, $4, $5, $6, class,				 default_style | WS_CHILD | WS_VISIBLE, 0);	    if ($7 != NULL)	      {		if (dialog.ex == NULL)		  rcparse_warning (_("control data requires DIALOGEX"));		$$->data = $7;	      }	  }	| optstringc numexpr cnumexpr cnumexpr cnumexpr cnumexpr	    control_params_styleexpr optcnumexpr opt_control_data	  {	    $$ = define_control ($1, $2, $3, $4, $5, $6, class, style, $8);	    if ($9 != NULL)	      {		if (dialog.ex == NULL)		  rcparse_warning (_("control data requires DIALOGEX"));		$$->data = $9;	      }	  }	| optstringc numexpr cnumexpr cnumexpr cnumexpr cnumexpr	    control_params_styleexpr cnumexpr cnumexpr opt_control_data	  {	    $$ = define_control ($1, $2, $3, $4, $5, $6, class, style, $8);	    if (dialog.ex == NULL)	      rcparse_warning (_("help ID requires DIALOGEX"));	    $$->help = $9;	    $$->data = $10;	  }	;optstringc:	  /* empty */	  {	    $$ = NULL;	  }	| QUOTEDSTRING	  {	    $$ = $1;	  }	| QUOTEDSTRING ','	  {	    $$ = $1;	  }	;opt_control_data:	  /* empty */	  {	    $$ = NULL;	  }	| BEG optrcdata_data END	  {	    $$ = $2.first;	  }	;/* These only exist to parse a reduction out of a common case.  */control_styleexpr:	  ','	  { style = WS_CHILD | WS_VISIBLE; }	  styleexpr	;icon_styleexpr:	  ','	  { style = SS_ICON | WS_CHILD | WS_VISIBLE; }	  styleexpr	;control_params_styleexpr:	  ','	  { style = base_style | WS_CHILD | WS_VISIBLE; }	  styleexpr	;/* Font resources.  */font:	  id FONT memflags_move_discard file_name	  {	    define_font ($1, &$3, $4);	  }	;/* Icon resources.  */icon:	  id ICON memflags_move_discard file_name	  {	    define_icon ($1, &$3, $4);	  }	;/* Language command.  This changes the static variable language, which   affects all subsequent resources.  */language:	  LANGUAGE numexpr cnumexpr	  {	    language = $2 | ($3 << 8);	  }	;/* Menu resources.  */menu:	  id MENU suboptions BEG menuitems END	  {	    define_menu ($1, &$3, $5);	  }	;menuitems:	  /* empty */	  {	    $$ = NULL;	  }	| menuitems menuitem	  {	    if ($1 == NULL)	      $$ = $2;	    else	      {		struct menuitem **pp;		for (pp = &$1->next; *pp != NULL; pp = &(*pp)->next)		  ;		*pp = $2;		$$ = $1;	      }	  }	;menuitem:	  MENUITEM QUOTEDSTRING cnumexpr menuitem_flags	  {	    $$ = define_menuitem ($2, $3, $4, 0, 0, NULL);	  }	| MENUITEM SEPARATOR	  {	    $$ = define_menuitem (NULL, 0, 0, 0, 0, NULL);	  }	| POPUP QUOTEDSTRING menuitem_flags BEG menuitems END	  {	    $$ = define_menuitem ($2, 0, $3, 0, 0, $5);	  }	;menuitem_flags:	  /* empty */	  {	    $$ = 0;	  }	| menuitem_flags ',' menuitem_flag	  {	    $$ = $1 | $3;	  }	| menuitem_flags menuitem_flag	  {	    $$ = $1 | $2;	  }	;menuitem_flag:	  CHECKED	  {	    $$ = MENUITEM_CHECKED;	  }	| GRAYED	  {	    $$ = MENUITEM_GRAYED;	  }	| HELP	  {	    $$ = MENUITEM_HELP;	  }	| INACTIVE	  {	    $$ = MENUITEM_INACTIVE;	  }	| MENUBARBREAK	  {	    $$ = MENUITEM_MENUBARBREAK;	  }	| MENUBREAK	  {	    $$ = MENUITEM_MENUBREAK;	  }	;/* Menuex resources.  */menuex:	  id MENUEX suboptions BEG menuexitems END	  {	    define_menu ($1, &$3, $5);	  }	;menuexitems:	  /* empty */	  {	    $$ = NULL;	  }	| menuexitems menuexitem	  {	    if ($1 == NULL)	      $$ = $2;	    else	      {		struct menuitem **pp;		for (pp = &$1->next; *pp != NULL; pp = &(*pp)->next)		  ;		*pp = $2;		$$ = $1;	      }	  }	;menuexitem:	  MENUITEM QUOTEDSTRING	  {	    $$ = define_menuitem ($2, 0, 0, 0, 0, NULL);	  }	| MENUITEM QUOTEDSTRING cnumexpr	  {	    $$ = define_menuitem ($2, $3, 0, 0, 0, NULL);	  }	| MENUITEM QUOTEDSTRING cnumexpr cnumexpr optcnumexpr	  {	    $$ = define_menuitem ($2, $3, $4, $5, 0, NULL);	  } 	| MENUITEM SEPARATOR 	  { 	    $$ = define_menuitem (NULL, 0, 0, 0, 0, NULL); 	  }	| POPUP QUOTEDSTRING BEG menuexitems END	  {	    $$ = define_menuitem ($2, 0, 0, 0, 0, $4);	  }	| POPUP QUOTEDSTRING cnumexpr BEG menuexitems END	  {	    $$ = define_menuitem ($2, $3, 0, 0, 0, $5);	  }	| POPUP QUOTEDSTRING cnumexpr cnumexpr BEG menuexitems END	  {	    $$ = define_menuitem ($2, $3, $4, 0, 0, $6);	  }	| POPUP QUOTEDSTRING cnumexpr cnumexpr cnumexpr optcnumexpr	    BEG menuexitems END	  {	    $$ = define_menuitem ($2, $3, $4, $5, $6, $8);	  }	;/* Messagetable resources.  */messagetable:	  id MESSAGETABLE memflags_move file_name	  {	    define_messagetable ($1, &$3, $4);	  }	;/* Rcdata resources.  */rcdata:	  id RCDATA suboptions BEG optrcdata_data END	  {	    define_rcdata ($1, &$3, $5.first);	  }	;/* We use a different lexing algorithm, because rcdata strings may   contain embedded null bytes, and we need to know the length to use.  */optrcdata_data:	  {	    rcparse_rcdata ();	  }	  optrcdata_data_int	  {	    rcparse_normal ();	    $$ = $2;	  }	;optrcdata_data_int:	  /* empty */	  {	    $$.first = NULL;	    $$.last = NULL;	  }	| rcdata_data	  {	    $$ = $1;	  }	;rcdata_data:	  SIZEDSTRING	  {	    struct rcdata_item *ri;	    ri = define_rcdata_string ($1.s, $1.length);	    $$.first = ri;	    $$.last = ri;	  }	| sizednumexpr	  {	    struct rcdata_item *ri;	    ri = define_rcdata_number ($1.val, $1.dword);	    $$.first = ri;	    $$.last = ri;	  }	| rcdata_data ',' SIZEDSTRING	  {	    struct rcdata_item *ri;	    ri = define_rcdata_string ($3.s, $3.length);	    $$.first = $1.first;	    $1.last->next = ri;	    $$.last = ri;

⌨️ 快捷键说明

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