S-expression
Sign in to saveAlso known as S expression, sexp, sexpr, S-expression notation
convenzione per la rappresentazione di dati semi-strutturati in forma testuale
Wikidata facts
- Instance of
- syntax
- Developer
- Ron Rivest
Show 5 more facts
- Stack Exchange tag
- stackoverflow.com/tags/s-expression
- described at URL
- people.csail.mit.edu/rivest/Sexp.txt
- discoverer or inventor
- John McCarthy
- manifestation of
- semi-structured data
- uses
- round brackets
Sources (2)
via Wikidata · CC0
Article · Italiano
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)))))
Abstract from DBpedia / Wikipedia · CC BY-SA