Ejemplo n.º 1
0
 public override void Validate()
 {
     if (BracketProcessor.BracketCheck(Data) != BracketProcessor.ERRORTYPE.OK)
     {
         throw new ParsingException("Invalid brackets");
     }
 }
Ejemplo n.º 2
0
        public static Type GetType(string data)
        {
            var lexer  = new lexicProcessor.Lexer(data);
            var tokens = lexer.GenerateTokens();

            if (tokens.Count == 0)
            {
                return(Type.NONE);
            }
            if (tokens.Count == 1 || (data.IndexOf(Const.DEL_LIST) == -1 && data.IndexOf(Const.DEL_RANGE) == -1))
            {
                return(Type.FIXED);
            }
            var elems = data.Split(Const.DEL_LIST).ToList();

            if (elems.Count > 1)
            {
                var seemsList = true;
                foreach (var elem in elems)
                {
                    if (BracketProcessor.BracketCheck(elem) != BracketProcessor.ERRORTYPE.OK)
                    {
                        seemsList = false;
                        break;
                    }
                }
                if (seemsList)
                {
                    return(Type.LIST);
                }
            }
            elems = data.Split(Const.DEL_RANGE).ToList();
            if (elems.Count() != 2)
            {
                return(Type.NONE);
            }
            else
            {
                var seemsRange = true;
                foreach (var elem in elems)
                {
                    if (BracketProcessor.BracketCheck(elem) != BracketProcessor.ERRORTYPE.OK)
                    {
                        seemsRange = false;
                        break;
                    }
                }
                if (seemsRange)
                {
                    return(Type.RANGE);
                }
                else
                {
                    return(Type.NONE);
                }
            }
        }
Ejemplo n.º 3
0
        public string GetAfterEq()
        {
            var pos = Data.IndexOf("=");

            if (pos == -1)
            {
                throw new ParsingException("Expected `=`");
            }
            var res = Data.Substring(pos + 1);

            if (string.IsNullOrEmpty(res))
            {
                throw new ParsingException("Expected expression after `=`");
            }
            if (BracketProcessor.BracketCheck(res) != BracketProcessor.ERRORTYPE.OK)
            {
                throw new ParsingException("Invalid brackets");
            }
            return(res);
        }