Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Hallo zusammen.
Ich habe eine Konfigurationsfrage zu Eclipse, und zwar:
Wir haben in der Firma Dateitypen mit einer 4GL-Sprache. Das Ganze ist schon etwas älter, wird aber noch bearbeitet. Da andere Projekte (C/C++ und Java) mit Eclipse bearbeitet werden, wäre es nun prima, wenn man diese 4GL-Dateien auch mit Eclipse öffnen und bearbeiten kann (bis wird es mit einem externen Editor gemacht).
Diese Dateien sind einfache Textdateien, brauchen aber eine bestimmte Schriftart und ein eigenes Syntaxhighlighting wäre auch nett (...bitte fragt mich nicht, wer sich das ausgedacht hat ).
Nun habe ich es bisher nur geschafft, Eclipse zu sagen, dass er die Dateien mit seinem Standard-Texteditor zu öffnen. Ich kann den Dateityp auch anderen, existierenden Editoren zuweisen (Javaeditor, C-Editor, ...), aber ich bräuchte eben einen eigenen.
Nun die Frage: Kann man eine eigene Instanz des Eclipse-Texteditor definieren, mit eigenem Highlighting und Schriftart, oder geht das nur über ein Plugin? Oder gibt es weitere Ideen dazu?
Danke schonmal.
---
Bisher habe ich mich in den Einstellungen (Window->Preferences):
Code:
General
+ Content Types
+ Editors
+ File Associations
Gibt es eine Grammatik für die Sprache? Wenn ja, dann kannst du aus dieser Grammatik einen Eclipse Editor generieren lassen der Syntax Highlighting, Folding, Outline, Auto Completion,... unterstützt.
Die Grammatik muss dazu in der Regel etwas angepasst werden, aber wenn du sie postest und nicht allzu kompliziert ist kann ich mir das mal anschauen
Hallo.
Also erstmal danke für die Überlegungen. Das mit der Grammatik ...tja. Es gibt (fast) eine, aber keine schön notierte und zusammengefasste: In einem älteren Handbuch gibt es eine Quasi-BNF, aber ich gehe mal stark davon aus, dass die nicht die vollständige Sprache beschreibt.
Ich werde mich diesbezüglich aber nochmal näher informieren, der Ansatz klingt auf jeden Fall klug, denn so eine Grammatik wäre noch an anderen Stellen hilfreich.
Sie muss nicht komplett formal sein, Quasi-(E)BNF ist perfekt. Von da aus muss man sowieso etwas umschreiben.
Poste mir doch ein somewhat self-contained snippet der Grammatik, oder beschreibe einen Teil der Sprache, dann kann ich dir am konkreten Beispiel zeigen wie man dafür einen Editor erzeugt.
Hallo. Also ich habe mal zwei Blöcke kopiert, die mir spontan recht vollständig erschienen. Ich hoffe sie helfen dir.
Beim ersten habe ich schon die ersten Sonderzeichen rausfischen müssen: Bei "<Operator>" gibt es ein paar mathem. Symbole. Die Unicodes dafür sind:
≤ == U+2264
≥ == U+2265
∈ == HTML: ∈ (Unicode spontan nicht gefunden)
In den beiden Blöcken haben leider zu viele Regeln gefehlt. Ausserdem war für mich (da ich die Sprache nicht kenne) nicht ersichtlich was wiederholt werden darf, was optional oder mandatory ist,...
Wie auch immer, ich habe einen Teil der Grammatik umgesetzt und fehlende Regeln nach eigenem Gusto gefüllt damit du mal eine Vorstellung bekommst wie das Resultat aussieht.
In den Screenshots unten siehst du den aus der Grammatik generierten Editor.
Unter anderem folgende Features bekommst du out-of-the-box
-Syntax Highlighting
-Semantic Highlightinj
-Live Validation
-Quickfixes
-Outline
-Quick Outline
-Code Completion
-Auto Formatter
-Incremental Builder Infrastruktur
-Compiler Infrastruktur
-Lexer
-Parser
-AST
-Linker
-EMF Modell der Sprache
-Serializer
Erst einmal vielen Dank Wildcard! Ich kenne die Sprache leider auch nicht wirklich, hatte nur gesagt bekommen, dass ich ja mal schauen könnte, obs da was für Eclipse gäbe.
Offenbar tut es das. Kannst du mir sagen womit du den Editor aus der Grammatik generierst? Bzw. wie? Dann könnte man sich über eine saubere / ausführlichere Grammatik mal Gedanken machen.
Ansonsten setze ich mich mal hin und mach für ein paar Sprachschnipsel eine Grammatik bzw. prüfe diese mal.
Auf Deutsch wirst du schlechte Karten haben für alles was mit Eclipse Entwicklung zu tun hat. Deutschland ist zwar mit die größte Eclipse Community, allerdings mailen, bloggen und dokumentieren wir alles in Englisch, damit ein größerer Entwicklerkreis davon profitieren kann.
Okay, dann eben auf englisch. Mein Problem ist, dass ich das Konzept noch nicht richtig verstanden habe.
Damit meine ich, wie funktioniert die Grammatik und was gibt es für Codewörter?
Gibt es eine Art Befehlsreferenz?
Kleines Update (Fortsetzung hier) zum Thema: Das XText ist gut, wenn man eine beschreibbare Grammatik hat, für unseren Fall aber kann man keine einheitliche Grammatik finden, weswegen XText hier nicht helfen kann. Ich schließe das Thema damit.
Ach Wildcard, diese 4GL-Sprache ist ohnehin eine Art Wunder (...im gleichen Sinne wie man Flutwellen als Wunder bezeichnen kann...).
Sie wird mit einem selbstgeschriebenen Parser ausgewertet und umgesetzt. Das größte Problem ist hier, dass die Grammatik zwischen konkreten Dateien unterscheidet und diese unterschiedlich auswertet.
Ich glaube mittlerweile nicht, dass man sich 'damals' Gedanken um eine Grammatik gemacht hat. Im Handbuch sind daher auch nur immer einzelne Befehlsblöcke in BNF beschrieben.