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…