Leimgruber, Stefan and Stojkovic, Slobodan (2013) Guided Script Editor. Student Research Project thesis, HSR Hochschule für Technik Rapperswil.
GuidedScriptEditor.pdf - Supplemental Material
Download (15MB) | Preview
Abstract
Ausgangslage
Eaton Automation ist der Hersteller eines grafischen Programmiersystems namens Galileo, welches in der Automationsbranche dazu eingesetzt wird, um interaktive Benutzeroberflächen zu entwickeln. Diese Benutzeroberflächen beinhalten verschiedene grafische Komponenten wie Knöpfe, Listen, Fehlerlisten, Rezepteditor und einiges mehr. Galileo bietet zudem eine einfache Script-Sprache, mit welcher Benutzer Automations-Abläufe selber programmieren können. Dazu soll nun ein moderner Editor im Sinne einer integrierten Entwicklungsumgebung realisiert werden, welcher den Benutzer bei der Programmierung der Automation-Scripts interaktiv unterstützt.
Aufgabenstellung
Die Aufgabe teilt sich grundsätzlich in zwei Teile: Als erster Teil gilt es, die aktuelle Script-Sprache zu analysieren und Vorschläge zur Vereinfachung und Vereinheitlichung der Funktionsaufrufe in dem Programmiermodell zu unterbreiten. Im zweiten Teil soll schliesslich der definierte Sprachumfang der Script-Sprache für den Editor implementiert werden. Hierbei soll auf Erweiterbarkeit geachtet werden, insbesondere dafür, dass Eaton die Sprache in Zukunft erweitern oder ändern kann. Vorgehen
In diesem Projekt wurde zuerst der Sprachumfang definiert und die Grammatik der Script-Sprache formalisiert. Danach wurden verschiedene Verarbeitungsschritte eines Compilers umgesetzt: Mit dem Lexer wird der Source-Text in einen Symbol-Strom zerlegt. Diese Information dient dem Syntax-Highlighting im Editor. Danach wird mit dem Parser der Symbol-Strom in einen abstrakten Syntax- Baum abgebildet und währenddessen die syntaktische Korrektheit des Scripts überprüft. Zuletzt folgt der semantische Checker, welcher die semantischen Regeln auf dem Syntax-Baum überprüft.
Ergebnisse
Die Lösung wurde im Visual Studio 2010 mit C# und dem .NET Framework 4.5 entwickelt. Die gesamte Syntax der Sprache wurde umgesetzt, wobei die spezifischen Funktionsdefinitionen jedoch konfigurierbar sind. Das Resultat ist gelungen: Es ist ein voll funktionsfähiger Programmier-Editor, der Eaton Scripts mit dem gesamten Komfort von Auto-Completion, Syntax-Highlighting sowie automatischer Markierung der Syntax- und Semantik-Fehler unterstützt.
Item Type: | Thesis (Student Research Project) |
---|---|
Subjects: | Area of Application > Business oriented Area of Application > Development Tools Technologies > Programming Languages > C# Technologies > Frameworks and Libraries > .NET |
Divisions: | Bachelor of Science FHO in Informatik > Student Research Project |
Depositing User: | OST Deposit User |
Contributors: | Contribution Name Email Thesis advisor Bläser, Luc UNSPECIFIED |
Date Deposited: | 23 Apr 2014 13:44 |
Last Modified: | 23 Apr 2014 13:44 |
URI: | https://eprints.ost.ch/id/eprint/347 |