Branch: Tag:

1997-01-27

1997-01-27 01:19:01 by Fredrik Hübinette (Hubbe) <hubbe@hubbe.net>

constants are now in an automaticallu used module

Rev: src/language.yacc:1.19
Rev: src/las.c:1.14

156:   /* This is the grammar definition of Pike. */      #include "global.h" - RCSID("$Id: language.yacc,v 1.18 1997/01/19 09:08:00 hubbe Exp $"); + RCSID("$Id: language.yacc,v 1.19 1997/01/27 01:18:01 hubbe Exp $");   #ifdef HAVE_MEMORY_H   #include <memory.h>   #endif
391:    resolv_constant($3);    free_node($3);    use_module(sp-1); -  sp--; +  pop_stack();    }    ;   
1153:    }else if(find_module_identifier($1)){    $$=mkconstantsvaluenode(sp-1);    pop_stack(); -  }else if((f=lookup_efun($1))){ -  $$=mkconstantsvaluenode(&f->function); +     }else{    $$=0;    if( get_master() )
1184:    }    | F_PREDEF F_COLON_COLON F_IDENTIFIER    { -  struct efun *f; -  f=lookup_efun($3); -  if(!f) -  { -  my_yyerror("Unknown efun: %s.",$3->str); -  $$=mkintnode(0); -  }else{ -  $$=mksvaluenode(&f->function); -  } +  struct svalue tmp; +  node *tmp2; +  tmp.type=T_MAPPING; +  tmp.u.mapping=get_builtin_constants(); +  tmp2=mkconstantsvaluenode(&tmp); +  $$=index_node(tmp2, $3); +  free_node(tmp2);    free_string($3);    }    | F_IDENTIFIER F_COLON_COLON F_IDENTIFIER