public Root() { Name = "global"; EmbedList = new NameSpaceSymbol(); MessageManager = new CompileMessageManager(); SimplexManager = new OverLoadSimplexManager(); ClassManager = new ClassTemplateInstanceManager(); RoutineManager = new RoutineTemplateInstanceManager(); ConvManager = new ConversionManager(this); OpManager = new OperationManager(this); UndefinedOverLord = new OverLoadChain(this, null); AppendChild(EmbedList); AppendChild(ClassManager); AppendChild(RoutineManager); CreateEmbedIdentifier(); }
private NameSpaceSymbol GetNameSpace(string name) { var nl = name.Split('.'); NameSpaceSymbol ret = Root; foreach(var v in nl) { var temp = (NameSpaceSymbol)ret.FindName(v); if(temp == null) { temp = new NameSpaceSymbol(v); ret.Append(temp); } ret = temp; } return ret; }