1 From Eviss to Viola: Visual Parser Generators based on Extended Constraint Multiset Grammars Jiro Tanaka University of Tsukuba

Slides:



Advertisements
Similar presentations
Comparison of Several Meta-modeling Tools 2 Yi Lu Computer Science Department McGill University
Advertisements

A Visual Programming Environment Based on Graph Grammars and Tidy Graph Drawing Y. Adachi, Y. Miyadera, K. Sugita K. Tsuchida and T. Yaku.
Translator Architecture Code Generator ParserTokenizer string of characters (source code) string of tokens abstract program string of integers (object.
CS252: Systems Programming
Introduction to Databases
VisualLISA A Quick and Simple Demonstration. The default aspect of an attribute grammar specification on VisualLISA. In this view we can add a new production.
UNIVERSITY OF SOUTH CAROLINA Department of Computer Science and Engineering CSCE 330 Programming Language Structures Ch.2: Syntax and Semantics Fall 2005.
Visual Web Information Extraction With Lixto Robert Baumgartner Sergio Flesca Georg Gottlob.
File Systems and Databases
PZ03CX Programming Language design and Implementation -4th Edition Copyright©Prentice Hall, PZ03CX - Language semantics Programming Language Design.
Component and Deployment Diagrams
Chapter 3 Program translation1 Chapt. 3 Language Translation Syntax and Semantics Translation phases Formal translation models.
1 Committed to Shaping the Next Generation of IT Experts. Chapter 3 – Graphs and Charts: Delivering a Message Robert Grauer and Maryann Barber Exploring.
About the Presentations The presentations cover the objectives found in the opening of each chapter. All chapter objectives are listed in the beginning.
Information Extraction from Documents for Automating Softwre Testing by Patricia Lutsky Presented by Ramiro Lopez.
1.3 Executing Programs. How is Computer Code Transformed into an Executable? Interpreters Compilers Hybrid systems.
TIBCO Designer TIBCO BusinessWorks is a scalable, extensible, and easy to use integration platform that allows you to develop, deploy, and run integration.
A First Program Using C#
The Center for Advanced Research In Software Engineering (ARISE) The University of Texas at Austin Reengineering of Large-Scale Polylingual Systems Mark.
Syntax Directed Translation. Syntax directed translation Yacc can do a simple kind of syntax directed translation from an input sentence to C code We.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 8: Modelling Interactions and Behaviour.
Designing and Performing Geographic Analysis Processes with GISCASE Cirano Iochpe, Guillermo N. Hess, Cláudio Ruschel, Alécio P. D. Binotto, Luciana V.
Tip Calculator App Building an Android App with Java © by Pearson Education, Inc. All Rights Reserved.
Tools for Diagrammatic Specifications Stian Skjerveggen Supervisors: Yngve Lamo, Adrian Rutle, Uwe Egbert Wolter.
Java Programming: From Problem Analysis to Program Design, Second Edition1  Learn about basic GUI components.  Explore how the GUI components JFrame,
Working with the XML Document Object Model ©NIITeXtensible Markup Language/Lesson 7/Slide 1 of 44 Objectives In this lesson, you will learn to: *Identify.
AN IMPLEMENTATION OF A REGULAR EXPRESSION PARSER
CSSE501 Object-Oriented Development. Chapter 12: Implications of Substitution  In this chapter we will investigate some of the implications of the principle.
Copyright © 2010 Wolters Kluwer Health | Lippincott Williams & Wilkins Introduction to Windows Chapter 2.
TeSS – Training Workflows Workflow Team Meeting 13 August 2015.
WEB BASED DATA TRANSFORMATION USING XML, JAVA Group members: Darius Balarashti & Matt Smith.
Selected Topics in Software Engineering - Distributed Software Development.
Interpretation Environments and Evaluation. CS 354 Spring Translation Stages Lexical analysis (scanning) Parsing –Recognizing –Building parse tree.
Visual Linker Prototype presentation.
DataBase Management System What is DBMS Purpose of DBMS Data Abstraction Data Definition Language Data Manipulation Language Data Models Data Keys Relationships.
HTML Form Widgets. Review: HTML Forms HTML forms are used to create web pages that accept user input Forms allow the user to communicate information back.
Dependency Parser for Swedish Project for EDA171 by Jonas Pålsson Marcus Stamborg.
Logical view –show classes and objects Process view –models the executables Implementation view –Files, configuration and versions Deployment view –Physical.
COP 4620 / 5625 Programming Language Translation / Compiler Writing Fall 2003 Lecture 1, 08/28/03 Prof. Roy Levow.
A Java implementation of Peirce’s Existential Graphs
Cs332a_chapt10.ppt CS332A Advanced HTML Programming DHTML Dynamic Hypertext Markup Language A term describing a series of technologies Not a stand-a-lone.
Chapter 1 Introduction. Chapter 1 - Introduction 2 The Goal of Chapter 1 Introduce different forms of language translators Give a high level overview.
Cross Language Clone Analysis Team 2 October 13, 2010.
User Profiling using Semantic Web Group members: Ashwin Somaiah Asha Stephen Charlie Sudharshan Reddy.
Lab 5 CPIT 250 System Analysis and Design.
When we create.rtf document apart from saving the actual info the tool saves additional info like start of a paragraph, bold, size of the font.. Etc. This.
Chapter 5 Introduction To Form Builder. Lesson A Objectives  Display Forms Builder forms in a Web browser  Use a data block form to view, insert, update,
Cross Language Clone Analysis Team 2 February 3, 2011.
Concepts and Realization of a Diagram Editor Generator Based on Hypergraph Transformation Author: Mark Minas Presenter: Song Gu.
C H A P T E R T W O Linking Syntax And Semantics Programming Languages – Principles and Paradigms by Allen Tucker, Robert Noonan.
1 Programming Languages (CS 550) Lecture 2 Summary Mini Language Interpreter Jeremy R. Johnson.
10 Copyright © 2004, Oracle. All rights reserved. Building ADF View Components.
Integrating and Extending Workflow 8 AA301 Carl Sykes Ed Heaney.
Programming Languages Concepts Chapter 1: Programming Languages Concepts Lecture # 4.
COSC-4840 Software Engineering
IDE and Visualisation of Abstract Syntax Trees for Coco/R
CPSC 388 – Compiler Design and Construction
12 Product Configurator
RichAnnotator: Annotating rich (XML-like) documents
Thinking about grammars
CSCE 330 Programming Language Structures Ch.2: Syntax and Semantics
Data Model.
Presented by Denis Dubé Feb 28, 2005
Data Models.
Thinking about grammars
COMPILER CONSTRUCTION
COP 4620 / 5625 Programming Language Translation / Compiler Writing Fall 2003 Lecture 2, 09/04/2003 Prof. Roy Levow.
CH 4 - Language semantics
Visual Programming Languages ICS 539 Icon System Visual Languages & Visual Programming, Chapter 1, Editor Chang, 1990 ICS Department KFUPM Sept. 1,
Presentation transcript:

1 From Eviss to Viola: Visual Parser Generators based on Extended Constraint Multiset Grammars Jiro Tanaka University of Tsukuba

2 Contents Visual Parsing Visual Parser Generators  Eviss  Viola

3 Visual systems and visual languages Visual systems are systems that process visual languages. Visual languages are two (or more) dimensional languages with have structures. ER-diagrams customergoodsorder No.name numberNo.nameprice Class diagrams text left width height cut select Box select deselect Link name add sheet next sheet save load Drawing Collection cut copy move Selection delete Sheet

4 Visual parsing: motivation ⇒ We would like to implement visual systems with less effort and time.

5 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.

6 What i s Necessary (2) Generated visual systems keep the semantic relationships between figure elements, when moved

7 Visual Parser Generator: Grammar  Extended CMG (Constraint Multiset Grammars)

8 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

9 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

10 3 * 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. 3 * 4 5 +

11 Contents Visual Parsing Visual Parser Generators  Eviss  Viola

12 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

13 “Eviss” System Definition window Grammars are defined here. Execution window Generated systems can be used here. Relationships between figure elements are preserved.

14 Defining Rules Rough Rules can be defined visually. Eviss translates them into textual form. The user modifies - attributes - actions - constraints

15 Applications VSH calc treestackSTD VSH GUI BuilderHIVISUALVISPATCH 5 * 34 +

16 Calculation Tree * 34 + Calculation Tree

17 Stack a b c a b c

18 State Transition Diagram Editor

19 VSH (Visual Shell)

20 GUI Builder

21 HIVISUAL [I. Yoshimoto, 1986]

22 VISPATCH [Harada,1997]

23 More Application Recursive Drawing of a Comic Character

24 Problems with Eviss Needed to define Extended CMG rules textually. Difficult to the end users.

25 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.

26 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.

27 Demo: Network Structure Diagram

28 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.

29 Future direction: Meta-GUI Write meta-interpreter of Viola in Viola cf. Vispatch

30 Free Software Packages EVISS is available from More Info:

31 From Eviss to Viola: Visual Parser Generators based on Extended Constraint Multiset Grammars Jiro Tanaka University of Tsukuba