Example #1
0
        protected override T ParseMain(IO.Scanners.IScanner <T> scanner, out Match <T> match)
        {
            T result = scanner.Current;

            if (!item.Equals(result))
            {
                match = new Match <T>(scanner, "Expected {0}, got {1}", item, result);
                return(default(T));
            }
            match = new Match <T>(scanner, 1);
            scanner.MoveNext();
            return(result);
        }
Example #2
0
        protected override char ParseMain(IO.Scanners.IScanner <char> scanner, out Match <char> match)
        {
            char c = scanner.Current;

            if (c == character)
            {
                match = new Match <char>(scanner, 1);
                scanner.MoveNext();
                return(c);
            }
            else
            {
                match = new Match <char>(scanner, "Expected {0}, got {1}", character, c);
                return('\0');
            }
        }
Example #3
0
        protected override T ParseMain(IO.Scanners.IScanner <T> scanner, out Match <T> match)
        {
            T val = scanner.Current;

            if (validValues.Contains(val))
            {
                match = new Match <T>(scanner, 1);
                scanner.MoveNext();
            }
            else
            {
                match = new Match <T>(scanner, "Invalid value {0}", val);
                val   = default(T);
            }

            return(val);
        }