#include

  name* table::look(char* p, int ins)
  {
      int ii = 0;
      char* pp = p;
      while (*pp) ii = ii<<1 ^ *pp++; if (ii < 0) ii="-ii;" ii %="size;" for (name* n="tbl[ii];" n; n="n-">next)
          if (strcmp(p,n->string) == 0) return n;

      if (ins == 0) error("имя не найдено");

      name* nn = new name;
      nn->string = new char[strlen(p)+1];
      strcpy(nn->string,p);
      nn->value = 1;
      nn->next = tbl[ii];
      tbl[ii] = nn;
      return nn;

  }