• 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