pike.git / src / language.yacc

version» Context lines:

pike.git/src/language.yacc:155:   %left F_LSH F_RSH   %left '+' '-'   %left '*' '%' '/'   %right F_NOT '~'   %nonassoc F_INC F_DEC      %{   /* This is the grammar definition of Pike. */      #include "global.h" - RCSID("$Id: language.yacc,v 1.60 1998/02/24 23:01:28 hubbe Exp $"); + RCSID("$Id: language.yacc,v 1.61 1998/02/27 08:39:19 hubbe Exp $");   #ifdef HAVE_MEMORY_H   #include <memory.h>   #endif      #include "interpret.h"   #include "array.h"   #include "object.h"   #include "stralloc.h"   #include "las.h"   #include "interpret.h"
pike.git/src/language.yacc:1414:    s=describe_type( $3 && $3->type ? $3->type : mixed_type_string);    $$=mkstrnode(s);    free_string(s);    free_node(tmp);    } ;      catch_arg: '(' comma_expr ')' { $$=$2; }    | block    ;    - catch: F_CATCH catch_arg { $$=mknode(F_CATCH,$2,NULL); } ; + catch: F_CATCH +  { +  catch_level++; +  } +  catch_arg +  { +  $$=mknode(F_CATCH,$3,NULL); +  catch_level--; +  } ;      sscanf: F_SSCANF '(' expr0 ',' expr0 lvalue_list ')'    {    $$=mknode(F_SSCANF,mknode(F_ARG_LIST,$3,$5),$6);    }    ;      lvalue: expr4    | '[' low_lvalue_list ']' { $$=mknode(F_ARRAY_LVALUE, $2,0); }    | type F_IDENTIFIER