pike.git / src / language.yacc

version» Context lines:

pike.git/src/language.yacc:294:   %type <n> expr3 expr0   %type <n> expr4   %type <n> expr_list   %type <n> expr_list2   %type <n> for   %type <n> for_expr   %type <n> foreach   %type <n> gauge   %type <n> lambda   %type <n> local_name_list + %type <n> lvalue   %type <n> lvalue_list   %type <n> m_expr_list   %type <n> m_expr_list2   %type <n> new_local_name   %type <n> optional_else_part   %type <n> return   %type <n> sscanf   %type <n> statement   %type <n> statements   %type <n> string
pike.git/src/language.yacc:1133:    ;      catch: F_CATCH catch_arg { $$=mknode(F_CATCH,$2,NULL); } ;      sscanf: F_SSCANF '(' expr0 ',' expr0 lvalue_list ')'    {    $$=mknode(F_SSCANF,mknode(F_ARG_LIST,$3,$5),$6);    }    ;    + lvalue: expr4 +  | type F_IDENTIFIER +  { +  add_local_name($2,pop_type()); +  $$=mklocalnode(islocal($2)); +  } +    lvalue_list: /* empty */ { $$ = 0; } -  | ',' expr4 lvalue_list { $$ = mknode(F_LVALUE_LIST,$2,$3); } +  | ',' lvalue lvalue_list { $$ = mknode(F_LVALUE_LIST,$2,$3); }    ;      low_string: F_STRING    | low_string F_STRING    {    $$=add_shared_strings($1,$2);    free_string($1);    free_string($2);    }    ;