Adding Interactive Visual Syntax to Textual Code

10/23/2020
by   Leif Andersen, et al.
0

Many programming problems call for turning geometrical thoughts into code: tables, hierarchical structures, nests of objects, trees, forests, graphs, and so on. Linear text does not do justice to such thoughts. But, it has been the dominant programming medium for the past and will remain so for the foreseeable future. This paper proposes a novel mechanism for conveniently extending textual programming languages with problem-specific visual syntax. It argues the necessity of this language feature, demonstrates the feasibility with a robust prototype, and sketches a design plan for adapting the idea to other languages.

READ FULL TEXT

page 1

page 2

page 14

page 16

page 21

research
11/24/2021

Systematic Analysis of Programming Languages and Their Execution Environments for Spectre Attacks

In this paper, we analyze the security of programming languages and thei...
research
05/01/2022

Unified Abstract Syntax Tree Representation Learning for Cross-Language Program Classification

Program classification can be regarded as a high-level abstraction of co...
research
02/01/2019

Concrete Syntax with Black Box Parsers

Context: Meta programming consists for a large part of matching, analyzi...
research
09/07/2023

Predicting Defective Visual Code Changes in a Multi-Language AAA Video Game Project

Video game development increasingly relies on using visual programming l...
research
07/15/2021

Duplicated Code Pattern Mining in Visual Programming Languages

Visual Programming Languages (VPLs), coupled with the high-level abstrac...
research
01/28/2020

Beyond Notations: Hygienic Macro Expansion for Theorem Proving Languages

In interactive theorem provers (ITPs), extensible syntax is not only cru...
research
11/09/2018

Computational Thinking with the Web Crowd using CodeMapper

It has been argued that computational thinking should precede computer p...

Please sign up or login with your details

Forgot password? Click here to reset