In computer programming, S-expressions (or symbolic expressions) are a notation for nested list (tree-structured) data, invented for and popularized by the programming language Lisp, which uses them for source code as well as data. In the usual parenthesized syntax of Lisp, an S-expression is classically defined as 1. * an atom, or 2. * an expression of the form (x . y) where x and y are S-expressions. (x y z) stands for (x . (y . (z . NIL)))

Property Value
dbo:abstract
  • S-výraz, rozepsaně symbolický výraz, angl. s-expression, je ve výpočtové technice, nověji programování, zápis (notace) pro vnořené seznamy (zahrnujíc i stromově ), který byl vynalezen, zaveden a zpopularizován programovacím jazykem Lisp. V něm a později ve Scheme se používá pro zápis zdrojového kódu i dat. V tomto článku byl použit překlad textu z článku S-expression na anglické Wikipedii. (cs)
  • In computer programming, S-expressions (or symbolic expressions) are a notation for nested list (tree-structured) data, invented for and popularized by the programming language Lisp, which uses them for source code as well as data. In the usual parenthesized syntax of Lisp, an S-expression is classically defined as 1. * an atom, or 2. * an expression of the form (<i>x</i> . <i>y</i>) where x and y are S-expressions. The second, recursive part of the definition represents an ordered pair, which means that S-expressions can represent any binary tree, though S-expressions which contain cycles cannot conversely be represented as binary trees. The definition of an atom varies per context; in the original definition by John McCarthy, it was assumed that there existed "an infinite set of distinguishable atomic symbols" represented as "strings of capital Latin letters and digits with single embedded blanks" (i.e., character string and numeric literals). Most modern sexpr notations in addition use an abbreviated notation to represent lists in S-expressions, so that (<i>x</i> <i>y</i> <i>z</i>) stands for (<i>x</i> . (<i>y</i> . (<i>z</i> . NIL))) where NIL is the special end-of-list object (alternatively written (), which is the only representation in Scheme). In the Lisp family of programming languages, S-expressions are used to represent both source code and data. Other uses of S-expressions are in Lisp-derived languages such as DSSSL, and as mark-up in communications protocols like IMAP and John McCarthy's CBCL. It's also used as text representation of WebAssembly. The details of the syntax and supported data types vary in the different languages, but the most common feature among these languages is the use of S-expressions and prefix notation. (en)
  • Una expresión-S, S-expresión o sexp (de Expresión Simbólica) es una notación en forma de texto, para representar una estructura de datos de árbol, basada en listas anidadas, en donde cada sublista es un subárbol. Las S-expresiones son, probablemente, mejor conocidas por su uso en la familia de lenguajes de programación Lisp. Su representación textual habitual son secuencias de cadenas de caracteres, delimitadas por paréntesis, y separadas por espacios, como en (= 4 (+ 2 2)), que representa la expresión lógica escrita en C y en otros lenguajes relacionados, 4==2+2. En notación polaca o prefija (la cual Lisp usa), el primer elemento de una S-expresión es un operador (un primitivo) y el resto de elementos, los operandos (los datos). Debido a la estrecha relación entre las expresiones-S y su representación textual, el término es usado informalmente también para referirse a su escritura. Otros usos de las expresiones-S en los lenguajes de programación derivados de Lisp, como DSSSL, y como base para protocolos como IMAP y el de John McCarthy. Sin embargo, los detalles de la sintaxis y los tipos de datos soportados varían entre los diferentes lenguajes. Actualmente, en Lisp, las expresiones-S son usadas tanto para almacenar el código fuente y los datos (ver McCarthy Recursive Functions of Symbolic Expressions). Sin embargo originalmente sólo fueron concebidas para datos que serían manipulados por expresiones-M, pero la primera implementación de Lisp fue un intérprete de una codificación de expresiones-M usando expresiones-S, y los programadores Lisp pronto prefirieron usar expresiones-S tanto para el código como para los datos. (es)
  • Une S-expression (ou expression symbolique) est une convention pour la représentation de données ou d'expressions d'un programme sous forme textuelle. Les S-expressions sont utilisées dans la famille de langages Lisp, incluant Scheme et (en), ainsi que comme métalangage dans des protocoles de communication tels IMAP ou le langage (Common Business Communication Language) de John McCarthy. Les détails de la syntaxe et les types de données supportés diffèrent en fonction du langage, mais la propriété la plus commune est l'utilisation de la notation préfixée parenthésée (affectueusement connue sous le nom de Notation polonaise de Cambridge). (fr)
  • Con il termine S-expression o sexp (dove S sta per simbolico) ci si riferisce, in informatica ad una convenzione per la rappresentazione di dati semi-strutturati in forma testuale. Le S-expression sono principalmente conosciute per il loro impiego nella famiglia di linguaggi di programmazione lisp (Common Lisp, Scheme, ecc). Altri usi di S-expression si trovano nei linguaggi derivati dal Lisp come il e come mark-up in protocolli di comunicazione come l'IMAP ed il , sviluppato da John McCarthy. I dettagli della sintassi e dei dati supportati variano nei differenti linguaggi, ma la caratteristica comune a tutti sta nell'uso delle S-expression come notazione prefissa (prefix notation) racchiusa tra parentesi (conosciuta anche come Cambridge Polish notation). Le S-expression sono utilizzate sia per il codice che per i dati. Inizialmente venivano impiegate solo come rappresentazione interna alla macchina delle , più leggibili da parte dell'uomo. Tuttavia i programmatori Lisp iniziarono presto ad utilizzare le S-expression come notazione di default. Le S-expression possono sia essere singoli oggetti come numeri, atomi LISP inclusi gli atomi speciali nil e t, o coppie cons, scritte come (x . y). Liste più lunghe vengono create nidificando coppie cons, per esempio(1 . (2 . (3 . nil))) che può venire anche scritto in maniera più intelligibile come (list 1 2 3). Il codice di un programma può essere scritto sotto forma di S-expression, utilizzando la notazione prefissa. La stesura di programmi Lisp viene resa più semplice da una serie di facilitazioni della sintassi, che permettono di scrivere S-expression di uso comune con una sintassi equivalente ma abbreviata. Per esempio, l'espressione di uso comune (quote x) può essere abbreviata in 'x. Esempio in Common Lisp: (defun fattoriale (x) (if (zerop x) 1 (* x (fattoriale (- x 1))))) Esempio in Scheme: (define (fattoriale x) (if (zero? x) 1 (* x (fattoriale (- x 1))))) (it)
  • S式(エスしき、英: S-expression)とは、Lispで導入され、主にLispで用いられる、2分木ないしリスト構造の形式的な記述方式。SはSymbolに由来。 形式的には、S式は次のように定義される。 1. * シンボル(および、その他のアトムやデータオブジェクトのリテラル)はS式である 2. * (アトムの一種とする流儀もあるが) 空リストあるいはnilを表現する () もS式である 3. * (??? . ???) のように、S式をドットで区切り、丸カッコでくくったペアもS式である(2分木) 4. * 連結リストの形をした (??? . (???)) を (??? ???) のように、また (??? . ()) を (???) のように、省略した記法もS式である(リスト) 5. * その他の略記法。たとえば (quote foo) を 'foo など S式は、Lispにおけるリスト構造を直接表現するものとしてジョン・マッカーシーによって考案された。S式は表記に大量の括弧を使用するが、コードとデータを均質に記述し扱うのに便利で、また構造の解析が容易でマクロへの応用も幅広い。連結リストのみを表現するJSONのようなもの、とも言える。LispとS式は密接に結びついており、両者を分離しようとする試みもいくつかあったが、その元祖と言えるM式をはじめとしていずれも大きな成功と言うに至ったものはない。 (ja)
  • S-표현식, S-expression 또는 sexp라는 용어는 (S는 Symbolic을 의미) 구조적인 데이터를 사람이 읽을 수 있는 텍스트 형태로 나타내는 방법을 가리킨다. S-표현식은 대체로 리스프 어족의 프로그래밍 언어에서 사용되는 것으로 잘 알려져 있다. 또한 리스프에서 파생된 언어인 , IMAP와 같은 통신 프로토콜에서의 마크업, 그리고 존 매카시의 에서도 S-표현식이 사용되고 있다. 상세한 문법과 제공되는 자료형은 언어들에 따라서 다르지만 가장 일반적인 특징은 괄호로 둘러싸인 prefix 표기법이다 (폴란드 표기법이라고도 부름). S-표현식은 리스프에서 코드와 데이터 모두를 표현하는 데 사용된다(리스프 참조). S-표현식은 으로 다루어지던 데이터를 위한 것이었지만 최초의 리스프 구현은 S-표현식으로 인코딩된 M-표현식의 인터프리터였고 리스프 프로그래머들은 곧 코드와 데이터 양쪽에서 S-표현식을 사용하는 것에 익숙해졌다. S-표현식은 수, 또는 특별한 아톰 nil와 t를 포함하는 , 또는 (x . y)로 쓰는 과 같은 단일 객체가 될 수 있다. 더 긴 리스트는 중첩된 cons 쌍으로 만들어진다. 예를 들어 (1 . (2 . (3 . nil)))는 (1 2 3)로 편리하게 표시한다. 프로그램 코드는 prefix 표기법을 이용해서 S-표현식으로 나타낼 수 있다. 리스프 프로그램을 작성하기 위해 흔히 사용하는 syntactic sugar로 (quote x)를 'x로 축약해 나타내는 것이 있다. (ko)
  • S-wyrażenie (ang. S-expression skrót od symbolic expression) – to notacja, służąca do zapisu struktury list oraz drzew pod postacią tekstu. Wykorzystywana w językach rodziny Lisp oraz do zapisu tekstowego WebAssembly. (pl)
  • Термин S-выражение или sexp (сокращение от «Symbolic expression» — англ. символическое выражение) относится к соглашению о способе записи в доступной для человеческого понимания текстовой форме. Символические выражения создаются, в основном, из символов и списков. S-выражения наиболее известны благодаря их использованию в языках программирования семейства Лисп. Также S-выражения применяют в языках-наследниках Лиспа, таких как DSSSL, и в разметке коммуникационных протоколов вроде IMAP и Джона Маккарти. Детали синтаксиса и поддерживаемых типов данных отличаются в различных языках, но общая особенность — использование S-выражений как префиксной нотации с использованием скобок (известных как кембриджская польская нотация) . S-выражения используются в Лиспе как для кода, так и для данных (см. Маккарти «Рекурсивные функции символических выражений»). S-выражения были первоначально предназначены только для представления данных, которыми должны были манипулировать M-выражения, но первая реализация Лиспа была интерпретатором S-выражений, в которые планировалось переводить М-выражения, и программисты Lisp вскоре привыкли к использованию S-выражений как для данных, так и для кода. S-выражения могут быть как отдельными объектами (атомами), такими как числа, , включая специальные символы nil и t, или , в виде (x . y). Более длинные списки, состоящие из вложенных точечных пар, например (1 . (2 . (3 . nil))), можно написать более привычным способом, как (1 2 3). Вложенные списки также могут быть записаны в виде S-выражений: ((молоко сок) (мёд мармелад)). S-выражения не зависят от пробелов и разрывов строк, пробелы используются только в качестве разграничителей между атомами. Пример: простая грамматика в виде S-выражения: (((S) (NP) (VP)) ((VP) (V)) ((VP) (V) (NP)) ((V) died) ((V) employed) ((NP) nurses) ((NP) patients) ((NP) Medicenter) ((NP) Dr Chan)) Программный код также может быть записан в виде S-выражения (обычно с использованием префиксной нотации). Небольшой кусочек синтаксического сахара для написания программ на Лиспе заключается в том, что часто используемое выражение (quote x) может заменить сокращением 'x Пример на Common Lisp: (defun factorial (x) (if (zerop x) 1 (* x (factorial (- x 1))))) Пример на Scheme: (define (factorial x) (if (zero? x) 1 (* x (factorial (- x 1))))) S-выражения в Лиспе читаются с помощью функции READ. Эта функция читает текстовое представление S-выражения и возвращает Lisp-данные. Функция PRINT может быть использована для вывода S-выражения. То, что возвращает PRINT, можно прочитать с помощью функции READ при условии, что все выводимые объекты данных имеют представление для ввода-вывода. Lisp имеет такое представление для чисел, строк, символов, списков и ещё многих типов данных. Программный код может быть представлен в виде аккуратно форматированного (pretty printed) S-выражения с помощью функции PPRINT. Lisp программы — это корректные S-выражения, но не все S-выражения являются правильными программами на Lisp. (1.0 + 3.1) — это корректное S-выражение, но не корректная Lisp-программа, Lisp использует префиксную нотацию, поэтому число с плавающей точкой (1.0) не может быть распознано как операция (первый элемент выражения). (ru)
  • 所谓“S-表达式/”(S-expression)或“sexp”(其中“S”代表“符号的”),是指一种以人类可读的文本形式表达的约定。S-表达式可能以其在Lisp家族的编程语言中的使用而为人所知。其他应用则见于由Lisp衍生的语言,如,以及如IMAP之类通信协议中作为标记出现和约翰·麦卡锡的。语法细节和所支持的数据类型虽因语言而异,但这些语言间最通用的特性则是使用S-表达式作为括号化的前缀表示法(有时亦作剑桥波兰表示法)。 (zh)
  • S-вираз (sexp для символічного виразу) — спосіб запису напівструктурованих даних в доступній для людського розуміння текстовій формі. Символічні вирази створюються, в основному, із символів і списків. S-вирази найбільш відомі завдяки їх використанню в мовах програмування сімейства Lisp. Також S-вирази застосовують у мовах-спадкоємцях Ліспа, таких як DSSSL, і в розмітці комунікаційних протоколів на кшталт IMAP і CBCL Джона Маккарті. Деталі синтаксису і підтримуваних типів даних відрізняються в різних мовах, але загальна особливість — використання S-виразів як префіксної нотації з використанням дужок (відомих як кембріджська польська нотація). S-вирази в Ліспі як для коду, так і для даних (див. Маккарті «Рекурсивні функції символічних виразів»). S-вирази були спочатку призначені тільки для представлення даних, якими повинні були маніпулювати M-вирази, але перша реалізація Ліспа була інтерпретатором S-виразів, в які планувалося перекладати М-вирази, і програмісти Lisp незабаром звикли до використання S-виразів як для даних, так і для коду. S-вирази можуть бути як окремими об'єктами (атомами), такими як числа, , включаючи спеціальні символи nil і t, або точковими парами, у вигляді (x . y). Більш довгі списки, що складаються з вкладених точкових пар, наприклад (1 . (2 . (3 . nil))), можна написати більш звичним способом, як (1 2 3). Вкладені списки також можуть бути записані у вигляді S-виразів: ((молоко, сік) (мед мармелад)). S-вирази не залежать від пропусків та розривів рядків, пропуски використовуються тільки як розмежувачі між атомами. Приклад: проста граматика у вигляді S-виразу: (((S) (NP) (VP)) ((VP) (V)) ((VP) (V) (NP)) ((V) died) ((V) employed) ((NP) nurses) ((NP) patients) ((NP) Medicenter) ((NP) Dr Chan)) Програмний код може бути записаний у вигляді S-виразу (зазвичай із використанням префіксной нотації). Невеликий шматочок синтаксичного цукру для написання програм на Ліспі полягає в тому, що часто використовуваний вираз (quote x) можна замінити скороченням 'xПриклад на Common Lisp: (defun factorial (x) (if (zerop x) 1 (* x (factorial (- x 1))))) Приклад на Scheme: (define (factorial x) (if (zero? x) 1 (* x (factorial (- x 1))))) S-вирази в Ліспі читаються за допомогою функції READ. Ця функція читає текстове представлення S-виразу і повертає Lisp-дані. Функція PRINT може бути використана для виведення S-виразу. Те, що повертає PRINT, можна прочитати за допомогою функції READ за умови, що всі виведені об'єкти даних мають представлення для вводу-виводу. Lisp має таке представлення чисел, рядків, символів, списків і ще багатьох типів даних. Програмний код може бути представлений у вигляді акуратно форматованого (pretty printed) S-виразу за допомогою функції PPRINT. Lisp програми — це коректні S-вираз, але не всі S-вирази є правильними програмами на Lisp. (1.0 + 3.1) — це коректний S-вираз, але не коректна Lisp-програма, Lisp використовує префіксну нотацію, тому число з плаваючою точкою (1.0) не може бути розпізнано як операція (перший елемент виразу). (uk)
