Example #1
0
        internal GMacAstSymbolsCache(GMacNamespace rootSymbol)
        {
            GMacRootAst = rootSymbol.GMacRootAst;

            RootSymbol = rootSymbol;

            InitializeDictionaries(rootSymbol.MainSymbols());
        }
Example #2
0
 internal static IEnumerable <ILanguageType> FrameTypes(this GMacNamespace parentNameSpace)
 {
     return
         (Namespaces(parentNameSpace)
          .SelectMany(
              nameSpace =>
              nameSpace.ChildFrames.Select(frame => frame.MultivectorType as ILanguageType)
              .Concat(nameSpace.ChildFrames.SelectMany(frame => frame.Structures))
              ));
 }
Example #3
0
 internal static IEnumerable <LanguageSymbol> MainSymbols(this GMacNamespace parentNameSpace)
 {
     return
         (parentNameSpace
          .Namespaces()
          .SelectMany(MainChilsSymbols)
          .Concat(
              parentNameSpace.ChildFrames.SelectMany(MainSymbols)
              ));
 }
Example #4
0
 internal static IEnumerable <SymbolNamedValue> NamedValues(this GMacNamespace parentNameSpace)
 {
     return
         (Namespaces(parentNameSpace)
          .SelectMany(
              nameSpace =>
              nameSpace.ChildConstants
              .Concat(nameSpace.ChildFrames.SelectMany(NamedValues))
              ));
 }
Example #5
0
 internal static IEnumerable <ILanguageType> Types(this GMacNamespace parentNameSpace)
 {
     return
         (Namespaces(parentNameSpace)
          .SelectMany(
              nameSpace =>
              nameSpace
              .ChildStructures
              .Concat(nameSpace.ChildFrames.SelectMany(Types))
              ));
 }
Example #6
0
 internal static IEnumerable <GMacStructure> Structures(this GMacNamespace parentNameSpace)
 {
     return
         (Namespaces(parentNameSpace)
          .SelectMany(
              nameSpace =>
              nameSpace.ChildStructures
              .Concat(
                  nameSpace.ChildFrames.SelectMany(frame => frame.Structures)
                  )
              ));
 }
Example #7
0
 internal static IEnumerable <GMacConstant> Constants(this GMacNamespace parentNameSpace)
 {
     return
         (Namespaces(parentNameSpace)
          .SelectMany(
              nameSpace =>
              nameSpace
              .ChildConstants
              .Concat(
                  nameSpace.ChildFrames.SelectMany(frame => frame.ChildConstants)
                  )
              ));
 }
Example #8
0
        internal static IEnumerable <LanguageSymbol> MainChilsSymbols(this GMacNamespace parentNameSpace)
        {
            var roleNames = new[]
            {
                RoleNames.Constant,
                RoleNames.Frame,
                RoleNames.Macro,
                RoleNames.Namespace,
                RoleNames.Structure,
                RoleNames.Transform
            };

            return(parentNameSpace.ChildScope.Symbols(roleNames));
        }
Example #9
0
 internal static IEnumerable <GMacMacro> Macros(this GMacNamespace parentNameSpace)
 {
     return
         (Namespaces(parentNameSpace)
          .SelectMany(
              nameSpace =>
              nameSpace
              .ChildMacros
              .Concat(
                  nameSpace.ChildFrames.SelectMany(Macros)
                  )
              .Concat(
                  nameSpace.ChildStructures.SelectMany(structure => structure.Macros)
                  )
              ));
 }
Example #10
0
        internal static IEnumerable <GMacNamespace> Namespaces(this GMacNamespace parentNameSpace)
        {
            var stack = new Stack <GMacNamespace>();

            stack.Push(parentNameSpace);

            while (stack.Count > 0)
            {
                var nameSpace = stack.Pop();

                yield return(nameSpace);

                foreach (var child in nameSpace.ChildNamespaces)
                {
                    stack.Push(child);
                }
            }
        }
Example #11
0
 internal static IEnumerable <GMacMacro> FrameMacros(this GMacNamespace parentNameSpace)
 {
     return(Frames(parentNameSpace).SelectMany(nameSpace => nameSpace.ChildMacros));
 }
Example #12
0
 internal static IEnumerable <SymbolNamedValue> FrameNamedValues(this GMacNamespace parentNameSpace)
 {
     return(Frames(parentNameSpace).SelectMany(NamedValues));
 }
Example #13
0
 internal static IEnumerable <GMacConstant> FrameConstants(this GMacNamespace parentNameSpace)
 {
     return(Frames(parentNameSpace).SelectMany(frame => frame.ChildConstants));
 }
Example #14
0
 internal static IEnumerable <GMacFrame> Frames(this GMacNamespace parentNameSpace)
 {
     return(Namespaces(parentNameSpace).SelectMany(nameSpace => nameSpace.ChildFrames));
 }
Example #15
0
 internal static IEnumerable <GMacFrameBasisVector> FrameBasisVectors(this GMacNamespace parentNameSpace)
 {
     return(Frames(parentNameSpace).SelectMany(frame => frame.FrameBasisVectors));
 }
Example #16
0
 internal static IEnumerable <GMacFrameMultivector> FrameMultivectors(this GMacNamespace parentNameSpace)
 {
     return(Frames(parentNameSpace).Select(frame => frame.MultivectorType));
 }
Example #17
0
 internal bool LookupRootNamespace(string symbolName, out GMacNamespace nameSpace)
 {
     return(RootScope.LookupSymbol(symbolName, RoleNames.Namespace, out nameSpace));
 }
Example #18
0
 internal static IEnumerable <GMacConstant> NamespaceConstants(this GMacNamespace parentNameSpace)
 {
     return(Namespaces(parentNameSpace).SelectMany(nameSpace => nameSpace.ChildConstants));
 }
Example #19
0
 internal static IEnumerable <GMacStructure> FrameStructures(this GMacNamespace parentNameSpace)
 {
     return(Frames(parentNameSpace).SelectMany(frame => frame.Structures));
 }
Example #20
0
 internal static IEnumerable <GMacStructure> NamespaceStructures(this GMacNamespace parentNameSpace)
 {
     return(Namespaces(parentNameSpace).SelectMany(nameSpace => nameSpace.ChildStructures));
 }
Example #21
0
 internal bool LookupNamespace(string symbolName, out GMacNamespace outSymbol)
 {
     return(ChildSymbolScope.LookupSymbol(symbolName, RoleNames.Namespace, out outSymbol));
 }
Example #22
0
 internal static IEnumerable <GMacMacro> StructureMacros(this GMacNamespace parentNameSpace)
 {
     return(Structures(parentNameSpace).SelectMany(nameSpace => nameSpace.Macros));
 }