- From: rzeno <ruset.zeno@gmail.com>
- Date: Mon, 18 Oct 2010 18:06:53 +0300
- To: cwm bugs list <public-cwm-bugs@w3.org>
hi, n3 parser fail when a literal delimited with """ ends in " or "" as in this cases: :a :b """ some text "quoted text here"""" . or :a :b """ some text """"" . I solved the problem changing the notation3.py. The patch is for the current notation3.py from CVS and cwm 1.197 from cwm-1.2.1: --- notation3.py.orig 2010-10-18 17:40:04.000000000 +0300 +++ notation3.py 2010-10-18 18:00:23.000000000 +0300 @@ -1048,14 +1048,28 @@ ustr = u"" # Empty unicode string startline = self.lines # Remember where for error messages while j<len(str): - i = j + len(delim) - if str[j:i] == delim: # done. - return i, ustr - - if str[j] == '"': - ustr = ustr + '"' - j = j + 1 - continue + if delim == '"': # done when delim is " + i = j + 1 + return i, ustr + if delim == '"""': # done when delim is """ and ... + if str[j:j+5] == '"""""': # ... we have "" before + i = j + 5 + ustr = ustr + '""' + return i, ustr + if str[j:j+4] == '""""': # ... we have " before + i = j + 4 + ustr = ustr + '"' + return i, ustr + if str[j:j+3] == '"""': # ... current " is part of delim + i = j + 3 + ustr = ustr + '"' + return i, ustr + + # we are inside of the string and current char is " + j = j + 1 + ustr = ustr + '"' + continue + m = interesting.search(str, j) # was str[j:]. # Note for pos param to work, MUST be compiled ... re bug? assert m , "Quote expected in string at ^ in %s^%s" %(
Received on Monday, 18 October 2010 15:51:29 UTC