Ejemplo n.º 1
0
        internal void AddPropertyTag(Arc start, Arc end, CfgGrammar.CfgProperty propertyInfo)
        {
            Tag tag = new Tag(this, propertyInfo);

            _tags.Add(tag);
            start.AddStartTag(tag);
            end.AddEndTag(tag);
        }
Ejemplo n.º 2
0
        internal void AddSemanticInterpretationTag(Arc arc, CfgGrammar.CfgProperty propertyInfo)
        {
            Tag tag = new Tag(this, propertyInfo);

            _tags.Add(tag);
            arc.AddStartTag(tag);
            arc.AddEndTag(tag);
        }
Ejemplo n.º 3
0
        internal CfgSemanticTag(StringBlob symbols, CfgGrammar.CfgProperty property)
        {
            _flag1       = (_flag2 = (_flag3 = 0u));
            _valueOffset = 0;
            _varInt      = 0;
            _varDouble   = 0.0;
            _propId      = property._ulId;
            int idWord;

            if (property._pszName != null)
            {
                _nameOffset = symbols.Add(property._pszName, out idWord);
            }
            else
            {
                _nameOffset = 0;
            }
            switch (property._comType)
            {
            case VarEnum.VT_EMPTY:
            case VarEnum.VT_BSTR:
                if (property._comValue != null)
                {
                    _valueOffset = symbols.Add((string)property._comValue, out idWord);
                }
                else
                {
                    _valueOffset = 0;
                }
                break;

            case VarEnum.VT_I4:
                _varInt = (int)property._comValue;
                break;

            case VarEnum.VT_BOOL:
                _varInt = (((bool)property._comValue) ? 65535 : 0);
                break;

            case VarEnum.VT_R8:
                _varDouble = (double)property._comValue;
                break;
            }
            PropVariantType = property._comType;
            ArcIndex        = 0u;
        }
Ejemplo n.º 4
0
 internal Tag(Backend be, CfgGrammar.CfgProperty property)
 {
     _be     = be;
     _cfgTag = new CfgSemanticTag(be.Symbols, property);
 }