© sxc.hu
Editoren mit eigenen Syntaxdefinitionen erweitern
Individuelle Lesehilfe
von Stefan Kamphausen, Peter Kreußel, Carsten Zerbst
Erschienen im Linux-Magazin
2008/06
Programmcode schreiben ohne Syntax-Highlighting ist mühsam und fehlerträchtig. Damit auch Liebhaber seltener Sprachen in den Genuss der praktischen Lesehilfe kommen, untersucht diese Bitparade, wie und wie gut sich in Kate, Emacs und Netbeans neue Sprachen integrieren lassen.
Gängige Editoren färben die Syntaxelemente der Programmiersprachen unterschiedlich ein. Das erleichtert die Lesbarkeit von Programmcode. Tippfehler fallen außerdem sofort auf und lassen sich schnell korrigieren, wenn sich der Cursor noch in der Nähe befindet.
Unterstützung für gängige Sprachen bringen die Editoren im Lieferumfang mit. Viele Anwendungen erlauben es dem Benutzer zusätzlich, selbst Syntax-Highlighting-Regeln für neue Sprachen zu schreiben. Diese Bitparade vergleicht, wie gut sich bei den Editoren Emacs, Kate und Netbeans im Lieferumfang nicht unterstützte Sprachen in das Syntax-Highlighting einbinden lassen.
Kate
Syntaxauszeichnung setzt eine Grammatik voraus: Bestimmte Wortarten sind je nach Kontext unterschiedlich auszuzeichnen. Das Syntax-Highlighting des Standard-KDE-Editors Kate (Abbildung 1) setzt daher auf ein Kontext-Konstrukt. Innerhalb der Kontexte legen Regeln - oft reguläre Ausdrücke - bestimmte Aktionen fest. Das XML-Konstrukt
<context name="Normal Text" >
<DetectChar attribute="String" context="string"char=""" />
</context>
schaltet beim Auftreten eines Anführungszeichens in den Kontext »String« um. Dort gelten eigene Regeln.
Die Anweisung »DetectChar« sucht nach einzelnen Zeichen. Für die Suche nach ganzen Wörtern gibt es »StringDetect« und »RegExpr«, die Regular Expressions benutzt. Außerdem gibt es die Befehle »Detect2Chars« und »DetectAnyChar«, die nach Zeichen aus einer Liste suchen, und »keyword«, der nach bestimmten Wörtern in einer Liste sucht, sowie Suchbefehle für Ganz- und Gleitkommazahlen und einige weitere.
Dafür, dass der Kontext »String« beim erneuten Auftreten eines Anführungszeichens wieder endet, sorgt beispielsweise folgende Regel:
<context name="string" attribute="String">
<DetectChar attribute="String" context="#pop" char=""" />
</context>
Kontexte lassen sich beliebig verschachteln. »#pop« veranlasst das Syntax-Highlighting dazu, eine Ebene zurückzuspringen, »#pop#pop#pop« springt drei Kontextebenen tiefer.

|
Abbildung 1: Kate besitzt ein leistungsfähiges Syntax-Highlighting, das Grammatiken logisch nachvollziehbar über ein »Kontext«-Konstrukt umsetzt. Seit einiger Zeit ist die Regelsprache auch ausreichend dokumentiert.
|
Stilfragen
Für den Stil »String« aus der »attribute«-Anweisung im Kontext »String« legt der »itemDatats«-Block in der XML-Datei die Schriftformatierung fest:
<itemDatas>
<itemData name="Keyword" defStyleNum="dsKeyword" />
<itemData name="String" defStyleNum="dsNormal" color="#3C60E1" />
</itemDatas>
»defStyleNum="dsKeyword"« übernimmt den in Kate für Schlüsselwörter vorgesehenen Standardstil unverändert, »defStyleNum="dsNormal" color ="#3C60E1"« übernimmt die Schriftart des Standardtextes, definiert aber die Textfarbe neu.
| Whitepaper |
|
Open Source Datenintegration in der Praxis: Fallstudien und Anwendungsbeispiele
Über die letzten Jahre hinweg haben sich Open Source Lösungen als fester Bestandteil des gesamten Datenintegrationsmarktes etabliert. Viele Unternehmen haben bereits das Open Source Modell für Ihre Datenintegrationsprojekte aufgegriffen. Das vorliegende White Paper illustriert anhand ausgewählter Fallstudien und Anwendungsbeispiele die Implementierung von Open Source Datenintegration in der Praxis und benennt die daraus resultierenden Vorteile.
Download PDF (Registrierung erforderlich)
|
|
The Role of Open Source in Data Integration
Obwohl in den letzten Jahren viele technische Fortschritte erzielt werden konnten, verfügen die meisten Datenintegrationsprozesse nach wie vor nur über eine sehr begrenzte Automatisierung. Das vorliegende White Paper von dem Industry Analyst Mark Madson wird zunächst ein grundlegendes Verständnis von Daten Integration vermitteln, die Vorzüge von Open Source Lösungen für Daten Integration erläutern und Ihnen professionelle Empfehlungen geben, damit Sie Ihre Integrationsjobs noch einfacher und produktiver gestalten können.
Download PDF (Registrierung erforderlich)
|
Dieser Online-Artikel kann Links enthalten, die auf nicht mehr vorhandene Seiten verweisen. Wir ändern solche "broken links"
nur in wenigen Ausnahmefällen. Der Online-Artikel soll möglichst unverändert der gedrucken Fassung entsprechen.
|