dbo:thumbnail
dbo:wikiPageExternalLink
dbo:wikiPageID
  • 54458 (xsd:integer)
dbo:wikiPageLength
  • 12132 (xsd:integer)
dbo:wikiPageRevisionID
  • 978945524 (xsd:integer)
dbp:wikiPageUsesTemplate
dct:subject
rdf:type
rdfs:comment
  • S-výraz, rozepsaně symbolický výraz, angl. s-expression, je ve výpočtové technice, nověji programování, zápis (notace) pro vnořené seznamy (zahrnujíc i stromově ), který byl vynalezen, zaveden a zpopularizován programovacím jazykem Lisp. V něm a později ve Scheme se používá pro zápis zdrojového kódu i dat. V tomto článku byl použit překlad textu z článku S-expression na anglické Wikipedii. (cs)
  • Une S-expression (ou expression symbolique) est une convention pour la représentation de données ou d'expressions d'un programme sous forme textuelle. Les S-expressions sont utilisées dans la famille de langages Lisp, incluant Scheme et (en), ainsi que comme métalangage dans des protocoles de communication tels IMAP ou le langage (Common Business Communication Language) de John McCarthy. Les détails de la syntaxe et les types de données supportés diffèrent en fonction du langage, mais la propriété la plus commune est l'utilisation de la notation préfixée parenthésée (affectueusement connue sous le nom de Notation polonaise de Cambridge). (fr)
  • S-wyrażenie (ang. S-expression skrót od symbolic expression) – to notacja, służąca do zapisu struktury list oraz drzew pod postacią tekstu. Wykorzystywana w językach rodziny Lisp oraz do zapisu tekstowego WebAssembly. (pl)
  • 所谓“S-表达式/”(S-expression)或“sexp”(其中“S”代表“符号的”),是指一种以人类可读的文本形式表达的约定。S-表达式可能以其在Lisp家族的编程语言中的使用而为人所知。其他应用则见于由Lisp衍生的语言,如,以及如IMAP之类通信协议中作为标记出现和约翰·麦卡锡的。语法细节和所支持的数据类型虽因语言而异,但这些语言间最通用的特性则是使用S-表达式作为括号化的前缀表示法(有时亦作剑桥波兰表示法)。 (zh)
  • In computer programming, S-expressions (or symbolic expressions) are a notation for nested list (tree-structured) data, invented for and popularized by the programming language Lisp, which uses them for source code as well as data. In the usual parenthesized syntax of Lisp, an S-expression is classically defined as 1. * an atom, or 2. * an expression of the form (<i>x</i> . <i>y</i>) where x and y are S-expressions. (<i>x</i> <i>y</i> <i>z</i>) stands for (<i>x</i> . (<i>y</i> . (<i>z</i> . NIL))) (en)
  • Una expresión-S, S-expresión o sexp (de Expresión Simbólica) es una notación en forma de texto, para representar una estructura de datos de árbol, basada en listas anidadas, en donde cada sublista es un subárbol. Las S-expresiones son, probablemente, mejor conocidas por su uso en la familia de lenguajes de programación Lisp. Su representación textual habitual son secuencias de cadenas de caracteres, delimitadas por paréntesis, y separadas por espacios, como en (= 4 (+ 2 2)), que representa la expresión lógica escrita en C y en otros lenguajes relacionados, 4==2+2. (es)
  • Con il termine S-expression o sexp (dove S sta per simbolico) ci si riferisce, in informatica ad una convenzione per la rappresentazione di dati semi-strutturati in forma testuale. Le S-expression sono principalmente conosciute per il loro impiego nella famiglia di linguaggi di programmazione lisp (Common Lisp, Scheme, ecc). Altri usi di S-expression si trovano nei linguaggi derivati dal Lisp come il e come mark-up in protocolli di comunicazione come l'IMAP ed il , sviluppato da John McCarthy. Esempio in Common Lisp: (defun fattoriale (x) (if (zerop x) 1 (* x (fattoriale (- x 1))))) (it)
  • S式(エスしき、英: S-expression)とは、Lispで導入され、主にLispで用いられる、2分木ないしリスト構造の形式的な記述方式。SはSymbolに由来。 形式的には、S式は次のように定義される。 1. * シンボル(および、その他のアトムやデータオブジェクトのリテラル)はS式である 2. * (アトムの一種とする流儀もあるが) 空リストあるいはnilを表現する () もS式である 3. * (??? . ???) のように、S式をドットで区切り、丸カッコでくくったペアもS式である(2分木) 4. * 連結リストの形をした (??? . (???)) を (??? ???) のように、また (??? . ()) を (???) のように、省略した記法もS式である(リスト) 5. * その他の略記法。たとえば (quote foo) を 'foo など (ja)
  • S-표현식, S-expression 또는 sexp라는 용어는 (S는 Symbolic을 의미) 구조적인 데이터를 사람이 읽을 수 있는 텍스트 형태로 나타내는 방법을 가리킨다. S-표현식은 대체로 리스프 어족의 프로그래밍 언어에서 사용되는 것으로 잘 알려져 있다. 또한 리스프에서 파생된 언어인 , IMAP와 같은 통신 프로토콜에서의 마크업, 그리고 존 매카시의 에서도 S-표현식이 사용되고 있다. 상세한 문법과 제공되는 자료형은 언어들에 따라서 다르지만 가장 일반적인 특징은 괄호로 둘러싸인 prefix 표기법이다 (폴란드 표기법이라고도 부름). S-표현식은 리스프에서 코드와 데이터 모두를 표현하는 데 사용된다(리스프 참조). S-표현식은 으로 다루어지던 데이터를 위한 것이었지만 최초의 리스프 구현은 S-표현식으로 인코딩된 M-표현식의 인터프리터였고 리스프 프로그래머들은 곧 코드와 데이터 양쪽에서 S-표현식을 사용하는 것에 익숙해졌다. 프로그램 코드는 prefix 표기법을 이용해서 S-표현식으로 나타낼 수 있다. 리스프 프로그램을 작성하기 위해 흔히 사용하는 syntactic sugar로 (quote x)를 'x로 축약해 나타내는 것이 있다. (ko)
  • Термин S-выражение или sexp (сокращение от «Symbolic expression» — англ. символическое выражение) относится к соглашению о способе записи в доступной для человеческого понимания текстовой форме. Символические выражения создаются, в основном, из символов и списков. S-выражения наиболее известны благодаря их использованию в языках программирования семейства Лисп. Также S-выражения применяют в языках-наследниках Лиспа, таких как DSSSL, и в разметке коммуникационных протоколов вроде IMAP и Джона Маккарти. Детали синтаксиса и поддерживаемых типов данных отличаются в различных языках, но общая особенность — использование S-выражений как префиксной нотации с использованием скобок (известных как кембриджская польская нотация) . (ru)
  • S-вираз (sexp для символічного виразу) — спосіб запису напівструктурованих даних в доступній для людського розуміння текстовій формі. Символічні вирази створюються, в основному, із символів і списків. S-вирази найбільш відомі завдяки їх використанню в мовах програмування сімейства Lisp. Також S-вирази застосовують у мовах-спадкоємцях Ліспа, таких як DSSSL, і в розмітці комунікаційних протоколів на кшталт IMAP і CBCL Джона Маккарті. Приклад: проста граматика у вигляді S-виразу: (defun factorial (x) (if (zerop x) 1 (* x (factorial (- x 1))))) Приклад на Scheme: (uk)
rdfs:label
  • S-výraz (cs)
  • Expresión S (es)
  • S-expression (en)
  • S-expression (fr)
  • S-expression (it)
  • S式 (ja)
  • S-표현식 (ko)
  • S-wyrażenie (pl)
  • S-выражение (ru)
  • S-вираз (uk)
  • S-表达式 (zh)
rdfs:seeAlso
owl:sameAs
prov:wasDerivedFrom
foaf:depiction
foaf:isPrimaryTopicOf
is dbo:wikiPageRedirects of
is foaf:primaryTopic of