Open Source im professionellen Einsatz

Newsletter abonnieren
Seite durchsuchen

HEFTARCHIV | NEWS | E-BIBLIOTHEK | VIDEO | BLOGS | WHITEPAPER | EVENTS | ACADEMY | ABO | SHOP

user friendly

  Home  »  Heft & Abo  »  Heftarchiv  »  2008  »  06  »  Individuelle Lesehilfe  

RSS-Feed der aktuellen News von Linux-Magazin Online Folgen Sie Linux-Magazin Online auf Twitter
Diesen Artikel druckenDiesen Artikel weiterempfehlen Diesen Artikel kommentieren Newsletter abonnieren
Share/Bookmark

© 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="&quot;" />
</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="&quot;" />
</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.

Sie können diesen Artikel als PDF für 99 Cent kaufen. Klicken Sie dazu einfach auf eine der beiden Bezahloptionen Paypal oder ClickandBuy.


Diesen Artikel druckenDiesen Artikel weiterempfehlen Diesen Artikel kommentieren Newsletter abonnieren
Share/Bookmark
Ähnliche Artikel
Nebenläufig Concurrent Programming mit Clojure
Tooltipps Werkzeuge im Kurztest
Tooltipps Werkzeuge im Kurztest
Groß in Mode Workshop: Major Modes für (X)Emacs
Reichhaltiges Angebot C++0x, Teil 2: Neues in der Standardbibliothek
Gute Mine Rails-IDE Rubymine im Test
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)
Kommentare (0)