SNOBOL: Lär dig mer om detta textbehandlingsspråk från 60-talet

Avslöjande: Ditt stöd hjälper till att hålla webbplatsen igång! Vi tjänar en remissavgift för några av de tjänster vi rekommenderar på denna sida.


SNOBOL – StriNg Oriented and symBOlic Language – är en familj av programmeringsspråk som ursprungligen utvecklades i mitten av 1960-talet, främst för textbehandling och stränganalys.

En snabb kommentar om versioner och implementeringar

Den senaste stabila utgåvan av SNOBOL av de ursprungliga utvecklarna var SNOBOL4, 1967. Du ser både böcker och webbplatser som använder både “SNOBOL” och “SNOBOL4” (och ibland “Snobol”). På allt efter 1967 hänvisar alla till samma (slutliga) version av språket.

Det fanns också en handfull utvidgningar och implementeringar. Snocone är en språkprocessor som tillhandahåller syntaktiskt socker till språket, vilket gör det lättare att använda. SPITBOL är en kompilator för SNOBOL; detta är av särskilt intresse eftersom det ursprungligen troddes att SNOBOL var okompatibel. Det finns också Snowball-programmeringsspråket, som inspirerades av och uppkallade efter SNOBOL.

På grund av dessa och andra tillägg använder vissa människor frasen “Vanilla SNOBOL” när de hänvisar till kod som bara implementerar den ursprungliga SNOBOL4-specifikationen, och inte några ytterligare funktioner.

Om språket

SNOBOL skapades specifikt för text- och strängmanipulation. På grund av detta har den en relativt unik funktion: mönster anses vara förstklassiga datatyper. Detta gör att själva mönster kan manipuleras, precis som någon annan datastruktur. Dessutom kan strängar behandlas som kod och utvärderas. Detta möjliggör rekursiv användning av mönster och mycket komplex strängbehandling och analys. Ett SNOBOL-program kan till och med ändra sin egen källkod.

Mönster i SNOBOL kan vara enkla, som korta textavstånd eller regex-liknande strängar av karaktärstyp. Men de kan också vara oerhört komplexa, som en fullständig formell beskrivning av språkets grammatik. Programmeringsspråkstolkar kan skrivas i SNOBOL, såväl som naturliga språkgrammatikanalys, stavningskontroll och (i teorin) översättningsmotorer.

SNOBOL var mycket populärt inom datavetenskapliga akademier på 1960- och 70-talet och användes mycket inom humaniora genom 1980-talet. Det har till stor del fallit ur användning vid denna tidpunkt till förmån för mindre kraftfull programmering av reguljärt uttryck med språk som Awk och Perl. Det finns fortfarande en handfull lojala SNOBOL-utvecklare där ute, och språket har potential att vara lika användbar som någonsin.

Online-handledning

  • En Snobol4-tutorial, en tutorial från 1985 av Mark Emmer;
  • Emmer skrev också Vanilla Snobol4: Tutorial and Reference Manual (PDF) och Macro SPITBOL: The High Performance SNOBOL4 Language (PDF);
  • Med hjälp av SNOBOL / SITBOL på TWENEX.ORG är denna handledning för SITBOL-implementeringen av SNOBOL, för användning på SDF Public Access TOPS-20-systemet – det finns några konstigt specifika plattformsinstruktioner här, men också en bra tutorial om SNOBOL själv;
  • SNOBOL4 Powerpoint-presentation, detta ger bara bilderna från en presentation om SNOBOL – inte en bra fristående introduktion, men värt att leta efter en översikt över viktiga begrepp;
  • Använda SNOBOL på MTS, en guide för att använda språket i mainframe Michigan Terminal System – detta kan vara användbart tillsammans med Hercules-emulatorn om du behöver arbeta med ett gammalt SNOBOL-system.

Verktyg

  • SPITBOL, en sammanställd implementering av SNOBOL, tillgänglig på Github;
  • SnoPy, ett Python-bibliotek som låter dig använda SNOBOL-baserade textmönster;
  • Mini SNOBOL-tolk, skriven i F #;
  • Makroimplementering av SNOBOL4 i C..

