глюк колорера: эскейпы и кавычки
От: Кодт Россия  
Дата: 20.08.07 19:47
Оценка:
http://rsdn.ru/Forum/Message.aspx?mid=2628310&only=1
Автор: Кодт
Дата: 20.08.07


C, C#
text = "Hello, \"world\"!"; // строка Hello, "world"!
text = "Hello, \\\"world\\\"!"; // строка Hello, \"world\"!
//     <---------->        <-> раскрашено как строки
//                 <------> не раскрашено
... << RSDN@Home 1.2.0 alpha rev. 655>>
Перекуём баги на фичи!
Re: глюк колорера: эскейпы и кавычки
От: der Igel Россия  
Дата: 21.08.07 05:38
Оценка:
Hello, !

К> C, C#

К>
 К> text = "Hello, \"world\"!"; // строка Hello, "world"!
 К> text = "Hello, \\\"world\\\"!"; // строка Hello, \"world\"!
 К> //     <---------->        <-> раскрашено как строки
 К> //                 <------> не раскрашено
 К>


Вот кусок колорера. Исправления принимаются.
 <!-- literals -->
 <pattern name="str">
  <entry>'([^'\\]|\\['"\\0abfnrtv]|\\x[0-9aAbBcCdDeEfF]{1,4})'</entry>
  <entry><![CDATA[(?<!@)"((?<!\\)\\"|[^"])*"]]></entry>
  <entry>@"(""|[^"])*"</entry>
 </pattern>
Posted via RSDN NNTP Server 2.1 beta
Re[2]: глюк колорера: эскейпы и кавычки
От: Roman Odaisky Украина  
Дата: 21.08.07 08:02
Оценка: 20 (2)
Здравствуйте, der Igel, Вы писали:

К>> C, C#

К>>
 К>> text = "Hello, \"world\"!"; // строка Hello, "world"!
 К>> text = "Hello, \\\"world\\\"!"; // строка Hello, \"world\"!
 К>> //     <---------->        <-> раскрашено как строки
 К>> //                 <------> не раскрашено
 К>>


DI>Вот кусок колорера. Исправления принимаются.

DI>
<entry><![CDATA[(?<!@)"((?<!\\)\\"|[^"])*"]]></entry>


Можно намного проще, и правильнее:
(?<!@)"([^\\"]|\\.)*"

Исправьте, пожалуйста, заодно и C/C++: добавьте \s* после # в директивах препроцессирования. (Я уже писал
Автор: Roman Odaisky
Дата: 06.03.07
об этом.)
До последнего не верил в пирамиду Лебедева.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.