• Refine Query
  • Source
  • Publication year
  • to
  • Language
  • 4
  • Tagged with
  • 4
  • 4
  • 3
  • 2
  • 2
  • 2
  • 2
  • 1
  • 1
  • 1
  • 1
  • 1
  • 1
  • 1
  • 1
  • About
  • The Global ETD Search service is a free service for researchers to find electronic theses and dissertations. This service is provided by the Networked Digital Library of Theses and Dissertations.
    Our metadata is collected from universities around the world. If you manage a university/consortium/country archive and want to be added, details can be found on the NDLTD website.
1

Frege IDE nad JetBrains MPS / Frege IDE with JetBrains MPS

Satmári, István January 2018 (has links)
Frege is an open-source project which brings the popular functional programming language Haskell to the Java ecosystem. JetBrains MPS is an open-source language workbench which allows users to design a new language and build an integrated development environment with a projectional (structured) editor for the created language. In this work we analyzed Frege grammar and created an IDE based on MPS that assists developers with writing code in the Frege language. Our environment includes a set of intuitive editors for editing Frege syntax, provides a simple type checking and implements code generators for the Frege language. Aim of the Frege IDE is its usability. Additionally, the thesis compares projectional editors with the more common plain-text IDEs, such as Eclipse, and evaluates whether they offer any advantage for editing purely functional programming languages.
2

ElmSr: A Structure Editor for Elm

Osmani, Narges January 2024 (has links)
Structure editors have been available for many decades, and for multiple programming languages. Historically, they have been recommended for teaching new programmers. Currently, they are recommended by advocates of Model Driven Development. However, they are not widely used, except for the special case of graphical structure editors commonly referred to as "block-based editors" such as Scratch. Although structure editors were first introduced for procedural languages, and they could be used for any type of language, current structure editors target object-oriented languages, almost exclusively, and build in many assumptions related to object orientation. The notable exception, Hazel, targets a functional language, exploits the strong typing typical of functional languages and emphasizes the use of typed holes. This thesis introduces ElmSr, a structure editor developed for teaching the Elm programming language to novice programmers. As with most structure editors, ElmSr allows the developer to directly edit the Abstract Syntax Tree, without the intermediary of a compiler. As with Hazel, ElmSr's AST is typed, and transformations preserve types. Also typical of tree editors written in functional languages, ElmSr uses a zipper data structure to encode both the tree and a cursor position, making for efficient tree edits. Like other structure editors, ElmSr is designed to make common tasks simple and efficient. In our case, common tasks match the steps students are taught in the "Algebraic Thinking" curriculum developed at McMaster University. Some steps are common to almost all programming, such as arithmetic expression entry and modification (which has been previously identified as a weak point for structure editors). Other steps, like definition integration, and support for function calls and control structures are specific to our curriculum. This aspect of usability was evaluated by comparing the number of keystrokes necessary for a benchmark task, using ElmSr, using VS Code following our structured development approach, and using VS Code solely for text entry. ElmSr was much more efficient than VS Code for structured editing, and still more efficient than linear code entry. / Thesis / Master of Science (MSc)
3

Projectional editor for domain-specific languages / Projectional editor for domain-specific languages

Dvořák, Ondřej January 2013 (has links)
Title: Projectional editor for domain-specific languages Author: Ondřej Dvořák Department: Department of Distributed and Dependable Systems Supervisor: RNDr. Michal Malohlava Abstract: Programming is a craft requiring a good tooling. One of tools selected as crucial for software development is an integrated development environment (IDE) that allows to maintain most of the general-purpose languages. Domain-specific languages grow in a popularity last years, thus it is necessary to support them by IDE as well. Not just a textual or graphical form of DSL sources is suitable for their maintenance, so does the combination of them. One of the promising approaches is represented by a novel method called a projectional editing. Its objective is to show different visualization forms of program source code, combine and manipulate with them at one place. The thought is typically realized by a projectional editor. In this thesis we design a projectional editor for domain-specific languages and provide its experimental implementation. It analyzes potential approaches to a projectional editing and designs their suitable realization in Microsoft Visual Studio. It provides a universal implementation of a projectional editor on the top of Visual Studio as well as on the top of a standalone application. Moreover, it supports...
4

Konvertor gramatik pro JetBrains MPS / Grammar to JetBrains MPS Convertor

Vysoký, Přemysl January 2016 (has links)
JetBrains MPS is a language workbench focusing on domain-specific languages. Unlike many other language workbenches and IDEs, it uses a projectional editor for code. The developer directly manipulates the program in its tree form (AST) and not by editing a text source code. This brings many advantages, but on the other hand requires time-consuming and complicated MPS language definition. The thesis elaborates on the possibility of automating the process of creating MPS language definition from its grammar description. It introduces the MPS editor, evaluates approaches of related projects and describes author's efforts to implement an MPS plugin that allows this import. The chosen approach and the selection of tools used for implementation are justified in the thesis. We point out important problems that any similar project might deal with and we introduce some possible solutions. Furthermore, the thesis contains examples of imported languages, showing the potency of the chosen approach. The thesis also aims to lay groundwork for future extensions and suggest possible improvements.

Page generated in 0.0796 seconds