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…
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.
[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…
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?
[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.
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
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.
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.
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.
Schade, ich fand das sehr löblich.
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.