Changeset 811
- Timestamp:
- Jul 29, 2012 10:05:22 AM (12 years ago)
- Location:
- trunk/magnolia-eclipse/src/org/magnolialang
- Files:
-
- 10 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/magnolia-eclipse/src/org/magnolialang/infra/EclipseInfra.java
r804 r811 9 9 10 10 import org.eclipse.core.runtime.IPath; 11 import org.eclipse.imp.pdb.facts.IConstructor; 12 import org.eclipse.imp.pdb.facts.ISourceLocation; 11 13 import org.magnolialang.compiler.ICompiler; 12 14 import org.magnolialang.eclipse.MagnoliaFileLocator; … … 65 67 66 68 @Override 67 public IGTD getParser(String moduleName) {69 public IGTD<IConstructor, IConstructor, ISourceLocation> getParser(String moduleName) { 68 70 return RascalParser.getParser(moduleName); 69 71 } … … 77 79 78 80 @Override 79 public IActionExecutor getActionExecutor(String moduleName, IGTDparser) {81 public IActionExecutor<IConstructor> getActionExecutor(String moduleName, IGTD<IConstructor, IConstructor, ISourceLocation> parser) { 80 82 return RascalParser.getActionExecutor(moduleName, parser); 81 83 } -
trunk/magnolia-eclipse/src/org/magnolialang/infra/IInfra.java
r807 r811 6 6 7 7 import org.eclipse.core.runtime.IPath; 8 import org.eclipse.imp.pdb.facts.IConstructor; 9 import org.eclipse.imp.pdb.facts.ISourceLocation; 8 10 import org.magnolialang.compiler.ICompiler; 9 11 import org.magnolialang.resources.IModuleManager; … … 48 50 * @return A new parser instance 49 51 */ 50 public IGTD getParser(String moduleName);52 public IGTD<IConstructor, IConstructor, ISourceLocation> getParser(String moduleName); 51 53 52 54 … … 74 76 * @return An ActionExecutor 75 77 */ 76 public IActionExecutor getActionExecutor(String moduleName, IGTDparser);78 public IActionExecutor<IConstructor> getActionExecutor(String moduleName, IGTD<IConstructor, IConstructor, ISourceLocation> parser); 77 79 78 80 -
trunk/magnolia-eclipse/src/org/magnolialang/load/ModuleParser.java
r794 r811 9 9 10 10 import org.eclipse.imp.pdb.facts.IConstructor; 11 import org.eclipse.imp.pdb.facts.ISourceLocation; 11 12 import org.magnolialang.Config; 12 13 import org.magnolialang.infra.Infra; … … 15 16 import org.rascalmpl.parser.gtd.exception.UndeclaredNonTerminalException; 16 17 import org.rascalmpl.parser.gtd.io.InputConverter; 18 import org.rascalmpl.parser.gtd.result.out.DefaultNodeFlattener; 19 import org.rascalmpl.parser.uptr.UPTRNodeFactory; 17 20 18 21 public final class ModuleParser { 22 private static final UPTRNodeFactory NODE_CONSTRUCTOR_FACTORY = new UPTRNodeFactory(); 23 19 24 private static final Map<ILanguage, ModuleParser> parsers = new HashMap<ILanguage, ModuleParser>(); 20 25 … … 47 52 public IConstructor parseModule(final URI location, final char[] moduleString) { 48 53 try { 49 IGTD parser = Infra.get().getParser(module); 50 IConstructor pt = (IConstructor) parser.parse("start__Program", location, moduleString, Infra.get().getActionExecutor(module, parser), new org.rascalmpl.parser.uptr.NodeToUPTR()); 54 IGTD<IConstructor, IConstructor, ISourceLocation> parser = Infra.get().getParser(module); 55 IConstructor pt = (IConstructor) parser.parse("start__Program", location, moduleString, Infra.get().getActionExecutor(module, parser), 56 new DefaultNodeFlattener<IConstructor, IConstructor, ISourceLocation>(), NODE_CONSTRUCTOR_FACTORY); 51 57 hasAlreadyTriedToRegenerateParser = false; 52 58 return pt; -
trunk/magnolia-eclipse/src/org/magnolialang/magnolia/typechecker/Environment.rsc
r782 r811 156 156 result = env.names[basename(name)][kind]; 157 157 if(result == {}) { 158 termPrintln("lookupName: ", name); 158 159 env = errorMark(env, "Undefined name \'<dispNameOf(name, env)>\' in <nameKind(kind)> clause", locOf(name)); 159 160 } -
trunk/magnolia-eclipse/src/org/magnolialang/magnolia/typechecker/Expressions.rsc
r796 r811 276 276 env = addTokenRef(name, f, env); 277 277 env = errorMark(env, "Internal Compiler Error: StaticSemantics::chkExpr(): unknown function id <yieldTerm(f)>", locOf(func)); 278 return <Apply(func, seq(argValues)), Unknown(), env>; 278 279 } 279 280 else { -
trunk/magnolia-eclipse/src/org/magnolialang/magnolia/typechecker/Statements.rsc
r771 r811 27 27 28 28 public tuple[AST,Env] checkStat(AST stat, Env env) { 29 //termPrintln("checkStat: ", stat);29 termPrintln("checkStat: ", stat); 30 30 <s, env> = chkStat(stat, env); 31 31 return <preserveAnnos(s, stat), env>; … … 101 101 102 102 if(Proc(name) := proc) { 103 termPrintln("chkStat: ", name); 104 103 105 ps = lookupName(name, StatKind(), env); 104 106 if(ps == {}) -
trunk/magnolia-eclipse/src/org/magnolialang/rascal/IGrammarListener.java
r631 r811 6 6 import org.eclipse.core.runtime.jobs.Job; 7 7 import org.eclipse.imp.pdb.facts.IConstructor; 8 import org.eclipse.imp.pdb.facts.ISourceLocation; 8 9 import org.rascalmpl.parser.gtd.IGTD; 9 10 … … 37 38 * completed synchroniously 38 39 */ 39 Job getJob(String name, String moduleName, URI uri, IConstructor grammar, Class<IGTD > parser, PrintWriter out);40 Job getJob(String name, String moduleName, URI uri, IConstructor grammar, Class<IGTD<IConstructor, IConstructor, ISourceLocation>> parser, PrintWriter out); 40 41 } -
trunk/magnolia-eclipse/src/org/magnolialang/rascal/ParserGeneratorModule.java
r649 r811 37 37 // TODO: maybe move this whole thing to a service thread, to avoid synchronization 38 38 class ParserGeneratorModule { 39 protected final Evaluator evaluator = StandAloneInvoker.getInterpreter().newEvaluator();40 protected final IValueFactory vf = evaluator.getValueFactory();41 protected final JavaBridge bridge = new JavaBridge(evaluator.getClassLoaders(), vf);42 protected final String moduleName;43 protected final String name;44 private final GeneratorJob job;45 protected URI uri;46 protected Class<IGTD >parser = null;47 protected long lastModified = 0;48 protected Throwable except = null;49 protected IConstructor grammar = null;39 protected final Evaluator evaluator = StandAloneInvoker.getInterpreter().newEvaluator(); 40 protected final IValueFactory vf = evaluator.getValueFactory(); 41 protected final JavaBridge bridge = new JavaBridge(evaluator.getClassLoaders(), vf); 42 protected final String moduleName; 43 protected final String name; 44 private final GeneratorJob job; 45 protected URI uri; 46 protected Class<IGTD<IConstructor, IConstructor, ISourceLocation>> parser = null; 47 protected long lastModified = 0; 48 protected Throwable except = null; 49 protected IConstructor grammar = null; 50 50 // private ISet prodSet = null; 51 protected static final String packageName = "org.rascalmpl.java.parser.object";52 protected boolean generatorLoaded = false;53 protected boolean moduleImported = false;51 protected static final String packageName = "org.rascalmpl.java.parser.object"; 52 protected boolean generatorLoaded = false; 53 protected boolean moduleImported = false; 54 54 55 55 … … 64 64 65 65 66 synchronized IGTD getParser() {66 synchronized IGTD<IConstructor, IConstructor, ISourceLocation> getParser() { 67 67 checkForUpdate(); 68 68 if(parser == null) { … … 128 128 129 129 130 public IActionExecutor getActionExecutor() {131 return new VoidActionExecutor ();// evaluator, (IParserInfo) parser);130 public IActionExecutor<IConstructor> getActionExecutor() { 131 return new VoidActionExecutor<IConstructor>();// evaluator, (IParserInfo) parser); 132 132 } 133 133 … … 400 400 } 401 401 }); 402 parser = (Class<IGTD >) loader.loadClass(packageName + "." + clsName);402 parser = (Class<IGTD<IConstructor, IConstructor, ISourceLocation>>) loader.loadClass(packageName + "." + clsName); 403 403 lastModified = modTime; 404 404 break; -
trunk/magnolia-eclipse/src/org/magnolialang/rascal/RascalParser.java
r631 r811 8 8 9 9 import org.eclipse.imp.pdb.facts.IConstructor; 10 import org.eclipse.imp.pdb.facts.ISourceLocation; 10 11 import org.rascalmpl.parser.gtd.IGTD; 11 12 import org.rascalmpl.parser.gtd.result.action.IActionExecutor; … … 71 72 * @return An ActionExecutor 72 73 */ 73 public static IActionExecutor getActionExecutor(String moduleName, IGTDparser) {74 public static IActionExecutor<IConstructor> getActionExecutor(String moduleName, IGTD<IConstructor, IConstructor, ISourceLocation> parser) { 74 75 return getParserModule(moduleName).getActionExecutor(); 75 76 } -
trunk/magnolia-eclipse/src/org/magnolialang/util/syntax/generators/GrammarInfoGenerator.java
r745 r811 16 16 import org.eclipse.core.runtime.jobs.Job; 17 17 import org.eclipse.imp.pdb.facts.IConstructor; 18 import org.eclipse.imp.pdb.facts.ISourceLocation; 18 19 import org.eclipse.imp.pdb.facts.IString; 19 20 import org.eclipse.imp.pdb.facts.ITuple; … … 35 36 36 37 @Override 37 public Job getJob(final String name, final String moduleName, final URI uri, final IConstructor grammar, Class<IGTD > parser, PrintWriter out) {38 public Job getJob(final String name, final String moduleName, final URI uri, final IConstructor grammar, Class<IGTD<IConstructor, IConstructor, ISourceLocation>> parser, PrintWriter out) { 38 39 try { 39 40 long lastMod = Config.getResolverRegistry().lastModified(uri);
Note:
See TracChangeset
for help on using the changeset viewer.