On 7/19/2011 2:12 PM, Xah Lee wrote:

Also, you may have answered this earlier but I'll ask again anyways: You
ask for the first mismatched pair, Are you referring to the inner most
mismatched, or the outermost?  For example, suppose you have this file:

foo[(])bar

Would the "(" be the first mismatched character or would the "]"?

yes i haven't been precise. Thanks for brining it up.

thinking about it now, i think it's a bit hard to define precisely.

Then it is hard to code precisely.

My elisp code actually reports the “)”, so it's wrong too. LOL

This sort of exercise should start with a series of test cases, starting with the simplest.

testpairs = (
  ('', True),  # or whatever you want the OK response to be
  ('a', True),
  ('abdsdfdsdff', True),

  ('()', True),  # and so on for each pair of fences
  ('(', False),  # or exact error output wanted
  (')', False),  # and so on

The above could be generated programatically from the set of pairs that should be the input to the program, so that the pairs are not hardcoded into the logic.

   '([)]', ???),
...
  )

--
Terry Jan Reedy


--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to