Visualization of syntax trees for language processing courses (original) (raw)

Syntax trees visualization in language processing courses

2009 Ninth IEEE …, 2009

This article describes the educational tool VAST. We designed VAST to be used in compiler and language processing courses. The current version allows generating and visualizing syntax trees and their construction process. The main advantages of VAST follow: it is designed to be as independent from the parser generator as possible, it allows students to visualize the behavior of parsers they develop, and it has an interface designed to easily handle huge syntax trees. Finally, we describe two satisfactory preliminary evaluations from the usability and educational points of view.

Comparison of syntax tree visualization: TowardMalay Language (BM) syntax tree

2012

This study will analyze natural language syntax tree visualizations to compare visualization methods in order to choose the optimum solution for visualizing a BM syntax tree. Currently no syntax tree visualization for BM has been introduced, and no visualization is yet available in the form of computer software or a prototype. Methods that can be dealt with in creating a BM syntax tree include: tokenizing, a performing search and comparison, matching with the associated rules, and composing. Ten systems were analyzed, and the Link Grammar system was found to be the most viable. The Link Grammar system does not have a hierarchical structure that reflects the language syntax as compared to the SSTC (Structured String-Tree Correspondence) application which does. However, the SSTC shows the tree structure in a hierarchical manner, but it does not have a suitable method to follow in visualizing the BM sentence syntax tree.

Building LL (1) parsers with VAST. Second usability and educational evaluation

2011

VAST is an educational tool to use in subjects as compilers and language processors which allows to display the syntax tree. Its main feature is that can be used independent from the generation tool used to build the parser. This makes possible to visualize and animate the syntax tree generated by the parser. In this work we describe the second usability and educational evaluation using VAST comparing the results with ANTLR and ANTLRworks.

Improving Students' Performance with Visualization of Error Recovery Strategies in Syntax Analysis

J. Res. Pract. Inf. Technol., 2013

Journal of Research and Practice in Information Technology, Vol. 45, No. 3/4, August 2013 Copyright© 2013, Australian Computer Society Inc. General permission to republish, but not for profi t, all or part of this material is granted, provided that the JRPIT copyright notice is given and that reference is made to the publication, to its date of issue, and to the fact that reprinting privileges were granted by permission of the Australian Computer Society Inc. Visualization technologies can be used to enhance teaching materials. This work is focused on a complex aspect of syntax analysis, syntax error recovery strategies. Compiler visualization is not a new research fi eld, but the authors have not found any visualization tool dealing with this topic. We have enhanced a parser visualization tool called VAST to produce educational visualizations regarding syntax error recovery strategies. We have evaluated the enhanced version of VAST and its visualizations about syntax error recovery...

A preliminary evaluation of the impact of using a visual tool in a compilers course

Abstract During the last academic year (2007-2008), theoretical lectures on the Compilers module were complemented with a visual tool to reinforce some of the more difficult concepts in the module. JFlap, a visual tool aimed at visualizing automata models which can also be used in a compiler course to trace, visualize and in-depth study the parsing methods taught in the course, was the tool of choice.

Success and failure of programming environments - report on the design and use of a graphic abstract syntax tree editor

The STAPLE project investigates a persistent architecture for functional pro- gramming. Work has been done in two directions: the development of a program- ming environment for a functional language within a persistent system and an experiment on transferring the expertise of functional prototyping into industry. This paper is essentially a report on the first activity. The first section gives a general description of Absynte - the abstract syntax tree editor developed within the Project. Following sections make an attempt at measuring the effectiveness of such an editor and discuss the problems raised by structured syntax editing - specially environments based on abstract syntax trees. Although the benefits of syntax directed editors are obvious for beginners, the con- clusion is that they are not very attractive for experimented users.

An Algorithmic Representation of the Syntax Diagram of a Computer Programming Language

2021

Every programming language has its own syntax rules. Such rules can be represented with either the Backus-Naur form (BNF) notation or with a Syntax diagram (also called a Railroad diagram). BNF uses text-based mathematical notations for defining those rules, while a Syntax diagram employs a graphical approach. Converting any of the two techniques to an algorithm or computer program is somewhat difficult for students due to the recursive expressions used by each of the techniques in defining the syntactic rules of a grammar. The aim of this work is therefore to showcase how an algorithm for one of such techniques (namely, a syntax diagram) can be written for easy understanding and implementation with a computer. A Finite State automata (FSA) approach was adopted by the researcher for modelling any given grammatical rule of a programming language for easy implementation with a computer. The grammatical rules for generating an integer number was arbitrarily selected by the researcher, ...

TreeForm: Explaining and exploring grammar through syntax trees

Literary and Linguistic Computing, 2010

Linguists studying grammar often describe their models using a syntax tree. Drawing a syntax tree involves the depiction of a rooted tree with additional syntactic features using specific domain conventions. TreeForm assists users in developing syntax trees, complete with movement lines, coreference, and feature association, in order to explore their syntactic theories and explain them to their colleagues. It is a drag-and-drop alternative to LaTeX and labelled bracket notation tools already available, which many linguists find difficult to use. We compare the output of TreeForm to those existing tools and show that it is able to better respect the conventions of the domain. We assess how easily linguists learn to use TreeForm through a series of cognitive walkthroughs. Our reviews find that TreeForm is a viable alternative to existing tools.

Visual exploration of visual parser execution

Multimedia Tools and Applications, 2021

In this paper, we present ParVis, an interactive visual system for the animated visualization of logged parser trace executions. The system allows a parser implementer to create a visualizer for generated parsers by simply defining a JavaScript module that maps each logged parser instruction into a set of events driving the visual system interface. The result is a set of interacting graphical/text windows that allows users to explore logged parser executions and helps them to have a complete understanding of how the parser behaves during its execution on a given input. We used our system to visualize the behavior of textual as well as visual parsers and describe here two of these uses. Moreover, in order to validate the efficacy of our system, we ran a user experiment where students analyzed a CUP-generated parser both with ParVis, instantiated to LALR parsers, and the standard CUP debug facilities. The results show that students can indeed analyze parser behavior and find mistakes ...

REVIEW AND OUTLOOKS OF THE MEANS FOR VISUALIZATION OF SYNTAX SEMANTICS AND SOURCE CODE. PROCEDURAL AND OBJECT ORIENTED PARADIGM -DIFFERENCES

Hristov, H., „Review and outlooks of the means for visualization of syntax semantics and source code. Procedural and object oriented paradigm – differences”, Anniversary International Conference REMIA 2010, Plovdiv, 2010, pp. 443-450, ISBN 978-954-423-648-9, 2010

In the article, we have reviewed the means for visualization of syntax, semantics and source code for programming languages which support procedural and/or object-oriented paradigm. It is examined how the structure of the source code of the structural and object-oriented programming styles has influenced different approaches for their teaching. We maintain a thesis valid for the object-oriented programming paradigm, which claims that the activities for design and programming of classes are done by the same specialist, and the training of this specialist should include design as well as programming skills and knowledge for modeling of abstract data structures. We put the question how a high level of abstraction in the object-oriented paradigm should be presented in simple model in the design stage, so the complexity in the programming stage stay low and be easily learnable. We give answer to this question, by building models using the UML notation, as we take a concrete example from the teaching practice including programming techniques for inheritance and polymorphism.