MacroProcessor NewLemp(int maxExpand) { var lemp = new MacroProcessor(typeof(LeMP.Prelude.Macros), _sink); lemp.AddMacros(typeof(LeMP.Prelude.Les.Macros)); lemp.AddMacros(typeof(LeMP.StandardMacros)); lemp.PreOpenedNamespaces.Add(GSymbol.Get("LeMP")); lemp.PreOpenedNamespaces.Add(GSymbol.Get("LeMP.Prelude")); lemp.PreOpenedNamespaces.Add(GSymbol.Get("LeMP.Prelude.Les")); lemp.MaxExpansions = maxExpand; return(lemp); }
public TestCompiler(IMessageSink sink, ICharSource text, string fileName = "") : base(sink, typeof(LeMP.Prelude.BuiltinMacros), new[] { new InputOutput(text, fileName) }) { Parallel = false; MacroProcessor.AddMacros(typeof(LeMP.Prelude.Les.Macros)); MacroProcessor.AddMacros(typeof(LeMP.Test.TestMacros)); MacroProcessor.PreOpenedNamespaces.Add(GSymbol.Get("LeMP.Prelude")); MacroProcessor.PreOpenedNamespaces.Add(GSymbol.Get("LeMP.Prelude.Les")); }
public TestCompiler(IMessageSink sink, ICharSource text, params string[] preOpenedNamespaces) : base(sink, typeof(LeMP.Prelude.BuiltinMacros), new[] { new InputOutput(text, "TEST") }) { Parallel = false; MacroProcessor.AddMacros(typeof(LeMP.les2.to.ecs.Macros)); MacroProcessor.AddMacros(typeof(LeMP.les3.to.ecs.Macros)); MacroProcessor.AddMacros(typeof(LeMP.Tests.TestMacros)); MacroProcessor.AddMacros(typeof(LeMP.Tests.A.AliasTest)); MacroProcessor.AddMacros(typeof(LeMP.Tests.B.AliasTest)); // Register all the old names, as we would in production MacroProcessor.AddMacros(typeof(LeMP.Prelude.Les.Macros)); MacroProcessor.AddMacros(typeof(LeMP.Prelude.Les3.Macros)); MacroProcessor.AddMacros(typeof(LeMP.Les3.To.CSharp.Macros)); MacroProcessor.PreOpenedNamespaces.Add((Symbol)"LeMP.Prelude"); foreach (var ns in preOpenedNamespaces) { MacroProcessor.PreOpenedNamespaces.Add((Symbol)ns); } }
public bool AddMacros(Assembly assembly) { return(MacroProcessor.AddMacros(assembly)); }
/// <summary>Adds standard macros from LeMP.StdMacros.dll, and adds the /// namespaces LeMP and LeMP.Prelude to the pre-opened namespace list.</summary> /// <remarks>Note: prelude macros were already added by the constructor.</remarks> public void AddStdMacros() { MacroProcessor.AddMacros(typeof(global::LeMP.StandardMacros).Assembly); MacroProcessor.PreOpenedNamespaces.Add(GSymbol.Get("LeMP")); MacroProcessor.PreOpenedNamespaces.Add(GSymbol.Get("LeMP.Prelude")); }
MacroProcessor NewLemp(int maxExpand) { var lemp = new MacroProcessor(typeof(LeMP.Prelude.Macros), _sink); lemp.AddMacros(typeof(LeMP.Prelude.Les.Macros)); lemp.AddMacros(typeof(LeMP.StandardMacros)); lemp.PreOpenedNamespaces.Add(GSymbol.Get("LeMP")); lemp.PreOpenedNamespaces.Add(GSymbol.Get("LeMP.Prelude")); lemp.PreOpenedNamespaces.Add(GSymbol.Get("LeMP.Prelude.Les")); lemp.MaxExpansions = maxExpand; return lemp; }
MacroProcessor NewLemp(int maxExpand) { var lemp = new MacroProcessor(typeof(LeMP.Prelude.BuiltinMacros), MessageSink.Current); lemp.AddMacros(typeof(LeMP.Prelude.Les.Macros)); lemp.AddMacros(typeof(LeMP.StandardMacros).Assembly); lemp.PreOpenedNamespaces.Add(GSymbol.Get("LeMP")); lemp.PreOpenedNamespaces.Add(GSymbol.Get("LeMP.Prelude")); lemp.PreOpenedNamespaces.Add(GSymbol.Get("LeMP.Prelude.Les")); lemp.MaxExpansions = maxExpand; return lemp; }
public static Task<IFunctionalNamespace[]> ParseCompilationUnitsAsync(List<IProjectSourceItem> SourceItems, CompilationParameters Parameters, IBinder Binder, IAssembly DeclaringAssembly) { var sink = new CompilerLogMessageSink(Parameters.Log); var processor = new MacroProcessor(typeof(LeMP.Prelude.BuiltinMacros), sink); processor.AddMacros(typeof(global::LeMP.StandardMacros).Assembly, false); return ParseCompilationUnitsAsync(SourceItems, Parameters, Binder, DeclaringAssembly, processor, sink); }