SNOBOL: Saznajte više o ovom jeziku za obradu teksta od 60-ih

Objava: Vaša podrška pomaže održavanju web mjesta! Naplaćujemo naknadu za preporuku za neke usluge koje preporučamo na ovoj stranici.


SNOBOL – StriNg orientiran i symBOlic Language – je obitelj programskih jezika koja je prvotno razvijena sredinom 1960-ih, prvenstveno u svrhu obrade teksta i stringova analiza.

Kratka napomena o verzijama i implementacijama

Zadnje stabilno izdanje SNOBOL-a od strane originalnih programera bilo je SNOBOL4, 1967. Vidjet ćete kako knjige i web stranice koriste i SNOBOL i SNOBOL4 (a ponekad i „Snobol“). Sve oko 1967. sve se odnosi na istu (konačnu) verziju jezika.

Bilo je i nekoliko proširenja i implementacija. Snocone je jezični predprocesor koji jeziku daje sintaktički šećer, što ga čini lakšom za upotrebu. SPITBOL je prevodilac za SNOBOL; ovo je posebno zanimljivo jer se u početku mislilo da je SNOBOL neuporediv. Postoji i programski jezik Snowball, koji je nadahnuo i dobio ime SNOBOL.

Zbog ovih i drugih proširenja, neki ljudi koriste frazu “Vanilla SNOBOL” kada govore o kodu koji implementira samo originalnu specifikaciju SNOBOL4, a ne nikakve dodatne značajke.

O jeziku

SNOBOL je stvoren posebno za manipulaciju tekstom i nizovima. Zbog toga ima relativno jedinstveno svojstvo: uzorci se smatraju prvoklasnim vrstama podataka. To omogućava manipuliranje samim uzorcima, kao i s bilo kojom drugom strukturom podataka. Pored toga, žice se mogu tretirati kao kod i ocjenjivati. To omogućava rekurzivnu upotrebu obrazaca i vrlo složenu obradu i analizu niza. SNOBOL program čak može promijeniti vlastiti izvorni kod.

Uzorci u SNOBOL-u mogu biti jednostavni, poput kratkih raspona teksta ili nizova znakova u obliku izraza. Ali oni mogu biti i izuzetno složeni, poput potpunog formalnog opisa gramatike nekog jezika. Tumači programskih jezika mogu se pisati na SNOBOL-u, kao i analiza gramatike prirodnog jezika, provjera pravopisa i (u teoriji) prevoditeljski mehanizmi.

SNOBOL je bio vrlo popularan u sveučilištu Computer Science u šezdesetim i 70-ima, a široko se koristio u humanističkim znanostima tijekom 1980-ih. U ovom je trenutku u velikoj mjeri nestao iz upotrebe, u korist manje moćnog programa Regular Expression koji koristi jezike poput Awk i Perl. Tamo je još nekolicina vjernih programera SNOBOL-a, a jezik ima potencijal biti jednako koristan kao i uvijek.

Internetske poduke

  • Snobol4 Tutorial, udžbenik iz 1985. godine Mark Emmer;
  • Emmer je također napisao Vanilla Snobol4: Priručnik za upute i upute (PDF) i makro SPITBOL: SNOBOL4 jezik visoke performanse (PDF);
  • Korištenje SNOBOL / SITBOL na TWENEX.ORG, ovaj je vodič za SITBOL implementaciju SNOBOL-a, za korištenje u SDF sustavu javnog pristupa TOPS-20 – ovdje su neke neobično specifične upute za platformu, ali i dobar udžbenik o samom SNOBOL-u;
  • SNOBOL4 Powerpoint Presentation, ovo daju samo prezentacije prezentacije o SNOBOL-u – nije sjajan samostalni uvod, ali vrijedi potražiti pregled ključnih koncepata;
  • Korištenje SNOBOL na MTS-u, vodič za upotrebu jezika na matičnom okviru Michigan Terminal System – ovo može biti korisno, zajedno s Hercules emulatorom, ako trebate raditi na naslijeđenom SNOBOL sustavu.

alat

  • SPITBOL, sastavljena implementacija SNOBOL-a, dostupna na Githubu;
  • SnoPy, Python knjižnica koja vam omogućuje korištenje tekstualnih uzoraka temeljenih na SNOBOL-u;
  • Mini SNOBOL prevodilac, napisan u F #;
  • Makro implementacija SNOBOL4 u C.

