pike.git / src / language.y

version» Context lines:

pike.git/src/language.y:210:      %type <number> F_ARRAY_ID F_BREAK F_CASE F_CATCH F_CONTINUE F_DEFAULT F_DO   %type <number> F_EFUN F_ELSE F_FLOAT_ID F_FOR F_FOREACH F_FUNCTION_ID F_GAUGE   %type <number> F_IF F_INHERIT F_INLINE F_INT_ID F_LAMBDA F_LIST_ID F_MAPPING_ID   %type <number> F_MIXED_ID F_NO_MASK F_OBJECT_ID F_PRIVATE F_PROGRAM_ID   %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> string expr01 expr00 comma_expr comma_expr_or_zero   %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 catch_arg + %type <n> local_name_list class catch_arg comma_expr_or_maxint   %type <n> unused2 foreach unused switch case return expr_list default   %type <n> continue break block_or_semi typeof   %%      all: program;      program: program def optional_semi_colon    | /* empty */ ;      optional_semi_colon: /* empty */
pike.git/src/language.y:237:      string_constant: low_string    | string_constant '+' low_string    {    $$=add_shared_strings($1,$3);    free_string($1);    free_string($3);    }    ;    - optional_rename_inherit: ':' F_IDENTIFIER { $$=$2 } + optional_rename_inherit: ':' F_IDENTIFIER { $$=$2; }    | { $$=0; }    ;      inheritance: modifiers F_INHERIT string_constant optional_rename_inherit ';'    {    simple_do_inherit($3,$1,$4);    };      block_or_semi: block { $$ = mknode(F_ARG_LIST,$1,mknode(F_RETURN,mkintnode(0),0)); }    | ';' { $$ = NULL;}
pike.git/src/language.y:950:    {    my_yyerror("Unknown efun: %s.",$3->str);    $$=mkintnode(0);    }else{    $$=mksvaluenode(&f->function);    }    free_string($3);    }    | expr4 '(' expr_list ')' { $$=mkapplynode($1,$3); }    | expr4 '[' expr0 ']' { $$=mknode(F_INDEX,$1,$3); } -  | expr4 '[' comma_expr F_DOT_DOT comma_expr ']' +  | expr4 '[' comma_expr_or_zero F_DOT_DOT comma_expr_or_maxint ']'    {    $$=mknode(F_RANGE,$1,mknode(F_ARG_LIST,$3,$5));    }    | '(' comma_expr ')' { $$=$2; }    | '(' '{' expr_list '}' ')'    { $$=mkefuncallnode("aggregate",$3); }    | '(' '[' m_expr_list ']' ')'    { $$=mkefuncallnode("aggregate_mapping",$3); };    | F_LIST_START expr_list F_LIST_END    { $$=mkefuncallnode("aggregate_list",$2); }
pike.git/src/language.y:1013:    if(!$$)    {    $$=mkintnode(0);    }else{    if($$->token==F_ARG_LIST) $$=mkefuncallnode("aggregate",$$);    }    free_string($2);    }    ;    + comma_expr_or_zero: /* empty */ { $$=mkintnode(0); } +  | comma_expr +  ; +  + comma_expr_or_maxint: /* empty */ { $$=mkintnode(0x7fffffff); } +  | comma_expr +  ; +    gauge: F_GAUGE '(' unused ')'    {    $$=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);    } ;