Gemenskap och pågående lärande

  • Yahoo Email Group, för SNOBOL-utvecklare och personer som arbetar med liknande textbehandlingsteknik;
  • SNOBOL4.com, en webbplats om språket från ett företag som grundades av Mark Emmer, författare av flera böcker och självstudier om språket;
  • SNOBOL-listservern.

Böcker om SNOBOL

  • Allmänna böcker om språket:
    • En Snobol4 Primer, av Ralph Griswold: en grundläggande introduktion till språket, skriven av en av dess uppfinnare;
    • Snobol4-programmeringsspråket, av Ralph Griswold: kallad ”den gröna boken”, detta är den klassiska boken om språket;
    • String och listbehandling i Snobol 4: Tekniker och applikationer, av Ralph Griswold;
    • Programmerings introduktion till Snobol, av Ward Douglas Maurer.
  • Speciella ämnen i SNOBOL-programmering:
    • SNOBOL Programmering för humaniora, av Susan Hockey;
    • Algoritmer i Snobol 4, av James Gimpel;
    • Makroimplementeringen av Snobol 4: En fallstudie av maskinoberoende mjukvaruutveckling, av Ralph Griswold.

Ska jag lära mig SNOBOL?

SNOBOL är inte ett oerhört populärt språk, och det finns inte många arbetsgivare som letar efter SNOBOL-utvecklare. Så ur karriärfrämjandesynpunkt är du bättre att fokusera på fler efterfrågade språk.

Men om du är intresserad av textcentrisk datoranvändning (sökning, översättning, naturligt språkbearbetning, litterär analys) kanske du vill spendera lite tid med SNOBOL: särskilt om du redan har pressat gränserna för vad som kan uppnås med regelbundet uttryck.

Andra textverktyg

Om du är intresserad av SNOBOL, vill du kolla in några av dessa andra verktyg för bearbetning och analys av text.

  • Natural Language Toolkit, en Python-plattform för att arbeta med mänskliga språkdata;
  • Stanford CoreNLP, en svit med Java-baserade verktyg för naturlig språkanalys;
  • Awk, ett skriptspråk utformat specifikt för textbearbetning;
  • Perl, ett annat skriptspråk, anses allmänt ha den bästa tillgängliga regelbundna uttrycksimplementeringen;
  • ANTLER är ett annat verktyg för språkigenkänning och kan användas för att analysera både naturliga och konstgjorda (dator) språk;
  • Apache OpenNLP, en verktygssats för maskininlärning för naturlig språkbearbetning;
  • Apache Lucene, en svit med verktyg för sökprogramvara i Java och Python;
  • GATE, General Architecture for Text Engineering, ett ramverk för ”att lösa nästan alla textbehandlingsproblem;”
  • Prolog, ett logiskt programmeringsspråk som är uppfunnet för naturlig språkbearbetning;
  • Ikon, ett annat textbehandlingsspråk skapat av Ralph Griswold efter sitt arbete med SNOBOL.

Du kanske också vill läsa tamningstext: Hur man hittar, organiserar och manipulerar den av Ingersoll, Morton och Farris. Boken ger en bra översikt över textbearbetning, med exempel som använder flera av de ovan angivna programverktygen.

Slutligen kolla in TAPoR3, en webbplats och onlinemiljö som är avsedd för verktyg för att analysera text.

Ytterligare läsning och resurser

Vi har fler guider, självstudier och infografik relaterade till kodning och utveckling:

  • Perl-guide och resurser: detta är en utmärkt guide för att komma igång med detta kraftfulla skriptspråk.
  • Awk Resources: lära sig detta kraftfulla skriptspråk tillgängligt på de flesta datorer.
  • Prolog resurser: detta kommer igång med detta ikoniska logiska programmeringsspråk.

Naturlig språkbehandling kommer till liv!

Vetenskapen om naturligt språkbearbetning har kommit långt sedan SNOBOLs dagar. Ta reda på allt om det i vår infographic, Hur man undviker att bli kär i en Chatbot. Det täcker den långa historien med “tänkande” datorer – och kan till och med rädda dig från ett trasigt hjärta!

Vilken kod ska du lära dig?
Hur man undviker att bli kär i en Chatbot

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map