Changeset 424
- Timestamp:
- Jun 12, 2010 11:26:38 PM (14 years ago)
- Location:
- trunk/MagnoliaPlugin
- Files:
-
- 1 deleted
- 10 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/MagnoliaPlugin/META-INF/MANIFEST.MF
r414 r424 3 3 Bundle-Name: magnolia-eclipse 4 4 Bundle-SymbolicName: magnolia_eclipse;singleton:=true 5 Bundle-Version: 0.1. 3.qualifier5 Bundle-Version: 0.1.4.qualifier 6 6 Bundle-RequiredExecutionEnvironment: JavaSE-1.6 7 7 Bundle-Activator: org.magnolialang.eclipse.MagnoliaPlugin … … 21 21 org.eclipse.ui.ide, 22 22 org.eclipse.ui.workbench.texteditor, 23 rascal_eclipse;bundle-version="0.1.1 0",24 rascal;bundle-version="0.1.1 0",23 rascal_eclipse;bundle-version="0.1.14", 24 rascal;bundle-version="0.1.16", 25 25 sglr_invoker;bundle-version="0.1.3", 26 26 org.eclipse.imp.smapifier, -
trunk/MagnoliaPlugin/plugin.xml
r405 r424 189 189 </page> 190 190 </extension> 191 <!-- extension192 point="org.eclipse.imp.runtime.modelTreeBuilder">193 <treeBuilder194 class="org.magnolialang.eclipse.treeModelBuilder.MagnoliaTreeModelBuilder"195 language="Magnolia">196 </treeBuilder>197 </extension -->198 <!-- extension199 point="org.eclipse.imp.runtime.labelProvider">200 <labelProvider201 class="org.magnolialang.eclipse.treeModelBuilder.MagnoliaLabelProvider"202 language="Magnolia">203 </labelProvider>204 </extension -->205 191 206 192 </plugin> -
trunk/MagnoliaPlugin/src/org/magnolialang/eclipse/MagnoliaPlugin.java
r421 r424 12 12 import org.osgi.framework.Bundle; 13 13 import org.osgi.framework.BundleContext; 14 import org.rascalmpl.uri.URIResolverRegistry; 15 14 import org.rascalmpl.uri.*; 16 15 import sglr.LegacySGLRInvoker; 17 16 import sglr.SGLRInvoker; … … 22 21 public static final String kLanguageID = "Magnolia"; 23 22 23 public URIResolverRegistry uriResolverRegistry; 24 24 /** 25 25 * The unique instance of this plugin class … … 77 77 System.setProperty("rascal.parsetable.cache.dir", System 78 78 .getProperty("java.io.tmpdir")); 79 uriResolverRegistry = new URIResolverRegistry(); 80 79 81 // project scheme 80 //ProjectURIResolver resolver = new ProjectURIResolver(); 81 //URIResolverRegistry registry = URIResolverRegistry.getInstance(); 82 //registry.registerInput(resolver.scheme(), resolver); 83 //registry.registerOutput(resolver.scheme(), resolver); 84 82 ProjectURIResolver resolver = new ProjectURIResolver(); 83 uriResolverRegistry.registerInput(resolver.scheme(), resolver); 84 uriResolverRegistry.registerOutput(resolver.scheme(), resolver); 85 86 FileURIResolver files = new FileURIResolver(); 87 uriResolverRegistry.registerInput(files.scheme(), files); 88 uriResolverRegistry.registerOutput(files.scheme(), files); 89 90 HttpURIResolver http = new HttpURIResolver(); 91 uriResolverRegistry.registerInput(http.scheme(), http); 92 93 CWDURIResolver cwd = new CWDURIResolver(); 94 uriResolverRegistry.registerInput(cwd.scheme(), cwd); 95 uriResolverRegistry.registerOutput(cwd.scheme(), cwd); 96 97 ClassResourceInputStreamResolver library = new ClassResourceInputStreamResolver("stdlib", this.getClass()); 98 uriResolverRegistry.registerInput(library.scheme(), library); 85 99 } 86 100 … … 88 102 super.start(context); 89 103 104 } 105 106 public static URIResolverRegistry getResolverRegistry() { 107 return getInstance().uriResolverRegistry; 90 108 } 91 109 -
trunk/MagnoliaPlugin/src/org/magnolialang/eclipse/editor/NodeLocator.java
r405 r424 66 66 67 67 public int getLength(Object node) { 68 return getLocation(node) .getLength();68 return getLocation(node) == null ? 0 : getLocation(node).getLength(); 69 69 } 70 70 … … 74 74 75 75 public int getStartOffset(Object node) { 76 return getLocation(node) .getOffset();76 return getLocation(node) == null ? 0 : getLocation(node).getOffset(); 77 77 } 78 78 -
trunk/MagnoliaPlugin/src/org/magnolialang/eclipse/editor/ParseController.java
r419 r424 8 8 import org.eclipse.core.runtime.IProgressMonitor; 9 9 import org.eclipse.imp.language.Language; 10 import org.eclipse.imp.language.LanguageRegistry; 10 11 import org.eclipse.imp.model.ISourceProject; 11 12 import org.eclipse.imp.parser.IMessageHandler; … … 36 37 private IConstructor parseTree; 37 38 private IPath path; 38 39 public static final String LANGUAGE_NAME = "Magnolia"; 40 41 public static final Language LANGUAGE = LanguageRegistry 42 .findLanguage(LANGUAGE_NAME); 43 39 44 public ParseController() { 45 super(); 40 46 } 41 47 … … 53 59 54 60 public Language getLanguage() { 55 return null;61 return LANGUAGE; 56 62 } 57 63 -
trunk/MagnoliaPlugin/src/org/magnolialang/eclipse/rascal/RascalInterpreter.java
r419 r424 2 2 package org.magnolialang.eclipse.rascal; 3 3 4 import java.io.IOException;5 4 import java.io.PrintWriter; 5 import java.net.URI; 6 6 import java.util.HashMap; 7 import java.util.LinkedList;8 7 import java.util.Map; 9 8 10 9 import org.eclipse.core.resources.ResourcesPlugin; 11 import org.eclipse.imp.pdb.facts.IConstructor;12 10 import org.eclipse.imp.pdb.facts.IValue; 13 11 import org.magnolialang.eclipse.editor.ImplementationError; 14 import org.rascalmpl.ast.ASTFactory; 15 import org.rascalmpl.ast.Command; 16 import org.rascalmpl.interpreter.CommandEvaluator; 17 import org.rascalmpl.interpreter.Configuration; 12 import org.rascalmpl.interpreter.Evaluator; 18 13 import org.rascalmpl.interpreter.env.GlobalEnvironment; 19 14 import org.rascalmpl.interpreter.env.ModuleEnvironment; 20 import org.rascalmpl.interpreter.load.FromResourceLoader;21 import org.rascalmpl.interpreter.load.ISdfSearchPathContributor;22 15 import org.rascalmpl.interpreter.staticErrors.StaticError; 23 16 import org.rascalmpl.interpreter.staticErrors.SyntaxError; 24 import org.rascalmpl.parser.ASTBuilder;25 17 import org.rascalmpl.values.ValueFactoryFactory; 26 18 … … 28 20 29 21 //private final CommandEvaluator eval; 30 private final Map<String, CommandEvaluator> evals = new HashMap<String, CommandEvaluator>(); 31 private ASTBuilder astBuilder; 22 private final Map<String, Evaluator> evals = new HashMap<String, Evaluator>(); 32 23 33 24 private static final class InstanceKeeper { … … 37 28 public RascalInterpreter(){ 38 29 super(); 39 40 this.astBuilder = new ASTBuilder(new ASTFactory());41 42 43 30 } 44 31 45 public CommandEvaluator getEvaluator(String prelude) {32 public Evaluator getEvaluator(String prelude) { 46 33 if(evals.containsKey(prelude)) 47 34 return evals.get(prelude); … … 52 39 PrintWriter stdout = new PrintWriter(System.out); 53 40 54 CommandEvaluator eval = new CommandEvaluator(ValueFactoryFactory.getValueFactory(), stderr, stdout, root, heap);41 Evaluator eval = new Evaluator(ValueFactoryFactory.getValueFactory(), stderr, stdout, root, heap); 55 42 56 // everything rooted at the src directory 43 eval.addRascalSearchPath(ResourcesPlugin.getWorkspace().getRoot().getProject("MetaXa").getFolder("src").getLocationURI()); 44 // everything rooted at the src directory 45 /* 57 46 eval.addModuleLoader(new FromResourceLoader(this.getClass())); 58 47 eval.addModuleLoader(new ProjectModuleLoader(ResourcesPlugin.getWorkspace().getRoot().getProject("MetaXa"))); … … 65 54 } 66 55 }); 67 56 */ 68 57 if(!prelude.equals("")) { 69 58 String[] cmds = prelude.split(";"); … … 92 81 } 93 82 94 public IValue call(String fun, CommandEvaluator eval, IValue...args) {83 public IValue call(String fun, Evaluator eval, IValue...args) { 95 84 try { 96 85 return eval.call(fun, args); … … 101 90 } 102 91 103 public IValue eval(String cmd, CommandEvaluator eval) {92 public IValue eval(String cmd, Evaluator eval) { 104 93 try { 105 IConstructor parsedCmd = eval.parseCommand(cmd); 106 Command cmdAst = astBuilder.buildCommand(parsedCmd); 107 return eval.eval(cmdAst).getValue(); 108 } catch (IOException e) { 109 throw new ImplementationError("static checker failed to execute command: '" + cmd + "'", e); 94 return eval.eval(cmd, URI.create("stdin:///")).getValue(); 110 95 } catch (SyntaxError se) { 111 96 throw new ImplementationError("syntax error in static checker modules: '" + cmd + "'", se); -
trunk/MagnoliaPlugin/src/org/magnolialang/load/ModuleLoader.java
r419 r424 9 9 import org.eclipse.imp.model.ISourceProject; 10 10 11 import org.magnolialang.eclipse.MagnoliaPlugin; 11 12 import org.magnolialang.eclipse.editor.ImplementationError; 12 13 import org.magnolialang.env.MagnoliaEnvironment; … … 105 106 InputStream inputStream = null; 106 107 try{ 107 inputStream = URIResolverRegistry.getInstance().getInputStream(location);108 inputStream = MagnoliaPlugin.getResolverRegistry().getInputStream(location); 108 109 data = readModule(inputStream); 109 110 }finally{ -
trunk/MagnoliaPlugin/src/org/magnolialang/parsetree/TreeImplodeVisitor.java
r419 r424 153 153 String chars = TreeAdapter.yield(tree); 154 154 if(!chars.equals("")) 155 cst.append( layout(chars));155 cst.append(space(chars)); 156 156 } 157 157 else if(TreeAdapter.isLiteral(tree)) { -
trunk/MagnoliaPlugin/src/org/magnolialang/parsetree/XaTreeAdapter.java
r419 r424 212 212 for(IValue token : concrete) { 213 213 Type type = ((IConstructor)token).getConstructorType(); 214 if(type == Type_Token || type == Type_ Layout|| type == Type_Comment) {214 if(type == Type_Token || type == Type_Space || type == Type_Comment) { 215 215 result.append(((IConstructor)token).get("chars")); 216 216 } -
trunk/MagnoliaPlugin/src/org/magnolialang/parsetree/XaTreeFactory.java
r419 r424 49 49 public static Type Type_Token = tf.constructor(ts, Type_XaToken, "token", 50 50 tf.stringType(), "chars"); 51 public static Type Type_ Layout = tf.constructor(ts, Type_XaToken, "layout",51 public static Type Type_Space = tf.constructor(ts, Type_XaToken, "space", 52 52 tf.stringType(), "chars"); 53 53 public static Type Type_Comment = tf.constructor(ts, Type_XaToken, "comment", … … 93 93 } 94 94 95 public static IConstructor layout(String chars) {96 return vf.constructor(Type_ Layout, vf.string(chars));95 public static IConstructor space(String chars) { 96 return vf.constructor(Type_Space, vf.string(chars)); 97 97 } 98 98
Note:
See TracChangeset
for help on using the changeset viewer.