pike.git / src / language.yacc

version» Context lines:

pike.git/src/language.yacc:164:   %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.83 1998/04/18 07:21:03 hubbe Exp $"); + RCSID("$Id: language.yacc,v 1.84 1998/04/19 00:13:18 grubba 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:609:    | constant {}    | class { free_node($1); }    | error ';'    {    reset_type_stack();    yyerrok;   /* if(num_parse_error>5) YYACCEPT; */    }    | error '}'    { -  YYSTYPE foo; -  foo.number = 0; +     reset_type_stack(); -  YYBACKUP('}', foo); +  yychar = '}'; /* Put the '}' back on the input stream */    }    ;      optional_dot_dot_dot: F_DOT_DOT_DOT { $$=1; }    | /* empty */ { $$=0; }    ;      optional_identifier: F_IDENTIFIER    | bad_identifier { $$=0 }    | /* empty */ { $$=0; }
pike.git/src/language.yacc:997:    | case    | default    | return ';'    | block {}    | foreach    | break ';'    | continue ';'    | error ';' { reset_type_stack(); $$=0; yyerrok; }    | error '}'    { -  YYSTYPE foo; -  foo.number = 0; +     reset_type_stack();    yyerror("Missing ';'."); -  YYBACKUP('}', foo); +  yychar = '}'; /* Put the '}' back on the input stream. */    }    | ';' { $$=0; }    ;         break: F_BREAK { $$=mknode(F_BREAK,0,0); } ;   default: F_DEFAULT ':' { $$=mknode(F_DEFAULT,0,0); }    | F_DEFAULT    {    $$=mknode(F_DEFAULT,0,0); yyerror("Expected ':' after default.");