An experience with antlr, java and python

I was trying first to create the parser using GNU Flex and Bison in C, probably the best way for a very performancing parser. Yeah, that’s right.. but looking at the antlr syntax I realized that’s easier and easier. Moreover I start using this very useful eclipse plugin for antlr debugging which made my life easier!

Help On Writing A Dissertation

David Lease Copy Of Dissertation

http://www.ulim.md/?the-master-thesis The Master Thesis

1 http://www.ustech365.com/to-buy-an-essay/ To Buy An Essay import java.io.File; http://www.nevberega.com/?essay-writing-homework-help Essay Writing Homework Help import java.io.FileInputStream; How To Start And Essay import java.io.FileNotFoundException; import antlr.CommonAST; Buy Thesis Phd import antlr.RecognitionException; Term Paper Writing Steps import antlr.TokenStreamException; http://grekokatolicy.pl/?how-to-write-findings-in-dissertation How To Write Findings In Dissertation public class Application { public static void main(String argv[]) { Graduate School Admissions Essay Length if(argv.length > 0) Personal Statement For Scholarship { Romeo And Juliet Essay Intro File file = new File(argv[0]); How To Write An Application Essay Review if(file.exists()) Pay Someone To Write A Literature Review { FileInputStream is = null; try { is = new FileInputStream(file); } catch (FileNotFoundException e) { http://sankayaonline.com/writing-an-admission-essay-introduction/ Writing An Admission Essay Introduction // TODO Auto-generated catch block Help My Thesis e.printStackTrace(); Argumentative Essay On Obesity } AS3Lexer L = new AS3Lexer(is); http://aviusa.org/buy-essays-online-australia/ Buy Essays Online Australia AS3Parser P = new AS3Parser(L); try { Essay Planning P.compilationUnit(); Abd Dissertation } catch (RecognitionException e) { // TODO Auto-generated catch block http://www.sv-virgo.nl/?research-paper-order-online Research Paper Order Online System.out.println(" line=" + e.line + ", column="+ e.column); System.out.println(e.getMessage()); e.printStackTrace(System.err); Masters Dissertation Services Mergers And Acquisitions } catch (TokenStreamException e) { // TODO Auto-generated catch block Resume Md Phd System.out.println(" line=" + L.getLine() + ", column="+ L.getColumn()); System.out.println(L.getGuessInfo()); Phd Thesis On Groupers System.out.println(e.getMessage()); e.printStackTrace(System.err);
}
CommonAST.setVerboseStringConversion(false, P.getTokenNames());
CommonAST ast = (CommonAST) P.getAST();
System.out.println("Tree:");
System.out.println(ast.toStringTree());
}
}
}
}

Everything works fine also for python, but I realized that the python script were so much slower than the java one!

1
2
3
4
5
6
7
8
9
10
11
12
import sys
import antlr
import AS3Parser
import AS3Lexer
L = AS3Lexer.Lexer(filename);
P = AS3Parser.Parser(L);
P.setFilename(filename)
try:
   P.compilationUnit();
   ast = P.getAST();
except:
   pass

How To Write A Research Abstract So I run the python hotshot profiler to see which could be the bottleneck in the python script and I found most of the problems were due to unuseless antlr (the python module) method’s calls.
After making corrections to the antlr.py file the same script took exactly half of the time. Now 3 seconds. Wow 🙂
But not fast enough.
So I enabled for the antlr python script psyco module and this time the same script took only 1.6 seconds.
Now the python script is fast enough, even if I’m sure I can make more optimizations in the antlr module…

Dissertation Philosophie Conclusion