The parser should look ahead three lexemes to decide whether it is an attribute or not.
Actually 4 lexemes are needed, example:
x = {...} < weak noshrink >
x = {...} < weak noshrink ()
But 3 lexemes are enough if each attribute has its own angle brackets:
{...} <weak> <noshrink> <size 1000,2000>