SNOBOL: Lær om dette tekstbehandlingsspråket fra 60-tallet

Formidling: Din støtte hjelper med å holde nettstedet i gang! Vi tjener et henvisningsgebyr for noen av tjenestene vi anbefaler på denne siden.


SNOBOL – StriNg Oriented and symBOlic Language – er en familie med programmeringsspråk som opprinnelig ble utviklet på midten av 1960-tallet, først og fremst med tanke på tekstbehandling og strenganalyse.

En rask merknad om versjoner og implementeringer

Den siste stabile utgivelsen av SNOBOL av de opprinnelige utviklerne var SNOBOL4, i 1967. Du vil se at både bøker og nettsteder bruker både “SNOBOL” og “SNOBOL4” (og noen ganger “Snobol”). På alt etter 1967 refererer alle til den samme (endelige) versjonen av språket.

Det var også en håndfull utvidelser og implementeringer. Snocone er en språkforbehandler som gir syntaktisk sukker til språket, noe som gjør det enklere å bruke. SPITBOL er en kompilator for SNOBOL; dette er av spesiell interesse fordi det opprinnelig ble trodd at SNOBOL var ikke-kompatible. Det er også programmeringsspråket Snowball, som ble inspirert av og oppkalt etter SNOBOL.

På grunn av disse og andre utvidelser bruker noen uttrykket “Vanilla SNOBOL” når de refererer til kode som bare implementerer den opprinnelige SNOBOL4-spesifikasjonen, og ikke noen tilleggsfunksjoner.

Om språket

SNOBOL ble opprettet spesielt for tekst- og strengmanipulering. På grunn av dette har den en relativt unik funksjon: mønstre regnes som førsteklasses datatyper. Dette lar mønstre manipuleres, akkurat som annen datastruktur. I tillegg kan strengene behandles som kode og evalueres. Dette muliggjør rekursiv bruk av mønstre og svært kompleks strengebehandling og analyse. Et SNOBOL-program kan til og med endre sin egen kildekode.

Mønstre i SNOBOL kan være enkle, som korte tekstspenn eller regex-lignende strenger av karaktertype. Men de kan også være svært kompliserte, som en fullstendig formell beskrivelse av grammatikken til et språk. Programmering av språktolk kan skrives i SNOBOL, så vel som naturlig språkgrammatikkanalyse, stavekontroll og (i teorien) oversettelsesmotorer.

SNOBOL var veldig populær i datavitenskapelig akademia på 1960- og 70-tallet, og ble mye brukt i humaniora gjennom 1980-tallet. Det har stort sett falt ut av bruk på dette tidspunktet, til fordel for mindre kraftig programmering av vanlig uttrykk ved bruk av språk som Awk og Perl. Det er fremdeles en håndfull lojale SNOBOL-utviklere der ute, og språket har potensialet til å være like nyttig som noen gang.

Online tutorials

  • En Snobol4 tutorial, en tutorial fra 1985 av Mark Emmer;
  • Emmer skrev også Vanilla Snobol4: Tutorial and Reference Manual (PDF) and Macro SPITBOL: The High Performance SNOBOL4 Language (PDF);
  • Ved å bruke SNOBOL / SITBOL på TWENEX.ORG, er denne opplæringen for SITBOL-implementeringen av SNOBOL, for bruk på SDF Public Access TOPS-20-systemet – det er noen merkelig spesifikke plattforminstruksjoner her, men også en god tutorial på SNOBOL selv;
  • SNOBOL4 Powerpoint Presentasjon, dette gir bare lysbildene fra en presentasjon på SNOBOL – ikke en god frittstående introduksjon, men verdt å se etter en oversikt over viktige konsepter;
  • Bruke SNOBOL på MTS, en guide til bruk av språket på mainframe Michigan Terminal System – dette kan være nyttig sammen med Hercules-emulatoren, hvis du trenger å jobbe med et gammelt SNOBOL-system.

Verktøy

  • SPITBOL, en samlet implementering av SNOBOL, tilgjengelig på Github;
  • SnoPy, et Python-bibliotek som lar deg bruke SNOBOL-baserte tekstmønstre;
  • Mini SNOBOL-tolk, skrevet i F #;
  • Makroimplementering av SNOBOL4 i C..

