![]() |
![]() ![]() ![]() ![]() ![]() |
![]() |
Escape Character ParserBoost , ,
Парсер символов побега - это утилита парсера, которая анализирует вышедшие последовательности символов, используемые в регулярных выражениях C/C++, LEX или Perl. В сочетании с парсером утилиты confix_p он полезен для разбора строк C/C++, содержащих двойные цитаты и другие вырванные символы: confix_p('"', *c_escape_ch_p, '"') Существует два различных типа парсера символов Escape: c_escape_ch_p, который анализирует C/C++ ускользающие последовательности символов и lex_escape_ch_p, который анализирует ускользающие последовательности символов в стиле LEX. Следующая таблица показывает действительные последовательности символов, понимаемые этими парсерами полезности.
Если есть семантическое действие, прикрепленное непосредственно к Персонажу Побега, все действительные сбежавшие персонажи преобразуются в их эквивалент персонажа (т.е. обратная косая черта, за которой следует «r», преобразуется в «r»), который подается прикрепленному актеру. Количество шестидесятых или восьмидесятичных цифр, парсируемых, зависит от размера одного входного символа. Перелив будет обнаружен и сгенерирует несоответствие. lex_escape_ch_p удаляет ведущую обратную реакцию для всех последовательностей символов, которые не указаны как действительные последовательности C/C++, при передаче неускользающего символа в прилагаемое действие. Обратите внимание, однако, что если к внешнему парсеру прикреплено семантическое действие (например, в (*c_escape_ch_p) [some_actor], где действие прикреплено к парсеру, генерируемому кленовой звездой), то в данный момент преобразование не происходит, но, тем не менее, ускользающие символы анализируются правильно. Это ограничение будет устранено в будущей версии библиотеки.
Copyright © 2001-2002 Daniel C. Nuffer Статья Escape Character Parser раздела может быть полезна для разработчиков на c++ и boost. Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта. :: Главная :: ::
|
|||||||||||||||||||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |