eao197 on the Web
Сайт Евгения Охотникова
[ Главная | Проекты | Описания | Об авторе ]

В поисках лучшего языка / Тестовые программы / decode_7bit_bodies

В поисках лучшего языка
Почему я ищу новый язык?
Что не так с C++?
Что хочется найти?
Прощай C++?
Связано ли это с SObjectizer?
Языки
Тестовые программы
chameneos
decode_7bit_bodies

Реализации

D 1.0 + Tango -- решение на языке D 1.0 с использованием Tango 0.99RC3, протестированное с помощью DMD v.1.018 под Windows. В отличии от Eiffel-решения в D варианте смешаны процедурный и объектный подходы.

Eiffel -- решение на языке Eiffel, протестированное с помощью EiffelStudio 6.0.6 (GPL-Windows версия). Содержимое всех исходных файлов собрано в один листинг, начало каждого из файлов в нем помечено специальными комментариями-маркерами.

Nice -- решение на языке Nice, протестированное с помощью Nice 0.9.13 и Java 1.6.0_02 под Windows. Реализация на языке Nice является практически калькой с решения на языке D, так как оба эти языка позволяют программировать практически в одном и том же стиле.

Условие

На стандартный поток ввода программы подается последовательность строк log-а SMS-шлюза. Половина строк содержат описания коротких сообщений, вторая половина содержит разделители вида '--'. Каждое описание помещается в одну строку. Длина строк не ограничена (в разумных пределах).

Тело короткого сообщения хранится в ascii представлении, похожем на формат описания строковых литералов языка C. Но с двойными escape-последовательностями. Т.е. символ с кодом 0x14 будет представлен последовательностью \\x14 (т.е. обратный слеш защищается escape-последовательностью). В некоторых описаниях тело сообщения представлено как последовательность шестнадцатиричных значений (например, 6 1 3 71 2 1).

Требуется извлечь тело сообщения (распознав формат, в котором оно представлено) и проверить его корректность по нескольким критериям. Если сообщение не корректно, то на стандартный поток вывода нужно отобразить причину некорректности. Так же нужно указать в какое время было получено сообщение, с какого номера оно было отправлено и на какой поступило.

Если программа запущена с аргументом --show-good, то на стандартный поток вывода нужно так же помещать описания нормальных сообщений, но уже без дополнительной информации.

© 2007 Е.А. Охотников
LastChangedDate: 2008-02-03 13:03:05
e-mail

К сожалению я не силен в грамматике, поэтому если вы увидели здесь какие-либо орфографические или синтаксические ошибки, то не сочтите за труд -- сообщите мне. Ваша помощь поможет мне сделать этот текст гораздо лучше.

Hosted by uCoz