In computing, s-expressions, sexprs or sexps (for "symbolic expression") 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 inductively asThe second, recursive part of the definition represents an ordered pair so that s-exprs are effectively binary trees.stands forwhere NIL is the special end-of-list symbol (written '() in Scheme).

Property Value
dbo:abstract
  • In computing, s-expressions, sexprs or sexps (for "symbolic expression") 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 inductively as The second, recursive part of the definition represents an ordered pair so that s-exprs are effectively 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 stands for where NIL is the special end-of-list symbol (written '() 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. 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)
  • 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 DSSSL (en), ainsi que comme métalangage dans des protocoles de communication tels IMAP ou le langage CBCL (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 DSSSL e come mark-up in protocolli di comunicazione come l'IMAP ed il CBCL, 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 M-expression, 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: Esempio in Scheme: (* x (fattoriale (- x 1))))) (it)
  • 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 expresiones-S son, probablemente, conocidas por su uso en la familia Lisp de lenguajes de programación. Su representación textual habitual son secuencias delimitadas por paréntesis de cadenas de caracteres, separadas por espacios, como en (= 4 (+ 2 2)), que representa la expresión lógica escrita como 4==2+2 en el lenguaje de programación C y en otros lenguajes relacionados. En Lisp, el primer elemento de cada expresión S es un operador y el resto de elementos son tratados como datos. Esta forma se denomina notación prefija notación Polaca Cambridge. Debido a la estrecha relación entre las expresiones-S y su representación textual, el término expresión-S es usado en informalmente para referirse también 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 CBCL 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)
  • S式(エスしき、英: S-expression)とは、Lispで導入され、主にLispで用いられる、2分木ないしリスト構造の形式的な記述方式。SはSymbolに由来。 形式的には、S式は次のように定義される。 S式は、Lispにおけるリスト構造を直接表現するものとしてジョン・マッカーシーによって考案された。S式は表記に大量の括弧を使用するため、非常に好き嫌いが分かれる[要出典]が、コードとデータを均質に記述し扱うのに便利で、また構造の解析が容易でマクロへの応用も幅広い。連結リストのみを表現するJSONのようなもの、とも言える。LispとS式は密接に結びついており、両者を分離しようとする試みもいくつかあったが、その元祖と言えるM式をはじめとしていずれも大きな成功と言うに至ったものはない。 (ja)
  • 所谓“S-表达式/運算式”(S-expression)或“sexp”(其中“S”代表“符号的”),是指一种以人类可读的文本形式表达半结构化数据的约定。S-表达式可能以其在Lisp家族的编程语言中的使用而为人所知。其他应用则见于由Lisp衍生的语言,如DSSSL,以及如IMAP之类通信协议中作为标记出现和约翰·麦卡锡的CBCL。语法细节和所支持的数据类型虽因语言而异,但这些语言间最通用的特性则是使用S-表达式作为括号化的前缀表示法(有时亦作剑桥波兰表示法)。S-表达式在Lisp中既用作代码,也用作数据(见McCarthy Recursive Functions of Symbolic Expressions [1])。S-表达式原本被用于将被M-表达式处理的数据,但Lisp的首个实现是一个S-表达式的解释器,以S-表达式编码M-表达式,而Lisp程序员很快习惯于对代码和数据都使用S-表达式。S-表达式可以是如数字这样的单个对象,包括特殊原子nil和t在内的LISP 原子,或写作 (x . y)的cons pair。更长的列表则由嵌套的cons pair组成,例如(1 . (2 . (3 . nil)))(,亦可写作更易理解的(1 2 3))。使用前缀表示法,程序代码可写作S-表达式。书写Lisp程序中额外的语法糖则是,一般的表达式(quote x)可以省略为'x。Common Lisp范例:Scheme范例: (zh)
  • Термин S-выражение или sexp (для символического выражения) относится к соглашению о способе записи полуструктурированных данных (англ.) в доступной для человеческого понимания текстовой форме. Символические выражения создаются, в основном, из символов и списков. S-выражения наиболее известны благодаря их использованию в языках программирования семейства Лисп. Также S-выражения применяют в языках-наследниках Лиспа, таких как DSSSL, и в разметке коммуникационных протоколов вроде IMAP и CBCL Джона Маккарти. Детали синтаксиса и поддерживаемых типов данных отличаются в различных языках, но общая особенность — использование S-выражений как префиксной нотации с использованием скобок (известных как кембриджская польская нотация) .S-выражения используются в Лиспе как для кода, так и для данных (см. Маккарти «Рекурсивные функции символических выражений»). S-выражения были первоначально предназначены только для представления данных, которыми должны были манипулировать M-выражения, но первая реализация Лиспа была интерпретатором S-выражений, в которые планировалось переводить М-выражения, и программисты Lisp вскоре привыкли к использованию S-выражений как для данных, так и для кода.S-выражения могут быть как отдельными объектами (атомами), такими как числа, Символ (Lisp) (англ.), включая специальные символы nil и t, или точечными парами (англ.), в виде (x . y). Более длинные списки, состоящие из вложенных точечных пар, например (1 . (2 . (3 . nil))), можно написать более привычным способом, как (1 2 3). Вложенные списки также могут быть записаны в виде S-выражений: ((молоко сок) (мёд мармелад)). S-выражения не зависят от пробелов и разрывов строк, пробелы используются только в качестве разграничителей между атомами.Пример: простая грамматика в виде S-выражения: Программный код также может быть записан в виде S-выражения (обычно с использованием префиксной нотации). Небольшой кусочек синтаксического сахара для написания программ на Лиспе заключается в том, что часто используемое выражение (quote x) может заменить сокращением 'xПример на Common Lisp:Пример на Scheme: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)
dbo:thumbnail
dbo:wikiPageExternalLink
dbo:wikiPageID
  • 54458 (xsd:integer)
dbo:wikiPageRevisionID
  • 696429093 (xsd:integer)
dct:subject
rdf:type
rdfs:comment
  • 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 DSSSL (en), ainsi que comme métalangage dans des protocoles de communication tels IMAP ou le langage CBCL (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)
  • In computing, s-expressions, sexprs or sexps (for "symbolic expression") 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 inductively asThe second, recursive part of the definition represents an ordered pair so that s-exprs are effectively binary trees.stands forwhere NIL is the special end-of-list symbol (written '() in Scheme). (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 expresiones-S son, probablemente, conocidas por su uso en la familia Lisp de lenguajes de programación. Su representación textual habitual son secuencias delimitadas por paréntesis de cadenas de caracteres, separadas por espacios, como en (= 4 (+ 2 2)), que representa la expresión lógica escrita como 4==2+2 en el lenguaje de programación C y en otros lenguajes relacionados. (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 DSSSL e come mark-up in protocolli di comunicazione come l'IMAP ed il CBCL, sviluppato da John McCarthy.Esempio in Common Lisp:Esempio in Scheme:(* x (fattoriale (- x 1))))) (it)
  • S式(エスしき、英: S-expression)とは、Lispで導入され、主にLispで用いられる、2分木ないしリスト構造の形式的な記述方式。SはSymbolに由来。形式的には、S式は次のように定義される。S式は、Lispにおけるリスト構造を直接表現するものとしてジョン・マッカーシーによって考案された。S式は表記に大量の括弧を使用するため、非常に好き嫌いが分かれる[要出典]が、コードとデータを均質に記述し扱うのに便利で、また構造の解析が容易でマクロへの応用も幅広い。連結リストのみを表現するJSONのようなもの、とも言える。LispとS式は密接に結びついており、両者を分離しようとする試みもいくつかあったが、その元祖と言えるM式をはじめとしていずれも大きな成功と言うに至ったものはない。 (ja)
  • 所谓“S-表达式/運算式”(S-expression)或“sexp”(其中“S”代表“符号的”),是指一种以人类可读的文本形式表达半结构化数据的约定。S-表达式可能以其在Lisp家族的编程语言中的使用而为人所知。其他应用则见于由Lisp衍生的语言,如DSSSL,以及如IMAP之类通信协议中作为标记出现和约翰·麦卡锡的CBCL。语法细节和所支持的数据类型虽因语言而异,但这些语言间最通用的特性则是使用S-表达式作为括号化的前缀表示法(有时亦作剑桥波兰表示法)。S-表达式在Lisp中既用作代码,也用作数据(见McCarthy Recursive Functions of Symbolic Expressions [1])。S-表达式原本被用于将被M-表达式处理的数据,但Lisp的首个实现是一个S-表达式的解释器,以S-表达式编码M-表达式,而Lisp程序员很快习惯于对代码和数据都使用S-表达式。S-表达式可以是如数字这样的单个对象,包括特殊原子nil和t在内的LISP 原子,或写作 (x . y)的cons pair。更长的列表则由嵌套的cons pair组成,例如(1 . (2 . (zh)
  • Термин S-выражение или sexp (для символического выражения) относится к соглашению о способе записи полуструктурированных данных (англ.) в доступной для человеческого понимания текстовой форме. Символические выражения создаются, в основном, из символов и списков. S-выражения наиболее известны благодаря их использованию в языках программирования семейства Лисп. (ru)
rdfs:label
  • S-expression (en)
  • Expresión S (es)
  • S-expression (fr)
  • S-expression (it)
  • S式 (ja)
  • S-выражение (ru)
  • S-表达式 (zh)
rdfs:seeAlso
owl:sameAs
prov:wasDerivedFrom
foaf:depiction
foaf:isPrimaryTopicOf
is dbo:wikiPageRedirects of
is foaf:primaryTopic of