Revision 29515 of "SNOBOL" on enwiki'''SNOBOL''' (StriNg Oriented symBOlic Language) is a [[computer]] [[programming language]] that was developed between [[1962]] and [[1967]] at [[AT&T]] [[Bell Laboratories]] by [[David J. Farber]], [[Ralph E. Griswold]] and [[Ivan P. Polonsky]]. (The name is a jocular reference to [[COBOL_programming_language|COBOL]], but the two languages have no other connection and no other similarities). SNOBOL was widely used in the [[1970s]] and [[1980s]] as a text manipulation language in the [[humanities]], but in recent years, its popularity has faded as newer and more efficient languages such as [[Awk]] and [[Perl]] have made string manipulation by means of [[regular expression]]s popular; it is now mostly a special interest language used mainly by enthusiasts, and new implementations are rare. The classic implementation was on the [[PDP-10]]; it has been used to study [[compiler]]s, [[formal grammar]]s, and [[artificial intelligence]], especially [[machine translation]] and [[machine comprehension]] of [[natural language]]s. SNOBOL was originally called '''SEXI''' - String EXpression Interpreter. The SNOBOL4 (StriNg Oriented symBOlic Language number 4) version is the fourth and final incarnation of such a series of special purpose programming languages for character string manipulation. The SNOBOL4 variant of the language supports a number of built-in [[data type]]s, such as [[integer]]s and limited precision [[real number]]s, [[string]]s, [[pattern]]s, [[array]]s, and [[Table (programming-language feature)|table]]s, and also allows the programmer to define additional data types and new [[function (programming)|function]]s. SNOBOL4's programmer-defined data type facility was advanced at the time (it preceded, and resembles, PASCAL's "records" and C's "structs."). SNOBOL4 stands apart from the mainstream programming languages of that time by having patterns as a first-class data type (i.e. a data type whose values can be manipulated in all ways permitted to any other data type in the programming language) and by providing operators for pattern [[concatenation]] and alternation. Strings generated during execution can be treated as programs and executed. A SNOBOL pattern can be very simple or extremely complex. A simple pattern is just a text string (e.g. "ABCD"), but a complex pattern may be a large structure describing, for example, the complete grammar of a computer language. SNOBOL provides the programmer with a rich assortment of features including some rather exotic ones. As a result it is possible to use SNOBOL as if it were an [[object-oriented programming|object-oriented]] language, a [[logical programming]] language, a [[functional programming|functional language]] or a standard imperative language by changing the set of features used to write a program. It also concatenates strings that are simply placed next to each other in a statement. It keeps strings in a memory heap, and frees programmers from concerns about memory allocation and management for strings. It is normally implemented as an [[interpreter (computer software)|interpreter]] because of the difficulty in implementing some of its very high-level features, but there is a [[compiler]], the [[SPITBOL compiler]], which provides nearly all the facilities that the interpreter provides. The [[Icon programming language]] is a descendant of SNOBOL4. During the 1950s and 1960s there was a flourishing of interest in special-purpose computer languages. SNOBOL was one of a number of text-string-oriented languages, and one of the more successful; others included [[COMIT]] and [[TRAC programming language|TRAC]]. == Further reading == *Griswold, Ralph E., J. F. Poage, and I. P. Polensky. ''The SNOBOL 4 Programming Language''. Englewood Cliffs, NJ: Prentice Hall, 1968. *Hockey, Susan M. ''Snobol Programming for the Humanities''. New York: Clarendon Press; Oxford: Oxford University Press, 1985. == External links == *[http://www.snobol4.org/ Phil Budne's page of resources] * [http://dmoz.org/Computers/Programming/Languages/Snobol/ Open Directory Project Category for Snobol] *[http://www.snobol4.com/ Catspaw, Inc. offers implementations of and support for SNOBOL4] ---- ''An [http://www.nupedia.com/article/210/ earlier version] of this article was posted on [[Nupedia]].'' == See also == *[[SPITBOL]] (compiled implementation of SNOBOL4) ==Hello World== OUTPUT = 'Hello World!' END ---- === Other things named Snobol === Snobol is also a toilet cleaning product. See [http://david.weekly.org/pictures/snobol.jpg the picture] for proof. [[Category:Programming languages]] [[Category:Text-oriented programming languages]] [[Category:SNOBOL programming language family]] [[de:SNOBOL4]] [[pt:SNOBOL 4]] All content in the above text box is licensed under the Creative Commons Attribution-ShareAlike license Version 4 and was originally sourced from https://en.wikipedia.org/w/index.php?oldid=29515.
![]() ![]() This site is not affiliated with or endorsed in any way by the Wikimedia Foundation or any of its affiliates. In fact, we fucking despise them.
|