Aryeh Tasher Brian Ramos Qijun Zhong Michael Li Tian Zhang.

Slides:



Advertisements
Similar presentations
Chapter 15 Debugging. Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display Debugging with High Level Languages.
Advertisements

KFrog Graphics Language for Kids Rami Habas - Project Manager Kyoho Satsumi - System Architect Hidemitsu Izawa - Tools Guru Murat Dogru - System Integrator.
Slides prepared by Rose Williams, Binghamton University Chapter 1 Getting Started 1.1 Introduction to Java.
BROOM: A Matrix Language Chris Tobin Michael Weiss Gabe Glaser Brian Pellegrini.
Lecture #4 Agenda Cell phones off & name signs out Review Questions? Objects The birds-and-the-bees talk.
HTML Recall that HTML is static in that it describes how a page is to be displayed, but it doesn’t provide for interaction or animation. A page created.
Chapter 16 Programming and Languages: Telling the Computer What to Do.
ESL - A language for Social Networks Team : Fantastic Four Ashwath Narsimhan – Project Manager Jyotsna Sebe – System Architect Shailesh Saroha – System.
Introduction & Overview CS4533 from Cooper & Torczon.
An Overview of Computers and Programming
PRE-PROGRAMMING PHASE
1. 2 Chapter 1 Introduction to Computers, Programs, and Java.
1.3 Executing Programs. How is Computer Code Transformed into an Executable? Interpreters Compilers Hybrid systems.
(1.1) COEN 171 Programming Languages Winter 2000 Ron Danielson.
Basics Programming Concepts. Basics A computer program is a set of instructions to tell a computer what to do Machine language = circuit level language.
Chapter 1 Introduction Dr. Frank Lee. 1.1 Why Study Compiler? To write more efficient code in a high-level language To provide solid foundation in parsing.
Parser-Driven Games Tool programming © Allan C. Milne Abertay University v
Intro to Java & Processing. Review CS is about problem-solving CS is about problem-solving To write programs you must To write programs you must –Be able.
Chapter 10: Compilers and Language Translation Invitation to Computer Science, Java Version, Third Edition.
Change Impact Analysis for AspectJ Programs Sai Zhang, Zhongxian Gu, Yu Lin and Jianjun Zhao Shanghai Jiao Tong University.
{ Graphite Grigory Arashkovich, Anuj Khanna, Anirban Gangopadhyay, Michael D’Egidio, Laura Willson.
Sarah Alkuhlani Anwesha Deb Neethi Vedamoorthy Shilpa Miriyala Faiza Khan Khattak.
Introduction to modeling using UML. Why modeling www Solutions The Business world Models System design Technology: Hardware, Windows, network, servers,
Java Applets. 2 Introduction to Java Applet Programs Applications are ___________________ programs –executed with Java interpreter Applet is a small program.
BUILD ON THE POLYGLOT COMPILER FRAMEWORK MIHAL BRUMBULLI 7th Workshop “SEERE” Montenegro-Risan 9-14 September 2007 SimJ Programming Language.
CS453 LectureIntroduction1 CS453 Compiler Construction Instructor:Wim Bohm Computer Science Building 470 TA: tba
Chapter 1 Introduction. Chapter 1 - Introduction 2 The Goal of Chapter 1 Introduce different forms of language translators Give a high level overview.
1. 2 Preface In the time since the 1986 edition of this book, the world of compiler design has changed significantly 3.
1 Compiler Design (40-414)  Main Text Book: Compilers: Principles, Techniques & Tools, 2 nd ed., Aho, Lam, Sethi, and Ullman, 2007  Evaluation:  Midterm.
1 Program Planning and Design Important stages before actual program is written.
E xpressing Z ombies as P rogrammable I ndividuals Abhinav Sharma Wayne Shu Miles Ulrich.
Application Architecture Using Java Hong Li. Introduction Developed by a team led by James Gosling at Sun Microsystem. Originally called Oak, designed.
May08-21 Model-Based Software Development Kevin Korslund Daniel De Graaf Cory Kleinheksel Benjamin Miller Client – Rockwell Collins Faculty Advisor – Dr.
Presented by: Elena C. Ciobanu Mihai V. Ciobanu Kuntal Ghosh
Software Development Introduction
Concepts and Realization of a Diagram Editor Generator Based on Hypergraph Transformation Author: Mark Minas Presenter: Song Gu.
Dr. Mohamed Ramadan Saady 314ALL CH1.1 Chapter 1: Introduction to Compiling.
CSC 4181 Compiler Construction
Compilers and Interpreters
© Peter Andreae Java Programs COMP 102 # T1 Peter Andreae Computer Science Victoria University of Wellington.
THRLL Programming Language Aimee Sanchez Neetha Sebastion Kapil Verma Hemanth Murthy Michael Seaman.
Execution ways of program References: www. en.wikipedia.org/wiki/Integrated_development_environment  You can execute or run a simple java program with.
Programming Languages Concepts Chapter 1: Programming Languages Concepts Lecture # 4.
Java Programming Fifth Edition Chapter 1 Creating Your First Java Classes.
Prologue Sung-Dong Kim, Dept. of Computer Engineering, Hansung University.
Chapter Goals Describe the application development process and the role of methodologies, models, and tools Compare and contrast programming language generations.
Development Environment
Compiler Design (40-414) Main Text Book:
Programming Languages
Introduction to Eclipse
Object-Oriented Programming Using Java
The Software Development Cycle
Software Design and Development
Google Web Toolkit - Gufran Mohammed
CS 153: Concepts of Compiler Design November 30 Class Meeting
Productivity Tools Extensions to NetBeans IDE that make life easier
CS416 Compiler Design lec00-outline September 19, 2018
Introduction CI612 Compiler Design CI612 Compiler Design.
Hands-on Introduction to JAVA
Java Applets.
Chapter 2- Visual Basic Schneider
<<Project Name>>
Programming.
CS416 Compiler Design lec00-outline February 23, 2019
Creating Computer Programs
LCC 6310 Computation as an Expressive Medium
Chapter 10: Compilers and Language Translation
Lec00-outline May 18, 2019 Compiler Design CS416 Compiler Design.
Creating Computer Programs
Graphical Modeling of INFOD applications
Presentation transcript:

Aryeh Tasher Brian Ramos Qijun Zhong Michael Li Tian Zhang

What is ABQMT? What does it do? Who can use it? The best programming language ever?

Motivation Computer scientists love graphs! Programming simple graphics in Java is too confusing (Swing, AWT, etc.) We want to use simple syntax to describe simple maps We don’t like Java We want a good grade in PLT

The Solution ABQMT! Makes the creation of simple maps easy and efficient Let’s take a look at a simple map we would want to describe…

A Simple Map Too much Java Code ABQMT to the rescue!

ABQMT’s Solution

Nodes Declarations

Edges and Anchors

Make Connections

Syntactic Construction Demo; //First line: the name of the map fileMap Attributes //x and y size,color,nameStartmap; //equivalence of main block in C Nodes declarations //declare nodes and initialize attributes Edges declarations //declare edges and initialize attributes Make connections //draw the mapEndmap; //end of program

The ABQMT Interpreter We need Java classes to provide templates and definitions for drawing windows and objects (shapes, edges etc.) Our interpreter includes these templates then translate ABQMT function into java code based on these templates

Example ABQMT: Node x = new node(55,55,RED,5,CIRCLE) ABQMT interpreter JAVA: Circle x = new circle(55,55,RED,5,CIRCLE) x.paintNode(Graphics G); …

Translator Architecture

Testing Script that iterated through tests and then printed out type information and displayed maps Print error messages when failed AntlrWorks for grammar debugging

Tools Used Front End: AntlrWorks We use it to construct recognizers, interpreters, compilers, and translators from grammatical descriptions containing actions in Java Back End: Eclipse and NetBeans (Java) for static semantic analysis Version Control: SVN It is used to maintain current and historical versions of files such as source code

Conclusion ABQMT is valuable to new and experienced programmer alike ABQMT is better than Java!

Lesson Learned Team communication is valuable SVN Google groups Schedule

Demo Now for the ABQMT version of the Manchester map…