예제 #1
0
            public void TakesSourceAndATokeniser(string source, bool validTokeniser)
            {
                IRegexTokeniser tokeniser = null;

                if (validTokeniser)
                {
                    tokeniser = new Mock <IRegexTokeniser>().Object;
                }

                new RegexScanner(source, tokeniser);
            }
예제 #2
0
        public Scanner(string source, IRegexTokeniser tokeniser)
        {
            if (source == null)
                throw new ArgumentNullException("source");

            if (tokeniser == null)
                throw new ArgumentNullException("tokeniser");

            _currentPosition = 0;
            _source = source;
            _tokeniser = tokeniser;
            _endOfLineRegex = new Regex(@"\r\n|\r|\n", RegexOptions.Compiled);

            Current = Token.Empty;
        }
예제 #3
0
        public RegexScanner(string source, IRegexTokeniser tokeniser)
        {
            if (source == null)
            {
                throw new ArgumentNullException("source");
            }

            if (tokeniser == null)
            {
                throw new ArgumentNullException("tokeniser");
            }

            _currentPosition = 0;
            _source          = source;
            _tokeniser       = tokeniser;
            _endOfLineRegex  = new Regex(@"\r\n|\r|\n", RegexOptions.Compiled);

            Current = Token.Empty;
        }