请输入您要查询的百科知识:

 

词条 Frame-based editor
释义

  1. Origin

  2. Relation to block-based editors and text editors

  3. Application

  4. Examples

  5. References

{{context|date=February 2019}}{{Infobox programming language
| name = Frame-based editor
| screenshot = Stride-screen.png
| screenshot size = 270px
| screenshot alt = Frame-based code sample
| caption = Frame-based editor (Stride)
}}

A frame-based editor is a specific kind of structure editor, typically used as a source code editor for the manipulation of computer programs. Program elements are represented by frames, which form the standard atomic unit of manipulation in the editor.

Frames in the editor represent nodes in the underlying syntax tree of the language being written, such as simple statements, control structures, or methods, and are manipulated as single entities in the user interface.

The representation of frame-based programs on screen makes use of graphical and textual elements. Most fundamentally, scope is presented by graphical boxes (the "frames" that give these editors their name), but other graphical elements, including color and graphical presentation, are also employed. Manipulation of frames in frame-based editors is typically supported equally via mouse-based gestures and keyboard manipulation.

Origin

The concept of Frame-based editing was developed at King's College London as a combination of features of standard text editors and block-based editing systems, such as Blockly and Scratch.[1] The concept attempts to merge beneficial aspects of block and text programming in a single system.[2]

Relation to block-based editors and text editors

Frame-based editors are technically hybrid structure/text editors which support editing at the higher level of the syntax tree in structure mode, while allowing expression edits in text mode.[3] They copy a number of concepts from block-based editors, such as the graphical representation of statements, which are manipulated as atomic units, presented graphically with distinct colouring, can be dragged-and-dropped with mouse gestures, and the provision of statement palettes from which statements may be chosen.

Other elements are modelled on traditional text editors, such as display of the program as linear text, keyboard-driven editing, and free-form editing at the expression level.

An academic study has compared effectiveness of frame-based editors to text editors for beginning programmers.[4]

Application

Currently, frame-based editors are used in educational systems to facilitate entry into programming for novice programmers, or to support the transition for learners from educational block-based systems, such as App Inventor, Scratch, Snap!, or Alice, to professional, text based programming environments.[5]

Theoretically, these types of editors can be used for manipulation of any structured text, including computer programs, web pages, and XML files. The editor benefits especially non-professional users, such as novices or casual programmers, due to its support for discoverability of statements and reduction of syntax errors.

Examples

An example of a frame-based editor is the editor for the Stride programming language[6]. Both the BlueJ and Greenfoot educational development environments support frame-based editing.

References

1. ^{{cite web|title= Kölling, Brown & Altadmri: Frame-Based Editing |url=https://kclpure.kcl.ac.uk/portal/en/publications/framebased-editing(8215a719-2474-49b4-8a8b-acb8170d9c40).html|accessdate=2019-01-27}}
2. ^{{cite web|title=Combining the Best of Blocks and Text Programming|url=https://kclpure.kcl.ac.uk/portal/en/publications/framebased-editing-combining-the-best-of-blocks-and-text-programming(080a8adc-fe35-44e1-94d8-efa49cacf252).html}}
3. ^{{cite web|title=Frame-Based Editing (web site)|url=https://www.greenfoot.org/frames/}}
4. ^http://twistedsquare.com/Frame-Evaluation.pdf
5. ^{{cite web|title= Frame-Based Editing: Easing the Transition from Blocks to Text-Based Programming|url=https://kclpure.kcl.ac.uk/portal/en/publications/framebased-editing-easing-the-transition-from-blocks-to-textbased-programming(5685b007-0a44-4606-b97f-61d50b14a2a6).html}}
6. ^{{cite web|title=The Stride Programming Language|url=http://stride-lang.net|accessdate=2019-01-27}}

1 : Text editor features

随便看

 

开放百科全书收录14589846条英语、德语、日语等多语种百科知识,基本涵盖了大多数领域的百科知识,是一部内容自由、开放的电子版国际百科全书。

 

Copyright © 2023 OENC.NET All Rights Reserved
京ICP备2021023879号 更新时间:2024/11/12 6:01:03