package polyglot.ext.skel;
import polyglot.lex.Lexer;
import polyglot.ext.skel.parse.Lexer_c;
import polyglot.ext.skel.parse.Grm;
import polyglot.ext.skel.ast.*;
import polyglot.ext.skel.types.*;
import polyglot.ast.*;
import polyglot.types.*;
import polyglot.util.*;
import polyglot.visit.*;
import polyglot.frontend.*;
import polyglot.main.*;
import java.util.*;
import java.io.*;
/**
* Extension information for skel extension.
*/
public class ExtensionInfo extends polyglot.ext.jl.ExtensionInfo {
static {
// force Topics to load
Topics t = new Topics();
}
public String defaultFileExtension() {
return "sx";
}
public String compilerName() {
return "skelc";
}
public Parser parser(Reader reader, FileSource source, ErrorQueue eq) {
Lexer lexer = new Lexer_c(reader, source.name(), eq);
Grm grm = new Grm(lexer, ts, nf, eq);
return new CupParser(grm, source, eq);
}
protected NodeFactory createNodeFactory() {
return new SkelNodeFactory_c();
}
protected TypeSystem createTypeSystem() {
return new SkelTypeSystem_c();
}
public List passes(Job job) {
List passes = super.passes(job);
// TODO: add passes as needed by your compiler
return passes;
}
}