docno="lists-046-12158926" name="Neil Soiffer" email="soiffer@wri.com" sent="Wed, 5 Jun 1996 19:06:49 -0700" id="199606060206.AA06946@drizzle.wri.com" subject="Re: Comments on parsing steps:" To: dsr@w3.org Cc: w3c-math-erb@w3.org >> Mathematica's parsing, which works in a manner similar to what Bruce >> describes, has no problem handling complex embellishments. >I can see value in allowing prefix and postfix operators to act as >operator embellishments, for instance to add accents to operators or >to change their relative size, or position. >If these embellishment prefix and postfix operators have a high >precedence and hence bind tightly to the adjacent operator then >I don't see any problems. Am I missing something? I think that there is a problem with prefix embellishments. The arguments are technical, so people who don't care can stop reading. When the parser encounters something like a +_2 b, it knows by the time of reading the '+' that it must have a right operand. The most reasonable "error correction" would be to have the '_' embellishe '+'. However, consider the following: &bold + 2 with '&bold' being a high-precedence prefix operator. When the parser sees the '+', it sees that it must be a prefix operator, and so will shift the '2' on. So, this expression would result in: {&bold {+ 2}} To get what you probably wanted, you would need to write {&bold +} 2 For a large number of cases, such as '&bold x + 2', the right thing would happen. It is just when you try to embellish an operator. A high-precedence postfix &bold would not have this problem. Since the details of why a prefix embellishing operator sometimes "works" right and sometimes doesn't are probably beyond most authors, I think we should avoid them. Or if we must have them, tell people to always uses braces to properly group it. Neil