SNOBOL: leer over deze tekstverwerkende taal uit de jaren ’60

Openbaarmaking: Uw steun helpt de site draaiende te houden! We verdienen een verwijzingsvergoeding voor sommige van de services die we op deze pagina aanbevelen.


SNOBOL – StriNg Oriented and symBOlic Language – is een familie van programmeertalen die oorspronkelijk halverwege de jaren zestig werd ontwikkeld, voornamelijk voor tekstverwerking en stringanalyse.

Een korte opmerking over versies en implementaties

De laatste stabiele release van SNOBOL door de oorspronkelijke ontwikkelaars was SNOBOL4, in 1967. Je zult zien dat zowel boeken als websites zowel “SNOBOL” als “SNOBOL4” (en soms “Snobol”) gebruiken. Op alles na 1967 verwijzen deze allemaal naar dezelfde (definitieve) versie van de taal.

Er waren ook een handvol uitbreidingen en implementaties. Snocone is een taal preprocessor die syntactische suiker aan de taal levert, waardoor het gemakkelijker te gebruiken is. SPITBOL is een compiler voor SNOBOL; dit is van bijzonder belang omdat oorspronkelijk werd gedacht dat SNOBOL niet compileerbaar was. Er is ook de programmeertaal Snowball, die is geïnspireerd door en vernoemd naar SNOBOL.

Vanwege deze en andere extensies gebruiken sommige mensen de uitdrukking “Vanilla SNOBOL” wanneer ze verwijzen naar code die alleen de originele SNOBOL4-specificatie implementeert, en geen extra functies.

Over de taal

SNOBOL is speciaal gemaakt voor tekst- en stringmanipulatie. Hierdoor heeft het een relatief unieke functie: patronen worden beschouwd als eersteklas gegevenstypen. Hierdoor kunnen patronen zelf worden gemanipuleerd, net als elke andere datastructuur. Bovendien kunnen tekenreeksen als code worden behandeld en geëvalueerd. Dit maakt recursief gebruik van patronen en zeer complexe verwerking en analyse van snaren mogelijk. Een SNOBOL-programma kan zelfs zijn eigen broncode wijzigen.

Patronen in SNOBOL kunnen eenvoudig zijn, zoals korte reeksen tekst of regex-achtige tekenreeksen. Maar ze kunnen ook buitengewoon complex zijn, zoals een volledige formele beschrijving van de grammatica van een taal. Programmeertaal tolken kunnen worden geschreven in SNOBOL, evenals grammatica-analyse in natuurlijke taal, spellingcontrole en (in theorie) vertaalmachines.

SNOBOL was erg populair in de informatica-academie in de jaren zestig en zeventig en werd tot in de jaren tachtig veel gebruikt in de geesteswetenschappen. Het is op dit moment grotendeels niet meer in gebruik, ten gunste van minder krachtige Regular Expression-programmering met talen zoals Awk en Perl. Er zijn nog steeds een handvol loyale SNOBOL-ontwikkelaars en de taal kan net zo nuttig zijn als altijd.

Online zelfstudies

  • Een Snobol4-zelfstudie, een zelfstudie uit 1985 door Mark Emmer;
  • Emmer schreef ook Vanilla Snobol4: Tutorial and Reference Manual (PDF) en Macro SPITBOL: The High Performance SNOBOL4 Language (PDF);
  • Gebruik makend van SNOBOL / SITBOL op TWENEX.ORG, deze tutorial is voor de SITBOL implementatie van SNOBOL, voor gebruik op het SDF Public Access TOPS-20 systeem – er zijn hier een aantal vreemd specifieke platforminstructies, maar ook een goede tutorial over SNOBOL zelf;
  • SNOBOL4 Powerpoint-presentatie, dit biedt alleen de dia’s van een presentatie op SNOBOL – geen geweldige op zichzelf staande introductie, maar zeker de moeite waard voor een overzicht van de belangrijkste concepten;
  • SNOBOL gebruiken op MTS, een gids voor het gebruik van de taal op het mainframe Michigan Terminal System – dit kan, samen met de Hercules-emulator, handig zijn als u aan een verouderd SNOBOL-systeem moet werken.

Hulpmiddelen

  • SPITBOL, een gecompileerde implementatie van SNOBOL, beschikbaar op Github;
  • SnoPy, een Python-bibliotheek waarmee u op SNOBOL gebaseerde tekstpatronen kunt gebruiken;
  • Mini SNOBOL-tolk, geschreven in F #;
  • Macro-implementatie van SNOBOL4 in C.

