GOLD Parsing System

Das GOLD Parsing System (Grammar Oriented Language Developer) ist eine freie Software (unter zlib-Lizenz) für die Erstellung von Parsern und Interpretern für Formale Sprachen, zum Beispiel Skriptsprachen. Der Parser arbeitet nach dem LALR-Prinzip. Zur Festlegung der Syntax der Programmiersprache wird eine Grammatik in Backus-Naur-Form abgelegt.

GOLD Parsing System
Basisdaten
Maintainer Devin Cook
Aktuelle Version 5.2.0
(18. August 2012)
Betriebssystem Windows
Kategorie Parser
Lizenz zlib-Lizenz
www.goldparser.org

Die Software besteht aus folgenden Komponenten:

  • Der Builder wird benutzt, um eine in der sog. GOLD-Metasprache geschriebene Formale Grammatik in Parse-Tabellen zu übersetzen. Der Builder ist Teil einer integrierten Entwicklungsumgebung, die auch einen Generator für Programmskelette sowie eine interaktive Testumgebung für Grammatiken enthält.
  • Die übersetzte Grammatik wird durch den Builder als Datei bereitgestellt.
  • Die Engine überführt den zu parsenden Text anhand der Parse-Tabellen in Automaten. Es stehen Engines für verschiedene Zielplattformen und Programmiersprachen zur Verfügung. Für folgende Plattformen sind (teilweise mehrere) Engines verfügbar: C, C++, .NET, Java, D, Delphi, Visual Basic Classic, Python.

Beim Parsen eines Quelltextes werden die einzelnen Symbole einer Regel solange gelesen, bis diese vollständig ist. Im Anschluss wird die Regel reduziert. Bei der Reduktion wird die Regel ein Symbol der übergeordneten Regel. Auf diese Weise ergibt sich eine Baumstruktur, der sog. „Derivation tree“. Dieser spiegelt die logische Struktur des Quelltextes wider. Die Baumstruktur ist nicht Teil des GOLD Parsing Systems. Der Parser informiert den Aufrufer vielmehr über die gelesenen Symbole und die Reduktionen. Es ist an der Anwendung, sich einen passenden Baum aufzubauen.


This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. The authors of the article are listed here. Additional terms may apply for the media files, click on images to show image meta data.