Möchte man Sprachen wie bspw. YAML, SQL oder XML in JavaScript interpretieren, existiert eine Vielzahl an Bibliotheken, die hierfür herangezogen werden können. Doch was, wenn dies für eine Sprache noch nicht der Fall ist? Wie wird eine Sprache definiert und wie kann man diese von einer Maschine ausführen lassen?
Im Rahmen dieses zweiteiligen Blog-Beitrages werden diese Fragen anhand der Object Constraint Language (OCL) beispielhaft geklärt. Da die OCL ein sehr breites Funktionsspektrum aufweist, wird nur ein kleiner Teil aufgegriffen. Anhand dieses Ausschnittes werden die grundlegenden Werkzeuge und Begriffe zur Definition einer Sprache vorgestellt und erklärt. Im zweiten Teil des Blog-Beitrages wird dann eine konkrete Implementierung eines Parsers mit Hilfe des Parser-Generators Jison beschrieben.