}
private void parseStyleValue(Context ctx, Other name) throws IOException {
StyleDefinition sdef = new StyleDefinition(ctx.block.owner, name.getValue(), name.getLine());
for (Token token; (token = next(ctx)) != null;) {
if (token instanceof Other) {
new ConstantValue(sdef, ((Other)token).getValue(), token.getLine());
} else if (token instanceof Symbol) {
final char symbol = ((Symbol)token).getValue();
if (symbol == ';')
break; //done
if (symbol == '}') {
putback(token);
break; //done
}
if (",()+-*/".indexOf(symbol) < 0)
throw error("unexpected '" + symbol + '\'', token);
new ConstantValue(sdef, "" + symbol, token.getLine());
} else if (token instanceof Id) {
//handle @xx or @xxx()
if (_in.peek() == '(') { //a function invocation
putback(token);
parseExpression(ctx, new Expression(sdef, token.getLine()), EOPAREN);