310 likes | 517 Views
From Eviss to Viola: Visual Parser Generators based on Extended Constraint Multiset Grammars. Jiro Tanaka University of Tsukuba jiro@computer.org. Contents. Visual Parsing Visual Parser Generators Eviss Viola. Box. Collection. text left width height. Link. select deselect. cut
E N D
From Eviss to Viola:Visual Parser Generators based on Extended Constraint Multiset Grammars Jiro Tanaka University of Tsukuba jiro@computer.org
Contents • Visual Parsing • Visual Parser Generators • Eviss • Viola
Box Collection text left width height Link select deselect cut select Selection Sheet Drawing name cut copy move delete add sheet next sheet save load customer order goods Class diagrams ER-diagrams name No. number No. name price Visual systems and visual languages • Visual systems are systems that process visual languages. • Visual languages are two (or more) dimensional languages with have structures.
Visual parsing: motivation ⇒We would like to implement visual systems with less effort and time.
What is Necessary • 2D version of yacc (text -> visual) • A visual parser generator such as yacc which generates a parser if rules and actions are given. • Easy visual system builder • Make visual systems with less efforts, only by giving their rules.
3 4 + 3 4 3 4 3 4 + + + What is Necessary (2) • Generated visual systems keep the semantic relationships between figure elements, when moved.
Visual Parser Generator: • Grammar • Extended CMG (Constraint Multiset Grammars)
Extended CMG Extended Constraint Multiset Grammar • CMG is used to describe the relationship between figures using constraints. • Extended CMG is obtained by adding various actions to CMG. val
Actions • Actions are arbitrary script such as • calculating values • creating widgets • redrawing the figures in the execution window • alter the attributes of the figures • move the figures • create new figures • delete the figures
5 3 4 + * How the ListTree is Parsed 1. ListTree consists of a circle with a text string in it. No arrow comes into the node. 2. ListTree consists of a circle with a text string in it. There exist two arrows which come into the circle. Each arrow comes from another ListTree. 5 3 4 + *
Contents • Visual Parsing • Visual Parser Generators • Eviss • Viola
Visual Parser Generators • We have implemented a series of visual parser generators based on Extended CMG. • Eviss [1997] is the first one. • Implemented in Tcl/Tk • Viola [2004] is the latest one. • Implemented in Java
“Eviss” System Definition window Grammars are defined here. Execution window Generated systems can be used here. Relationships between figure elements are preserved.
Rough Rules can be defined visually. Defining Rules The user modifies - attributes - actions - constraints Eviss translates them into textual form.
3 4 + 5 * Applications VSH calc tree stack STD VSH GUI Builder HIVISUAL VISPATCH
3 4 7 + 5 * Calculation Tree 35 Calculation Tree
Stack c c b b a a
HIVISUAL • [I. Yoshimoto, 1986]
VISPATCH • [Harada,1997]
More Application • Recursive Drawing of a Comic Character
Problems with Eviss • Needed to define Extended CMG rules textually. • Difficult to the end users.
Features of Viola • The user can define the rules by direct manipulation, without describing rules in text. • Implemented in Java (J2SE v1.4.1) • As a constraint solver, Chorus [Hosobe 2001] is used.
Features of Viola (2) • No distinction between the definition window and the execution window. We can define the rules and execute the visual system dynamically.
Summary • Visual Parser Generators based on Extended CMG are described. • They generate the spatial parsers, if the rules for the visual languages are given. • The grammars are based on the extended CMG. • In Viola, the user can define rules and execute them dynamically.
Future direction: Meta-GUI • Write meta-interpreter of Viola in Violacf. Vispatch
Free Software Packages • EVISS is available fromhttp://www.iplab.cs.tsukuba.ac.jp/ • More Info: jiro@computer.org
From Eviss to Viola:Visual Parser Generators based on Extended Constraint Multiset Grammars Jiro Tanaka University of Tsukuba jiro@computer.org