const Value* numberUnitParser(StringTokenizer& st)
numberUnitParser(StringTokenizer& st)
const Value* numberUnitParser(StringTokenizer& st){  float n;  unsigned mark = st.GetMark();  const Value* res = NULL;  st.SkipSpaces();  if (!st.MoreTokens()) return NULL;  if (st.ParseNumber(&n)) {    const Value* unit = unitPercentageParser(st);    if (unit != NULL) {      UnitId unitId = ToUnitId(unit);      delete unit;      if (unitId == UNIT_PERCENTAGE) res = new Value(n / 100, UNIT_PERCENTAGE);      else res = new Value(n, unitId);    } else if (n == 0.0) res = new Value(0.0, UNIT_ZERO);    else st.SetMark(mark);  } else st.SetMark(mark);  return res;}