Интернет магазин китайских планшетных компьютеров |
|
Компьютеры - S-выражение - Стандартизация23 января 2011Оглавление: 1. S-выражение 2. Стандартизация В мае 1997 года, Рональд Ривест предложил Интернет-проект нового RFC. Проект определил синтаксис основанный на S-выражениях Лиспа, но предназначенный для хранения данных общего назначения и обмена ими по аналогии с XML, а не для программирования. Он так и не был утвержден в качестве RFC, но с тех пор цитируется и используется другими документами RFC и в ряде других изданий. Первоначально он был предназначен для использования в SPKI. Формат Ривеста определяет S-выражение как некую октет-строку или конечный список других S-выражений. Он описывает три формата обмена для выражений с этой структурой. Один из них, «advanced transport», весьма гибок в плане форматирования, и синтаксически похож на выражения Lisp-стиля, но не является идентичным. Расширенное транспортное представление, к примеру, позволяет октет-строкам быть представленными дословно, что позволяет избежать символы, шестнадцатеричного или base64 представления, октет-строка может быть размещена непосредственно в качестве «лексемы», если она отвечает определённым условиям. Лексемы Ривеста отличаются от лексем в Lisp тем, что существуют просто для удобства и эстетики, и трактуются так же, как и другие строки, а не имеют конкретный синтаксический смысл. Другой формат обмена данными, предназначенный быть более компактным, и проще анализируемым, а также уникальный для любого абстрактного S-выражения это «каноническое представление», который допускает только дословные строки и запрещает использование пробелов как элементов форматирования вне строк. Наконец, есть ещё «базовое транспортное представление», которое является либо канонической формой, либо те же элементы в кодировке Base64, окруженные скобками, причём последний служит безопасным транспортом для канонически-закодированных S-выражений в системе, которая позволяет изменять пробельные промежутки. Этот формат не был широко принят к использованию за пределами SPKI. Ривест на своей веб-странице S-выражений предоставляет исходный код на Cи синтаксического анализатора и генератора, которые, теоретически, могут быть использованы в других программы, хотя лицензирование этих программ не ясно. Тем не менее, нет никаких ограничений на независимые реализации работы с этим форматом. Свободную реализацию можно найти по адресам sexpr.sf.net и leon.bottou.org/projects/minilisp. Просмотров: 2950
|