ıllı Internet y Tecnologías de la Información (2018)

internet, Hosting, dominios, seo, antivirus, banco de imágenes, páginas web, tiendas online

[Enciclopedia Online Gratuita] Diccionario de Internet y Tecnologías de la Información y la Comunicación (TIC):

ıllı Expresión S wiki: info, historia y vídeos

videos internet

salud  Expresión S 


wikiRepresentación en forma de árbol de la s-expression (* dos (+ tres cuatro)), que asimismo es equivalente a la expresión en notación de infijo2*(3+4)

Una expresión-S, S-expresión o bien 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, seguramente, mejor conocidas por su empleo en la familia de lenguajes de programación Lisp. Su representación textual frecuente son secuencias de cadenas de caracteres, acotadas por paréntesis, y separadas por espacios, como en (= cuatro (+ dos dos)), que representa la expresión lógica escrita en C y en otros lenguajes relacionados, 4==2+2.


En notación polaca o bien prefija (la que Lisp emplea), 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 angosta relación entre las expresiones-S y su representación textual, el término es utilizado informalmente asimismo 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 CBCL de John McCarthy. No obstante, los detalles de la sintaxis y las clases de datos soportados cambian entre los diferentes lenguajes.


Actualmente, en Lisp, las expresiones-S son utilizadas tanto para guardar el código fuente y los datos (ver McCarthy Recursive Functions of Symbolic Expressions). No obstante originalmente solo fueron pensadas para datos que serían manipulados por expresiones-M, mas la primera implementación de Lisp fue un intérprete de una codificación de expresiones-M utilizando expresiones-S, y los programadores Lisp pronto prefirieron emplear expresiones-S tanto para el código para los datos.


Las expresiones-S se definen, recursivamente como:



  • un género de dato simple, al que se le llama "átomo" (números, listas, cadenas de caracteres y símbolos).
  • una lista de expresiones-S. Una expresión-S podría ser una lista de expresiones-S, que por su parte podrían ser listas, y de este modo se pueden conseguir expresiones anidadas con un nivel de profundidad arbitrario.

En Lisp, estas listas se edifican desde un género de dato más básico llamado cons pair, escrito como (x . y). El primer elemento del cons es el primer elemento de la lista, y el segundo elemento es el resto de la lista; las listas, por ende, se forman anidando cons, por ejemplo: (1 . (dos . (tres . nil))). El símbolo singular nil marca el final de una lista. No obstante, generalmente se utiliza la notación (1 dos tres), por ser más compacta. Las listas anidadas asimismo se pueden redactar como expresiones-S:


((leche jugo) (miel mermelada))


Es una lista de 2 elementos; cada elemento de la lista asimismo es, una expresión-S.


Ejemplo de Lista


Esto es una gramática simple, escrita como una expresión-S (Gazdar/Melish, Natural Language Processing in Lisp):

(((S)(NP)(VP))((VP)(V))((VP)(V)(NP))((V)died)((V)employed)((NP)nurses)((NP)patients)((NP)Medicenter)((NP)DrChan))

El código fuente de los programas puede ser escrito como expresiones-S, normalente utilizando notación prefija. Como en el próximo ejemplo en Common Lisp:

(defunfactorial(x)(if(zeropx)1(*x(factorial(-x1)))))

Las expresiones-S pueden ser leídas en Lisp utilizando la función READ. Esta función lee la representación textual de una expresión-S y devuelve como dato Lisp.


La función PRINT puede ser utilizada para redactar la representación textual de los datos a expresiones-S. Lisp tiene una representación leible para números, cadenas, símbolos, listas y otros géneros de datos; esto quiere decir que estructuras de datos formadas por estos tipos y escritas con PRINT, pueden ser leídas nuevamente con READ. El código fuente de los programas puede ser formateado más elegantemente utilizando la función PPRINT.


Los programas Lisp son expresiones-S válidas, mas no toda expresión-S válida es un programa Lisp; por ejemplo:


(diez + tres.1)


no es programa Lisp válido, por el hecho de que no utiliza notación prefija.


Una expresión-S antecedida por una comilla simple, como en 'x, es un azúcar sintáctico para una expresión-S citada, en un caso así, (quote x); a estos se les conoce como símbolos.


Los estándares para ciertos lenguajes de programación derivados del Lisp incluyen una especificación para su sintaxis expresión S. Estos incluyen el Common Lisp (ANSI estándar document ANSI INCITS doscientos veintiseis-mil novecientos noventa y cuatro (R2004)), Scheme (R5RS y R6RS) y el ISLISP.


En mayo de mil novecientos noventa y siete, Ron Rivest presentó un boceto de Internet para ser considerado para su publicación como un RFC. El boceto define una sintaxis basada en expresiones S del Lisp mas desarrollado para almacenaje y también intercambio de datos de propósito general (afín a XML), en lugar de particularmente para la programación. Jamás fue aprobado como un RFC, mas desde ese momento ha sido convocado y utilizado por otros RFCs (ej. RFC dos mil seiscientos noventa y tres) y múltiples otras publicaciones. Originalmente fue concebido para empleo en SPKI.


El formato de Rivest define una S-expresión como una cadena de octetos (una serie de bytes) o bien una lista finita de otras S-expresiones. Describe 3 formatos de intercambio para expresar esta estructura. Uno es el "transporte avanzado", que es muy flexible en lo que se refiere a formato y es sintácticamente afín a las expresiones al estilo Lisp, mas no son idénticos. El transporte avanzado, por poner un ejemplo, deja a las cadenas de octetos ser representadas textualmente (con la longitud de la cadena seguida de 2 puntos y después la cadena), una forma con comillas dejando caracteres de escape, hexadecimales, Base64, o bien de manera directa como un "token" si cumple con determinadas condiciones. (Los tokens de Rivest se distinguen de los tokens de Lisp por el hecho de que los primeros son solo por conveniencia y estética y tratados precisamente igual que otras cadenas, al paso que los últimos tienen significado sintáctico concreto).Otro formato de intercambio, concebido para ser más sólido, más simple de examinar y único para cualquier S-expresión abstracta, es la "representación preceptiva" que solo deja cadenas textuales y prohíbe el espacio en blanco como formateo de cadenas exteriores. Por último, existe la "representación de transporte básico", que es la manera preceptiva o bien exactamente el mismo codificado como Base64 y rodeado de llaves, este último destinado a transportar seguramente una expresión S canónicamente codificada en un sistema que podría mudar el separado (ej. un sistema de mail que tiene líneas de ochenta caracteres de ancho y sigue en la línea siguiente con cualquier cosa más larga que eso).


Este formato no ha sido extensamente amoldado para su empleo fuera del SPKI. El sitio web de la S-expresiones de Rivest da el código fuente de C para un parser y generador (libre bajo la licencia MIT, que podía ser amoldado y empotrado en otros programas. Además de esto, no existen limitaciones sobre incorporar independientemente el formato.


  ELIGE TU TEMA DE INTERÉS: 


autoayuda.es   Internet y Tecnologias 

Está aquí: Inicio > [ INTERNET ] > ıllı Expresión S wiki: info, historia y vídeos

Las cookies nos permiten ofrecer nuestros servicios. Al utilizar nuestros servicios, aceptas el uso que hacemos de las cookies. Ver políticas