Snoball

Snoball  es un lenguaje de programación de alto nivel desarrollado en 1962-1967 y destinado principalmente al procesamiento de datos de texto .

El objetivo principal del lenguaje Snobol era mostrar el principio (la posibilidad de su plena existencia) de que todo es una cadena . Externamente, el lenguaje se ve en el llamado "estilo antiguo": las ideas modernas de procedimientos son difíciles de reconocer en él, pero su poder no es inferior al LISP para trabajar en un entorno de "inteligencia artificial".

Coincidencia de patrones basada en gramáticas BNF . Lenguaje totalmente dinámico, incluidas declaraciones, tipos, asignación de memoria, incluso puntos de entrada y salida de procedimientos. La implementación utiliza macros virtuales de procesamiento de cadenas, una simple sobrescritura de las macros para cualquier computadora existente.

El lenguaje, que es el lenguaje de los compiladores de escritura, en el que el principio básico de que todo es una cadena y tiene una sintaxis tan "fea", "renació" en uno completamente diferente, ni siquiera aparentemente similar: Icon . Inicialmente, era solo un complemento para Snobol4, pero pronto se convirtió en un lenguaje de programación independiente.

Historia

El desarrollo comenzó en 1962 por Ralph Griswold, Ivan Polonsky y David Farber en AT&T Bell Labs. Su objetivo era crear un lenguaje de procesamiento de cadenas para trabajar con fórmulas y analizar gráficos.

En 1950, Yngve del MIT desarrolló el lenguaje COMIT para el procesamiento del lenguaje natural basado en las reglas de la NFB, pero el equipo de Bell Labs encontró que COMIT era demasiado restrictivo para sus propósitos.

El lenguaje se llamó originalmente SCL7 (Symbolic Computation Language 7), luego su nombre cambió a SEXI (String Expression Interpreter), que quedó en desuso en la década de 1960 , y finalmente se conoció como SNOBOL (StriNg Oriented symBOlic Language), un acrónimo creado artificialmente. desprovisto de significado intuitivo. Se han desarrollado varias versiones del lenguaje Snobol: SNOBOL, SNOBOL2, SNOBOL3 y SNOBOL4. Este último tuvo éxito en la década de 1970 .

Ejemplo

Encuentre entre las cadenas de entrada un palíndromo compuesto por 0 y 1, la longitud impar máxima:

GRAMÁTICA DE INICIO = 0 | 1| 0 *GRAMATICA 0 | 1*GRAMATICA 1 * Establece la gramática NFB como plantilla LOOP NEWLINE - TRIMCINPUT) : F(FIN) * Obtiene la siguiente línea sin espacios finales. * En caso de error salta a FIN. NUEVA LÍNEA (POS(0) SPAN('0l") PROS(0)) : F(MALO) * Comprueba una cadena solo para ceros y unos. * SPAN es una cadena de ceros y unos. * POS(0) es la primera posición. * PROS(0) es el último. SN = TAMAÑO (NEWLINE) NEXT NEWLINE POS(0) GRAMÁTICA . PALÍNDROMO POS(SN) - :S(OK) F(NO ESTÁ BIEN) * Se verifica la gramática de la cadena usando POS (SN) * Si la comparación falla, salta a la última posición. * Si tiene éxito, se imprime la respuesta. * La parte emparejada se asigna a PALINDROME OK SALIDA="COINCIDIR: " PALINDROME :(LOOP) NOTOK SN = SN - 1 :(SIGUIENTE) SALIDA INCORRECTA = "ENTRADA INCORRECTA:" NEWLINE :(LOOP) FINAL

Véase también

Enlaces

Literatura

Resúmenes de idiomas en libros sobre lenguajes de programación en general

Guías de idiomas