Zajednica i kontinuirano učenje

  • Yahoo Email Group, za programere SNOBOL i ljude koji rade sa sličnom tehnologijom obrade teksta;
  • SNOBOL4.com, web stranica o jeziku tvrtke koju je osnovao Mark Emmer, pisac nekoliko knjiga i udžbenika o tom jeziku;
  • Rezervat SNOBOL.

Knjige o SNOBOL-u

  • Opće knjige o Lagugama:
    • Snobol4 Primer, Ralph Griswold: osnovni uvod u jezik, koji je napisao jedan od njegovih izumitelja;
    • Programski jezik Snobol4, Ralph Griswold: nazvan “Zelena knjiga”, ovo je klasična knjiga o jeziku;
    • Obrada niza i popisa u Snobolu 4: Tehnike i primjene, autor Ralph Griswold;
    • Uvod programera u Snobol, Ward Douglas Maurer.
  • Posebne teme u SNOBOL programiranju:
    • SNOBOL Programiranje za humanističke znanosti, Susan Hockey;
    • Algoritmi u Snobolu 4, James Gimpel;
    • Makro implementacija Snobola 4: Studija slučaja strojnog razvoja softvera, Ralph Griswold.

Trebam li naučiti SNOBOL?

SNOBOL nije strašno popularan jezik i nema puno poslodavaca koji traže programere SNOBOL-a. Dakle, s gledišta napredovanja u karijeri, bolje je usredotočiti se na više jezika na kojima se zahtijeva.

Međutim, ako ste zainteresirani za računanje usredotočeno na tekst (pretraživanje, prijevod, obrada na prirodnom jeziku, književna analiza), možda biste željeli provesti neko vrijeme s SNOBOL-om: posebno ako ste već pomaknuli granice onoga što se može postići redovitim izrazi.

Ostali alati za tekst

Ako vas zanima SNOBOL, morat ćete provjeriti neke od ovih ostalih alata za obradu i analizu teksta.

  • Priručnik za prirodni jezik, Python platforma za rad s podacima o ljudskom jeziku;
  • Stanford CoreNLP, paket alata utemeljenih na Javi za analizu prirodnog jezika;
  • Awk, skriptni jezik dizajniran posebno za obradu teksta;
  • Perl, još jedan skriptni jezik, za koji se smatra da ima najbolju redovitu primjenu regularnih izraza;
  • ANTLER je još jedan alat za prepoznavanje jezika i može se upotrebljavati za analizu prirodnih i umjetnih (računalnih) jezika;
  • Apache OpenNLP, alat za strojno učenje za obradu prirodnih jezika;
  • Apache Lucene, paket programskih alata za pretraživanje na Javi i Pythonu;
  • GATE, Opća arhitektura za inženjering teksta, okvir za “rješavanje gotovo bilo kojeg problema obrade teksta”;
  • Prolog, logički programski jezik izumljen za obradu prirodnog jezika;
  • Ikona, još jedan jezik za obradu teksta koji je stvorio Ralph Griswold nakon svog rada na SNOBOL-u.

Možda biste željeli pročitati i pripitomljeni tekst: Kako ga pronaći, organizirati i manipulirati, Ingersoll, Morton i Farris. Knjiga pruža izvrstan pregled obrade teksta, s primjerima pomoću nekoliko gore navedenih softverskih alata.

Na kraju, pogledajte TAPoR3, web mjesto i internetska zajednica posvećena alatima za analizu teksta.

Daljnje čitanje i izvori

Imamo više vodiča, tutorijala i infografika vezanih za kodiranje i razvoj:

  • Perl vodič i resursi: ovo je izvrstan vodič za početak ovog moćnog skriptnog jezika.
  • Awk Resursi: naučite ovaj moćan skriptni jezik dostupan na većini računala.
  • Prolog resursi: ovo će vam započeti s ovim ikoničnim programskim jezikom logike.

Obrada prirodnog jezika oživi!

Nauka o obradi prirodnog jezika prešla je daleki put još od dana SNOBOL-a. Sve o tome saznajte u našoj infografiki, Kako izbjeći zaljubljivanje putem chatbota. Obuhvaća dugu povijest „razmišljanja“ računala – i čak vas može spasiti od slomljenog srca!

Koji kôd treba naučiti?
Kako izbjeći zaljubljivanje s chatbotom

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me