Оглавление
S-выражение
-
Определение и использование S-выражений
- S-выражения – это язык программирования, используемый для представления данных и программ в Лиспе.
- Они состоят из списков, символов, строк, чисел и других типов данных, с префиксной нотацией для аргументов функций.
- S-выражения широко используются в Лиспе для представления исходного кода и данных, а также в других языках программирования и коммуникационных протоколах.
-
Синтаксис и типы данных
- Существуют различные варианты S-выражений, поддерживающие множество синтаксисов для различных типов данных.
- Примеры включают списки, символы, строки, целые числа и числа с плавающей запятой.
- Символ # часто используется для расширения синтаксиса, например, для шестнадцатеричных чисел или символов.
-
Поддержка Юникода и рекурсия
- Поддержка Юникода в S-выражениях различается в разных языках.
- Рекурсия в S-выражениях традиционно реализуется с использованием ячеек cons.
-
Применение в Лиспе
- В Лиспе S-выражения используются для представления исходного кода и данных с использованием префиксной нотации.
- Лисп является гомоиконическим языком, где программы также представлены в виде структуры данных.
-
Разбор и стандартизация
- S-выражения часто сравнивают с XML, но они имеют только одну форму хранения.
- Стандарты для языков программирования, производных от Лиспа, включают спецификацию их синтаксиса S-выражений.
- Интернет-проект для стандартизации S-выражений не был одобрен, но цитировался и использовался в других RFC.
-
Сравнение с другими форматами
- S-выражения отличаются от XML тем, что они имеют только одну форму хранения и не определяют ссылочный механизм.
- Для сложных случаев использования в XML есть язык запросов XPath и множество инструментов.
-
Примеры и ресурсы
- В статье приведены примеры S-выражений и ссылки на ресурсы, включая библиотеки и реализации на разных языках.
Полный текст статьи: