KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > polyglot > ext > skel > ExtensionInfo


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 /**
20  * Extension information for skel extension.
21  */

22 public class ExtensionInfo extends polyglot.ext.jl.ExtensionInfo {
23     static {
24         // force Topics to load
25
Topics t = new Topics();
26     }
27
28     public String JavaDoc defaultFileExtension() {
29         return "sx";
30     }
31
32     public String JavaDoc 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         // TODO: add passes as needed by your compiler
53
return passes;
54     }
55
56 }
57
Popular Tags