union.y

来自「compiler」· Y 代码 · 共 30 行

Y
30
字号
/*@A (C) 1992 Allen I. Holub                                                */
%union {
   int   op_type;
   char  *var_name;
}

%term  DIVOP					/*  / or %  */
%type <var_name> e statement
%type <op_type>  divop

%%
goal      : statement
          ;

statement : e divop e
 	    {
		if( $2 == '/' )
		    gen( "%s /= %s;", $1, $3 )
		else
		    gen( "%s %= %s;", $1, $3 )

		free_name( $3 );
		$$ = $1
 	    }
 	  ;
divop     : DIVOP  { $$ = *yytext; }
          ;
%%

⌨️ 快捷键说明

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