ab.Find(name);
      obj1.link = obj;
      obj = obj1;
      n++;
    }
    Expect(colonSym);
    typ = Type();
    adr = adr + n * typ.size;
    a = adr;
    while (obj != null) {
      a =- typ.size;
      obj.adr = a;
      obj = obj.link;
    }
    Expect(semicolonSym);
    return adr;
  }
</PRE>

<P>In this code can also be seen the statements that interact with the
generated scanner, whose responsibility it will be to read the input file and
return a stream of tokens to the parser.</P>

<A NAME="InpL