}
return new CssTree.ProgId(pos(start), Name.css(sb.toString()), attrs);
}
private CssTree.ProgIdAttribute parseProgIdAttribute() throws ParseException {
Mark attrStart = tq.mark();
String name = expectIdent();
if (name == null) { return null; }
if (!tq.checkToken("=")) { return null; }
Mark valueStart = tq.mark();
CssTree.UnaryOperator op = parseUnaryOperator();
if (tq.isEmpty()) { return null; }
Token<CssTokenType> t = tq.peek();
CssTree.CssLiteral lit = null;
if (t.type == CssTokenType.HASH) {