Ejemplo n.º 1
0
        /// <inheritdoc />
        public override CProcessorParseResult Parse(string str, CProcessorState state)
        {
            if (!state.Values.GetValue <bool>("InEnum"))
            {
                str = str.Substring("enum ".Length).Trim();
                var openIndex = str.IndexOf("{", StringComparison.CurrentCulture);
                var name      = str.Substring(0, openIndex).Trim();
                state.Values.SetValue("InEnum", true);
                var e = new CEnum(name, state.CurrentTree);
                state.CurrentTree.AddSubTree(e);

                return(new CProcessorParseResult(e, false, string.Empty));
            }

            str = str.Trim();
            var equalIndex = str.IndexOf("=", StringComparison.InvariantCulture);

            if (equalIndex > 0)
            {
                var name = str.Substring(0, equalIndex).Trim();
                str = str.Substring(equalIndex + 1).Trim();
                var nextIndex = str.IndexOf(",", StringComparison.InvariantCulture);
                var value     = nextIndex > 0 ? str.Substring(0, nextIndex).Trim() : str.Trim();
                var eValue    = new CEnumValue(name, value, state.CurrentTree);
                state.CurrentTree.AddSubTree(eValue);

                return(new CProcessorParseResult(state.CurrentTree, false, string.Empty));
            }

            if (str.IndexOf("}", StringComparison.InvariantCulture) >= 0)
            {
                return(new CProcessorParseResult(state.CurrentTree.Parent, true, string.Empty));
            }

            // Skip Line
            return(new CProcessorParseResult(state.CurrentTree, false, string.Empty));
        }
Ejemplo n.º 2
0
 public CExcel(List <Enum> EnumTypes_, string TargetExtension_, Int32 RowOffset_)
 {
     _EnumValue       = new CEnumValue(EnumTypes_);
     _TargetExtension = TargetExtension_;
     _RowOffset       = RowOffset_;
 }