<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="lt">
	<id>https://www.pipedija.com/index.php?action=history&amp;feed=atom&amp;title=Snobol</id>
	<title>Snobol - Versijų istorija</title>
	<link rel="self" type="application/atom+xml" href="https://www.pipedija.com/index.php?action=history&amp;feed=atom&amp;title=Snobol"/>
	<link rel="alternate" type="text/html" href="https://www.pipedija.com/index.php?title=Snobol&amp;action=history"/>
	<updated>2026-07-05T12:16:28Z</updated>
	<subtitle>Šio puslapio versijų istorija projekte</subtitle>
	<generator>MediaWiki 1.37.1</generator>
	<entry>
		<id>https://www.pipedija.com/index.php?title=Snobol&amp;diff=94701&amp;oldid=prev</id>
		<title>Arabas: Naujas puslapis: '''Snobol''' - tokia programavimo kalba, kuri šiuo metu beveik pamiršta (nors vis dar yra kažkiek ja programuojančių), tačiau kadaise buvusi viena iš maždaug dešimtuko populiariausių ir daugiausiai įtakos padariusių programavimo kalbų. Snobol smarkiai skyrėsi nuo kitų savo pačiais esminiais principais - visas duomenų srautas buvo laikomas tiesiog eilučių masyvu, kuris yra įvedamas, o tose eilutėse tiesiog būdavo ieškoma kažkokių komandų, kurios...</title>
		<link rel="alternate" type="text/html" href="https://www.pipedija.com/index.php?title=Snobol&amp;diff=94701&amp;oldid=prev"/>
		<updated>2026-06-29T22:32:59Z</updated>

		<summary type="html">&lt;p&gt;Naujas puslapis: &amp;#039;&amp;#039;&amp;#039;Snobol&amp;#039;&amp;#039;&amp;#039; - tokia &lt;a href=&quot;/index.php/Programavimo_kalba&quot; class=&quot;mw-redirect&quot; title=&quot;Programavimo kalba&quot;&gt;programavimo kalba&lt;/a&gt;, kuri šiuo metu beveik pamiršta (nors vis dar yra kažkiek ja programuojančių), tačiau kadaise buvusi viena iš maždaug dešimtuko populiariausių ir daugiausiai įtakos padariusių programavimo kalbų. Snobol smarkiai skyrėsi nuo kitų savo pačiais esminiais principais - visas duomenų srautas buvo laikomas tiesiog eilučių masyvu, kuris yra įvedamas, o tose eilutėse tiesiog būdavo ieškoma kažkokių komandų, kurios...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Naujas puslapis&lt;/b&gt;&lt;/p&gt;&lt;div&gt;'''Snobol''' - tokia [[programavimo kalba]], kuri šiuo metu beveik pamiršta (nors vis dar yra kažkiek ja programuojančių), tačiau kadaise buvusi viena iš maždaug dešimtuko populiariausių ir daugiausiai įtakos padariusių programavimo kalbų. Snobol smarkiai skyrėsi nuo kitų savo pačiais esminiais principais - visas duomenų srautas buvo laikomas tiesiog eilučių masyvu, kuris yra įvedamas, o tose eilutėse tiesiog būdavo ieškoma kažkokių komandų, kurios gali ką nors reikšti ir turėti tam tikrą sintaksę. Jei komanda nerandama - tai reiškia, kad tai šiaip sau tekstas.&lt;br /&gt;
&lt;br /&gt;
Dėl savo esminių principų Snobol gavosi atspari techninėms (sintaksinėms) klaidoms, tad visos Snobol parašytos programos tiesiog veikdavo. Tiesiog tas veikimas galėdavo būti ne tokį rezultatą duodantis, kaip kad tikimasi, o tuo tarpu Snobol [[interpretatorius]] apie jokias klaidas net neužsimindavo, nes jam viskas būdavo tvarkoje.&lt;br /&gt;
&lt;br /&gt;
Iš esmės, ir šiais laikais toksai Snobol priėjimas gali būti pagrindu bet kokiam paprastam interpretatoriui: tiesiog nuosekliai skaitomos teksto eilutės, tikrinama ar jose surasta kokia nors komanda, ir jei taip - tai vykdoma, o jei ne - tai einama prie kitos eilutės. Visas duomenų išvedimas ir įvedimas vykdomas, tiesiog priskiriant duomenų eilutes išvedimui ar įvedimo duomenis priskiriant eilutėms - t.y., naudojant sisteminius kintamuosius [[INPUT]] ir [[OUTPUT]].&lt;br /&gt;
&lt;br /&gt;
Kad vykdymas turėtų savo geresnę logiką, tai kiekvienos eilutės gale Snobol leidžia nurodyti dar ir sąlyginį ar nesąlyginį perėjimą į kitą eilutę. Taigi, šitaip galima turėti duomenis pramaišiui su vykdomomis komandomis, išmaišytus bet kaip, kaip tik nori.&lt;br /&gt;
&lt;br /&gt;
Kaip sako viena istorija, kadaise apie 196x metus, pirmieji Snobol interpretatoriai būdavo paremti [[perfokortos|perfokortomis]], kur viena perfokorta reiškė vieną Snobol teksto eilutę. Perfokortose surašytos komandos būdavo nuosekliai suvedamos, tvarkingas perfokortų kalades sudėjus į perfokortų skaitytuvą. Taigi, padarę gerą Snobol interpretatorių, programuotojai nutarė pabandyti bandymą - pasiėmę kažkurią Snobol programą, tyčia išmaišė visą perfokortų kaladę, o tada sukišo ją į skaitytuvą ir paleido vykdyti. Kaip bebūtų nuostabu, programa suveikė be jokių problemų. Su bet kokia kita programavimo kalba šitai būtų iš principo neįmanoma.&lt;br /&gt;
&lt;br /&gt;
Kai kurie Snobol kalbos principai labai paprasti, pvz. jei kažkoks žodis atrandamas eilutės pradžioje - tai jis yra žyma, pagal kurią galima daryti perėjimą (pagal pirmą tokio žodžio radimo vietą). Eilutės gale gali būti nurodomas perėjimas į kitą eilutę, kuris gali būti ir sąlyginis, ir nesąlyginis.&lt;br /&gt;
&lt;br /&gt;
Tiems, kas labiau patyrę programavime, Snobol kažkiek primena [[Fortran]] pačia geriausia prasme, tačiau su kardinaliai kito lygio teksto apdirbimo priemonėmis.&lt;br /&gt;
&lt;br /&gt;
Turim pasakyti, kad ta Snobol tai atrodo visai gera kalba, ir visai gaila, kad pasidarė užmiršta.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Hello World programa parašyta Snobol kalba ==&lt;br /&gt;
Kaip matome, duomenys tiesiog priskiriami sisteminiam kintamąjam [[OUTPUT]] ir to pakanka, kad jie būtų išvesti.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    OUTPUT = &amp;quot;Hello, World!&amp;quot;&lt;br /&gt;
END&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Kiek sudėtingesnė Snobol programa ==&lt;br /&gt;
Čia matomos kai kurios inlaininės teksto palyginimo galimybės:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
          OUTPUT = &amp;quot;What is your name?&amp;quot;&lt;br /&gt;
          Username = INPUT&lt;br /&gt;
          Username &amp;quot;J&amp;quot;                                             :S(LOVE)&lt;br /&gt;
          Username &amp;quot;K&amp;quot;                                             :S(HATE)&lt;br /&gt;
MEH       OUTPUT = &amp;quot;Hi, &amp;quot; Username                                 :(END)&lt;br /&gt;
LOVE      OUTPUT = &amp;quot;How nice to meet you, &amp;quot; Username               :(END)&lt;br /&gt;
HATE      OUTPUT = &amp;quot;Oh. It's you, &amp;quot; Username&lt;br /&gt;
END&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Programavimo kalbos]]&lt;/div&gt;</summary>
		<author><name>Arabas</name></author>
	</entry>
</feed>