Presentation is loading. Please wait.

Presentation is loading. Please wait.

Aryeh Tasher Brian Ramos Qijun Zhong Michael Li Tian Zhang.

Similar presentations


Presentation on theme: "Aryeh Tasher Brian Ramos Qijun Zhong Michael Li Tian Zhang."— Presentation transcript:

1 Aryeh Tasher Brian Ramos Qijun Zhong Michael Li Tian Zhang

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

3 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

4 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…

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

6 ABQMT’s Solution

7 Nodes Declarations

8 Edges and Anchors

9 Make Connections

10 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

11 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

12 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); …

13 Translator Architecture

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

15 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

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

17 Lesson Learned Team communication is valuable SVN Google groups Schedule

18 Demo Now for the ABQMT version of the Manchester map…


Download ppt "Aryeh Tasher Brian Ramos Qijun Zhong Michael Li Tian Zhang."

Similar presentations


Ads by Google