1 package polyglot.ext.skel; 2 3 import polyglot.lex.Lexer; 4 import polyglot.ext.skel.parse.Lexer_c; 5 import polyglot.ext.skel.parse.Grm; 6 import polyglot.ext.skel.ast.*; 7 import polyglot.ext.skel.types.*; 8 9 import polyglot.ast.*; 10 import polyglot.types.*; 11 import polyglot.util.*; 12 import polyglot.visit.*; 13 import polyglot.frontend.*; 14 import polyglot.main.*; 15 16 import java.util.*; 17 import java.io.*; 18 19 22 public class ExtensionInfo extends polyglot.ext.jl.ExtensionInfo { 23 static { 24 Topics t = new Topics(); 26 } 27 28 public String defaultFileExtension() { 29 return "sx"; 30 } 31 32 public String compilerName() { 33 return "skelc"; 34 } 35 36 public Parser parser(Reader reader, FileSource source, ErrorQueue eq) { 37 Lexer lexer = new Lexer_c(reader, source.name(), eq); 38 Grm grm = new Grm(lexer, ts, nf, eq); 39 return new CupParser(grm, source, eq); 40 } 41 42 protected NodeFactory createNodeFactory() { 43 return new SkelNodeFactory_c(); 44 } 45 46 protected TypeSystem createTypeSystem() { 47 return new SkelTypeSystem_c(); 48 } 49 50 public List passes(Job job) { 51 List passes = super.passes(job); 52 return passes; 54 } 55 56 } 57 | Popular Tags |