DocumentCode :
3720797
Title :
Thinking in blocks: Implications of using abstract syntax trees as the underlying program model
Author :
Daniel Wendel;Paul Medlock-Walton
Author_Institution :
Scheller Teacher Education Program, Massachusetts Institute of Technology, Cambridge, MA, USA
fYear :
2015
Firstpage :
63
Lastpage :
66
Abstract :
This paper examines the implications of using Abstract Syntax Trees (ASTs) as the underlying model for program editors and source control. For editors, working at the level of the AST enables error prevention, efficient auto-completion, and seamless use of multiple representations (e.g. blocks-to-text-to-blocks). An AST-based system also lends itself to both real-time and asynchronous collaborative editing, through intention-preserving algorithms much simpler than Operational Transformations. AST-based asynchronous collaborative editing makes several improvements to source control compared to Git, notably: reducing conflicts even in same-position edits, and eliminating diffs (and therefore conflicts) due to changes in formatting, spacing, or method ordering. Even text-based languages can reap these benefits, simply by changing the underlying program representation from text to AST.
Keywords :
"Collaboration","Syntactics","Real-time systems","Programming","Conferences","Sockets","Arrays"
Publisher :
ieee
Conference_Titel :
Blocks and Beyond Workshop (Blocks and Beyond), 2015 IEEE
Type :
conf
DOI :
10.1109/BLOCKS.2015.7369004
Filename :
7369004
Link To Document :
بازگشت