Fellesskap og kontinuerlig læring

  • Yahoo Email Group, for SNOBOL-utviklere og personer som jobber med lignende tekstbehandleteknologi;
  • SNOBOL4.com, et nettsted om språket fra et selskap grunnlagt av Mark Emmer, forfatter av flere bøker og opplæringsprogrammer om språket;
  • SNOBOL-listen.

Bøker om SNOBOL

  • Generelle bøker om språket:
    • En Snobol4 Primer, av Ralph Griswold: en grunnleggende introduksjon til språket, skrevet av en av dens oppfinnere;
    • Snobol4 programmeringsspråk, av Ralph Griswold: kalt “den grønne boken”, dette er den klassiske boken om språket;
    • Streng og listebehandling i Snobol 4: Teknikker og applikasjoner, av Ralph Griswold;
    • Programmer’s Introduction to Snobol, av Ward Douglas Maurer.
  • Spesielle emner i SNOBOL-programmering:
    • SNOBOL Programmering for humaniora, av Susan Hockey;
    • Algoritmer i Snobol 4, av James Gimpel;
    • Makroimplementeringen av Snobol 4: En casestudie av maskinuavhengig programvareutvikling, av Ralph Griswold.

Bør jeg lære SNOBOL?

SNOBOL er ikke et veldig populært språk, og det er ikke mange arbeidsgivere som leter etter SNOBOL-utviklere. Så fra karrierefremmersynspunkt er det bedre å fokusere på mer etterspurt språk.

Imidlertid, hvis du er interessert i tekstsentrisk databehandling (søk, oversettelse, naturlig språkbehandling, litterær analyse), kan det være lurt å tilbringe litt tid med SNOBOL: spesielt hvis du allerede har presset grensene for hva som kan oppnås med vanlig uttrykkene.

Andre tekstverktøy

Hvis du er interessert i SNOBOL, vil du sjekke ut noen av disse andre verktøyene for behandling og analyse av tekst.

  • Natural Language Toolkit, en Python-plattform for arbeid med data om menneskerspråk;
  • Stanford CoreNLP, en pakke med Java-baserte verktøy for analyse av naturlig språk;
  • Awk, et skriptspråk designet spesielt for tekstbehandling;
  • Perl, et annet skriftspråk, ansett for å ha den beste ordinære uttrykksimplementeringen tilgjengelig;
  • ANTLER er et annet verktøy for språkgjenkjenning, og kan brukes til å analysere både naturlige og kunstige (datamaskin) språk;
  • Apache OpenNLP, et maskinlæringsverktøy for naturlig språkbehandling;
  • Apache Lucene, en pakke med søkeprogramvareverktøy i Java og Python;
  • GATE, generell arkitektur for tekstteknikk, et rammeverk for “å løse nesten ethvert tekstbehandlingsproblem;”
  • Prolog, et logisk programmeringsspråk oppfunnet for naturlig språkbehandling;
  • Ikon, et annet tekstbehandlingsspråk laget av Ralph Griswold etter sitt arbeid med SNOBOL.

Det kan også være lurt å lese Taming Text: How to Find, Organise and Manipulate It, av Ingersoll, Morton og Farris. Boken gir en flott oversikt over tekstbehandling, med eksempler som bruker flere av programvareverktøyene oppført over.

Til slutt, sjekk ut TAPoR3, et nettsted og et online fellesskap dedikert til verktøy for å analysere tekst.

Videre lesing og ressurser

Vi har flere guider, veiledninger og infografikk relatert til koding og utvikling:

  • Perl Guide and Resources: dette er en utmerket guide for å komme i gang med dette kraftige skriptspråket.
  • Awk Resources: lær dette kraftige skriptspråket som er tilgjengelig på de fleste datamaskiner.
  • Prolog Resources: dette kommer i gang med dette ikoniske programmeringsspråket for logikk.

Naturlig språkbehandling kommer til liv!

Vitenskapen om naturlig språkbehandling har kommet langt siden dagene med SNOBOL. Finn ut alt om det i infografien vår, Slik unngår du å bli forelsket i en Chatbot. Det dekker den lange historien til “tenkende” datamaskiner – og kan til og med redde deg fra et ødelagt hjerte!

Hvilken kode skal du lære?
Slik unngår du å bli forelsket 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