public void recordVariable(String typeDesc,String varName,int varNo,SymbolTable tbl) throws CompileError {
  char c;
  int dim=0;
  while ((c=typeDesc.charAt(dim)) == '[')   ++dim;
  int type=MemberResolver.descToType(c);
  String cname=null;
  if (type == CLASS) {
    if (dim == 0)     cname=typeDesc.substring(1,typeDesc.length() - 1);
 else     cname=typeDesc.substring(dim + 1,typeDesc.length() - 1);
  }
  Declarator decl=new Declarator(type,cname,dim,varNo,new Symbol(varName));
  tbl.append(varName,decl);
}

public void recordVariable ( String typeDesc , String varName , int varNo , SymbolTable tbl ) throws CompileError { char c ; int dim = 0 ; while ( ( c = typeDesc . charAt ( dim ) ) == '[' ) ++ dim ; int type = MemberResolver . descToType ( c ) ; String cname = null ; if ( type == CLASS ) { if ( dim == 0 ) cname = typeDesc . substring ( 1 , typeDesc . length ( ) - 1 ) ; else cname = typeDesc . substring ( dim + 1 , typeDesc . length ( ) - 1 ) ; } Declarator decl = new Declarator ( type , cname , dim , varNo , new Symbol ( varName ) ) ; tbl . append ( varName , decl ) ; }
makes the given variable name available .
