public PcalSymTab(AST ast) throws PcalSymTabException {
  symtab=new Vector();
  iPC=null;
  disambiguateReport=new Vector();
  procs=new Vector();
  processes=new Vector();
  errorReport="";
  InsertSym(GLOBAL,"pc","","",0,0);
  ExtractSym(ast,"");
  if (errorReport.length() > 0)   throw new PcalSymTabException(errorReport);
}

public PcalSymTab ( AST ast ) throws PcalSymTabException { symtab = new Vector ( ) ; iPC = null ; disambiguateReport = new Vector ( ) ; procs = new Vector ( ) ; processes = new Vector ( ) ; errorReport = "" ; InsertSym ( GLOBAL , "pc" , "" , "" , 0 , 0 ) ; ExtractSym ( ast , "" ) ; if ( errorReport . length ( ) > 0 ) throw new PcalSymTabException ( errorReport ) ; }
as should be perfectly obvious from the name , this method constructs the symbol table for the ast ast , which i presume contains all things whose name must be looked up , which includes labels , variables , and probably process and procedure names .