Gemeenschap en voortdurend leren

  • Yahoo Email Group, voor SNOBOL-ontwikkelaars en mensen die werken met vergelijkbare tekstverwerkingstechnologie;
  • SNOBOL4.com, een website over de taal van een bedrijf opgericht door Mark Emmer, schrijver van verschillende boeken en tutorials over de taal;
  • De SNOBOL listserve.

Boeken over SNOBOL

  • Algemene boeken over de taal:
    • A Snobol4 Primer, door Ralph Griswold: een basisinleiding tot de taal, geschreven door een van zijn uitvinders;
    • De Snobol4-programmeertaal, door Ralph Griswold: “het Groene Boek” genoemd, dit is het klassieke boek over de taal;
    • String- en lijstverwerking in Snobol 4: technieken en toepassingen, door Ralph Griswold;
    • Programmer’s Introduction to Snobol, door Ward Douglas Maurer.
  • Speciale onderwerpen in SNOBOL-programmering:
    • SNOBOL Programming for the Humanities, door Susan Hockey;
    • Algoritmen in Snobol 4, door James Gimpel;
    • De macro-implementatie van Snobol 4: A Case Study of Machine-Independent Software Development, door Ralph Griswold.

Moet ik SNOBOL leren?

SNOBOL is geen erg populaire taal en er zijn niet veel werkgevers die op zoek zijn naar SNOBOL-ontwikkelaars. Dus vanuit het oogpunt van loopbaanontwikkeling kunt u zich beter concentreren op meer veelgevraagde talen.

Als u echter geïnteresseerd bent in tekstgericht computergebruik (zoeken, vertalen, verwerking in natuurlijke taal, literaire analyse), wilt u misschien wat tijd doorbrengen met SNOBOL: vooral als u al de grenzen hebt verlegd van wat kan worden bereikt met reguliere uitdrukkingen.

Andere teksthulpmiddelen

Als je geïnteresseerd bent in SNOBOL, wil je enkele van deze andere tools bekijken voor het verwerken en analyseren van tekst.

  • Natural Language Toolkit, een Python-platform voor het werken met menselijke taalgegevens;
  • Stanford CoreNLP, een suite van op Java gebaseerde tools voor natuurlijke taalanalyse;
  • Awk, een scripttaal die speciaal is ontworpen voor tekstverwerking;
  • Perl, een andere scripttaal, waarvan algemeen wordt aangenomen dat deze de beste reguliere expressie-implementatie heeft;
  • ANTLER is een ander hulpmiddel voor taalherkenning en kan worden gebruikt voor het ontleden van zowel natuurlijke als kunstmatige (computer) talen;
  • Apache OpenNLP, een toolkit voor machine learning voor natuurlijke taalverwerking;
  • Apache Lucene, een reeks zoeksoftwaretools in Java en Python;
  • GATE, General Architecture for Text Engineering, een raamwerk voor “het oplossen van bijna elk tekstverwerkingsprobleem;”
  • Prolog, een logische programmeertaal die is uitgevonden voor natuurlijke taalverwerking;
  • Icon, een andere tekstverwerkende taal die door Ralph Griswold is gemaakt na zijn werk aan SNOBOL.

Misschien wilt u ook Taming Text: How to Find, Organize, and Manipulate It lezen door Ingersoll, Morton en Farris. Het boek biedt een goed overzicht van tekstverwerking, met voorbeelden die verschillende van de hierboven genoemde softwaretools gebruiken.

Bekijk ten slotte TAPoR3, een website en online community gewijd aan tools voor het analyseren van tekst.

Verder lezen en bronnen

We hebben meer handleidingen, tutorials en infographics met betrekking tot codering en ontwikkeling:

  • Perl Guide and Resources: dit is een uitstekende gids om aan de slag te gaan met deze krachtige scripttaal.
  • Awk-bronnen: leer deze krachtige scripttaal die op de meeste computers beschikbaar is.
  • Prolog Resources: hiermee kunt u aan de slag met deze iconische logische programmeertaal.

Natuurlijke taalverwerking komt tot leven!

De wetenschap van natuurlijke taalverwerking heeft een lange weg afgelegd sinds de dagen van SNOBOL. Lees er alles over in onze infographic, Hoe te voorkomen dat u verliefd wordt op een chatbot. Het behandelt de lange geschiedenis van “denkende” computers – en kan u zelfs redden van een gebroken hart!

Welke code moet je leren?
Hoe u verliefd worden op een chatbot kunt voorkomen

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