Suter, Toni (2017) Tifig. Masters thesis, HSR Hochschule für Technik Rapperswil.
HS16-EP-MA-ToniSuter-Tifig.pdf - Supplemental Material
Download (13MB) | Preview
Abstract
In 2014, Apple introduced a new programming language called Swift which replaced Objective-C as the default programming language to
develop applications for Apple's platforms. Since then, the language has evolved a lot and was open-sourced at the end of 2015. There are now
official releases for both macOS and Ubuntu and there are efforts from the community to bring the language to other platforms as well.
With its Xcode IDE (integrated development environment) Apple focuses mainly on the development of iOS and macOS apps. However, Xcode is not
available on platforms other than the Mac and there aren't a lot of alternatives yet. Additionally, many programmers are interested in using
Swift for other areas such as web development.
The main goal of this project is to create a cross-platform Swift IDE based on Eclipse which contains the basic components required to develop
Swift programs.
Over the course of the term project a simple Swift IDE called Tifig has been developed. The user can edit source files, build projects and
run the resulting executables all from within the IDE. Every time the user changes a source file, the code is re-parsed and syntax errors
are reported in the form of markers in the editor.
In the subsequent master thesis the parser has been further improved and updated for Swift 3. Additionally, an indexer has been implemented.
The semantic knowledge that is obtained by the indexer allowed for the development of the code navigation features "Open Type" and "Jump to Definition".
A lot of Swift's core types and operators are not part of the language itself, but are instead declared in the standard library. For this reason, Tifig
also indexes the standard library and makes its public symbols available in each project.
Item Type: | Thesis (Masters) |
---|---|
Subjects: | Area of Application > Development Tools Area of Application > Desktop based Technologies > Frameworks and Libraries > Eclipse Brands > Apple |
Divisions: | Master of Science in Engineering (MRU Software and Systems) |
Depositing User: | Stud. I |
Contributors: | Contribution Name Email Thesis advisor Sommerlad, Peter UNSPECIFIED |
Date Deposited: | 10 Apr 2017 06:15 |
Last Modified: | 02 Nov 2017 08:53 |
URI: | https://eprints.ost.ch/id/eprint/575 |