pike.git / src / language.y

version» Context lines:

pike.git/src/language.y:214:   %type <number> F_PROTECTED F_PUBLIC F_RETURN F_SSCANF F_STATIC   %type <number> F_STRING_ID F_SWITCH F_VARARGS F_VOID_ID F_WHILE      /* The following symbos return type information */      %type <n> string expr01 expr00 comma_expr   %type <n> expr2 expr1 expr3 expr0 expr4 catch lvalue_list   %type <n> lambda for_expr block assoc_pair new_local_name   %type <n> expr_list2 m_expr_list m_expr_list2 statement gauge sscanf   %type <n> for do cond optional_else_part while statements - %type <n> local_name_list class + %type <n> local_name_list class catch_arg   %type <n> unused2 foreach unused switch case return expr_list default   %type <n> continue break block_or_semi   %%      all: program;      program: program def optional_semi_colon    | /* empty */ ;      optional_semi_colon: /* empty */
pike.git/src/language.y:926:    | F_IDENTIFIER    {    int i;    struct efun *f;    if((i=islocal($1))>=0)    {    $$=mklocalnode(i);    }else if((i=isidentifier($1))>=0){    $$=mkidentifiernode(i);    }else if((f=lookup_efun($1))){ -  $$=mksvaluenode(&f->function); +  $$=mkconstantsvaluenode(&f->function);    }else{    my_yyerror("'%s' undefined.",$1->str);    $$=0;    }    free_string($1);    }    | F_EFUN F_COLON_COLON F_IDENTIFIER    {    struct efun *f;    f=lookup_efun($3);
pike.git/src/language.y:1022:    {    $$=mknode(F_NEGATE,    mknode(F_SUBTRACT,    mknode(F_INDEX,mkefuncallnode("rusage",0),    mkintnode(GAUGE_RUSAGE_INDEX)),    mknode(F_ARG_LIST,$3,    mknode(F_INDEX,mkefuncallnode("rusage",0),    mkintnode(GAUGE_RUSAGE_INDEX)))),0);    } ;    - catch: F_CATCH '(' unused ')' +  + catch_arg: '(' unused ')' { $$=$2; } +  | block +  ; +  + catch: F_CATCH catch_arg    { -  $$=mknode(F_CATCH,$3,NULL); +  $$=mknode(F_CATCH,$2,NULL);    } ;      sscanf: F_SSCANF '(' expr0 ',' expr0 lvalue_list ')'    {    $$=mknode(F_SSCANF,mknode(F_ARG_LIST,$3,$5),$6);    }         lvalue_list: /* empty */ { $$ = 0; }    | ',' expr4 lvalue_list