public HeadRule(String dir,String rule){
  String[] tmp=P_TAGSETS.split(rule);
  int i, size=tmp.length;
  b_r2l=dir.equals(DIR_RIGHT_TO_LEFT);
  a_tagSets=new HeadTagSet[size];
  for (i=0; i < size; i++)   a_tagSets[i]=new HeadTagSet(tmp[i]);
}

public HeadRule ( String dir , String rule ) { String [ ] tmp = P_TAGSETS . split ( rule ) ; int i , size = tmp . length ; b_r2l = dir . equals ( DIR_RIGHT_TO_LEFT ) ; a_tagSets = new HeadTagSet [ size ] ; for ( i = 0 ; i < size ; i ++ ) a_tagSets [ i ] = new HeadTagSet ( tmp [ i ] ) ; }
constructs a new headrule by decoding the specific head tagsets .
