Eine eigene Programmiersoftware

Guten Tag allerseits

Ich möchte für unsere Roboter eine Software Entwickeln um diese zu Programmieren. Was mich im moment am Anfang hindert ist, wie mach ich eine Oberfläche, wie Eclipse oder so,
wo ich den Text Eingeben kann. Die Software sollte danach den Syntax erkennen und selbst fertig schreiben, Farben ändern…

Mit welcher TextArea fange ich da am besten an?

Vielen Dank schonmal für die Tips

Wenn du kein Problem mit Eclipse hast, kann ich dir nur Xtext empfehlen. Da bekommst du Syntaxhighlighting, Quickfixes und alles was du von einer IDE erwartest sozusagen “gratis”. Zumindest lässt es sich recht einfach implementieren.

Code kannst du damit auch recht einfach generieren, weil du auch einen AST von dem eingegebenen Code erhältst.

Sowas schreib man nicht mal eben nebenbei, und als Anfänger schon gar nicht. (sorry, falls ich mit dem Anfänger falsch liege, aber die Frage klingt so…)

Ich denke, der beste Weg wäre das als Eclipse-RCP-Application aufzuziehen. Da hast Du die gesamte Infrastruktur schon vorhanden.

Such Dir Partner die sich schon gut mit RCP auskennen und mach dass mit denen zusammen.

bye
TT

[QUOTE=Timothy_Truckle;60621]Sowas schreib man nicht mal eben nebenbei, und als Anfänger schon gar nicht. (sorry, falls ich mit dem Anfänger falsch liege, aber die Frage klingt so…)

Ich denke, der beste Weg wäre das als Eclipse-RCP-Application aufzuziehen. Da hast Du die gesamte Infrastruktur schon vorhanden.

Such Dir Partner die sich schon gut mit RCP auskennen und mach dass mit denen zusammen.

bye
TT[/QUOTE]

Darum habe ich ja gefragt;-) Ich bin kein Profi, aber auch kein Anfänger mehr. Probieren möchte ich es trotzdem…

XText schau ich mir an, danke schonmal

Warum braucht es da eigentlich eine neue Sprache + neue IDE. Mit irgendwas müssen die Roboter ja laufen, kann man da keine bestehenden Sprachen oder IDEs verwenden?

Gruß

[QUOTE=Firephoenix]Warum braucht es da eigentlich eine neue Sprache + neue IDE. Mit irgendwas müssen die Roboter ja laufen, kann man da keine bestehenden Sprachen oder IDEs verwenden?

Gruß[/QUOTE]

Für mich klingt das so, dass die Roboter bereits mit einer Sprache programmiert werden, aber wohl keine “schicke” IDE existiert.

Abgesehen davon sind domänenspezifische Sprachen auch für “Nicht-Programmierer” leichter zu erlernen, weil sie deutlich weniger komplex sind.
Die Programme sind dann auch lesbarer.

Was stellst du dir unter “eigene Programmiersprache” vor? Eine Art DSL, mit der du eine einfache Syntax einführst, welche aber am Ende in Java dargestellt werden kann? Eine Syntax und einen eigenen Compiler für Java Bytecode? Syntax, Compiler und eine eigene Runtime?

Entsprechend dem Wunsch steigt auch der Schwierigkeitsgrad entsprechend der Aufzählungsreihenfolge nach.

Hehe nein nein wäre alles nicht so wild.

Die Syntax gibt es bereits, das sind gestandene Roboter! Nur die Programmierung erfolgt im Moment über das Windows Terminal direkt auf dem Roboter. Da dies nicht so toll ist, speichern wird die Software in ein Text File bearbeiten es dann in diesem Textfile und laden es wieder in den Roboter.

Die Java Software müsste den Text darstellen können, und wenn ein IF kommt, es Farbig hervorheben. In dieser Software sollte man schreiben können und dies am Schluss in eine Textdatei speichern um es in den Roboter zu laden.

Also nichts übersetzen oder dergleichen.

Zusammenfassung:

Text Datei einlesen <- Kein Problem
Syntax hervorheben und einrücken <- keine Ahnung wo ich da Anfangen soll
Text Datei schreiben <- Kein Problem

Falls es “nur” eine DSL werden soll, kann ich dir auch xText empfehlen gibt wohl nichts besseres zur Zeit für solche Anwendungsfälle…

EDIT: Also die Syntax als DSL darstellen mit allen Regeln und dann kann dir xText eine IDE dazu generieren

In welcher Sprache wird der Roboter programmiert?

Würde da definitiv auf die fertigen Eclipse RCP/IDE Packages setzen.

Ja nach Sprache könnte das Notepad++? Die haben da überraschend viel Highlighting drin.

Um mal noch Alternativen zu XText zu nennen: JEdit, jsyntaxpane und RSyntaxTextArea sind fertige Texteditorkomponenten mit Syntaxhighlighting. Ich habe allerdings keine davon jemals selber verwendet, k.A. ob die was taugen.

Das sind doch keine Alternativen zu xText :slight_smile:

Es ist eine eigene Sprache, AS. Kennt niemand und es gibt keine IDE auf der Welt die die Implementiert hat.

Ich werde mit xText mal anschauen, möchte es aber trotzdem selbst probieren. Bin da irgendwie motiviert:-)

Wir benutzen UltraEdit, geht nicht schlecht, aber halt nicht komplett…

Nicht? Wieso? Ging doch glaube ich hauptsächlich darum Texte in bunt darzustellen, oder? Wie gesagt, ich kenne selber keine einzige von diesen Lösungen. Teile dein Wissen doch mal mit mir. :slight_smile:

Ich würde auch Notepad++ empfehlen (da kann man ganz einfach eigene Syntax Highlighter schreiben).
Auch ganz nett ist SublimeText. Auchd a gibts custom Syntax Highlighter.

Zu einer IDE gehört ein bischen mehr als “nur” Syntax Highlighten oder?

  • Outline
  • Autocompletion
  • Refactor Funktionen

usw.

Ah jetzt check ich wie ein eigener Syntax im UltraEdit geht.

Na dann werde ich mir das anschauen bevor ich 2 Jahre lang das Rad neu erfinde :wink:

Vielen Dank trotzdem für die Hilfe

Schade, ich fand das sehr löblich. :wink:
Schätze mal da würde man am einfachsten mit dem Document-Interface arbeiten. Die Artikel Text Controls by Swing und More on Syntax Highlighting behandeln genau dieses Thema; auch wenn sie schon recht angestaubt sind dürfte da noch genug Wissenswertes drin stehen um starten zu können.