+ public static void main(String[] args) throws Exception {
+ if (args.length != 2) {
+ System.err.println("usage: java " + Demo.class.getName() + " grammarfile.g com.yourdomain.package.ClassName");
+ System.exit(-1);
+ }
+ //StringBuffer sbs = new StringBuffer();
+ //((MetaGrammar)new MetaGrammar().walk(meta)).nt.get("e").toString(sbs);
+ //System.err.println(sbs);
+ String className = args[1].substring(args[1].lastIndexOf('.')+1);
+ String packageName = args[1].substring(0, args[1].lastIndexOf('.'));
+ String fileName = packageName.replace('.', '/') + "/" + className + ".java";
+
+ BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(fileName)));
+ StringBuffer out = new StringBuffer();
+
+ boolean skip = false;
+ for(String s = br.readLine(); s != null; s = br.readLine()) {
+ if (s.indexOf("DO NOT EDIT STUFF BELOW: IT IS AUTOMATICALLY GENERATED") != -1 && s.indexOf("\"")==-1) skip = true;
+ if (s.indexOf("DO NOT EDIT STUFF ABOVE: IT IS AUTOMATICALLY GENERATED") != -1 && s.indexOf("\"")==-1) break;
+ if (!skip) out.append(s+"\n");
+ }