Esempio n. 1
0
    void Header(YSParseNode HeaderNode)
    {
        List <string> Resource_Sources = new List <string> ();
        YSLinker      Linker           = new YSLinker();

        foreach (YSParseNode HeaderItem in HeaderNode.Children)
        {
            if (HeaderItem.Type == NType.Import)
            {
                Resource_Sources.Add(HeaderItem.Children [0].Token.Content);
            }
            else
            {
                Error("Unrecognized header type");
            }
        }
        foreach (YSLinker.Resource Resource in Linker.LoadResources(Resource_Sources.ToArray()))
        {
            ScopeFrame ResourceScope = new ScopeFrame(Resource.Name, ScopeFrame.FrameTypes.Structure);
            STATE.PushScope(ResourceScope);
            Yumascript.LPIProcess(ref STATE, Resource.Content);
            StructureFrame SFrame = STATE.PopScopeNoSave();

            IDPacket ResourceFrameID = IDPacket.CreateIDPacket(STATE, Resource.Name, IdentityType.Structure);
            STATE.PutGeneric(ResourceFrameID, SFrame);
        }
    }
Esempio n. 2
0
    void Header(YSParseNode HeaderNode)
    {
        List<string> Resource_Sources = new List<string> ();
        YSLinker Linker = new YSLinker ();
        foreach (YSParseNode HeaderItem in HeaderNode.Children) {
            if (HeaderItem.Type == NType.Import) {
                Resource_Sources.Add (HeaderItem.Children [0].Token.Content);
            } else {
                Error ("Unrecognized header type");
            }
        }
        foreach(YSLinker.Resource Resource in Linker.LoadResources (Resource_Sources.ToArray ())) {
            ScopeFrame ResourceScope = new ScopeFrame (Resource.Name, ScopeFrame.FrameTypes.Structure);
            STATE.PushScope (ResourceScope);
            Yumascript.LPIProcess (ref STATE, Resource.Content);
            StructureFrame SFrame = STATE.PopScopeNoSave ();

            IDPacket ResourceFrameID = IDPacket.CreateIDPacket (STATE, Resource.Name, IdentityType.Structure);
            STATE.PutGeneric (ResourceFrameID, SFrame);
        }
    }