Пример #1
0
        public override sealed bool Match(Parser parser)
        {
            if (parser.Code.Length >= parser.Pos + Pattern.Length &&
                parser.Comparer.Compare(parser.Code.Substring(parser.Pos, Pattern.Length), Pattern) == 0)
            {
                this.Value = Pattern;
                parser.GetLineCol(out pos, out line, out col);
                parser.Advance(Pattern.Length);

                return true;
            }
            else
            {
                return false;
            }
        }
Пример #2
0
        public sealed override bool Match(Parser parser)
        {
            if (parser.Code.Length >= parser.Pos + Pattern.Length &&
                parser.Comparer.Compare(parser.Code.Substring(parser.Pos, Pattern.Length), Pattern) == 0)
            {
                this.Value = Pattern;
                parser.GetLineCol(out pos, out line, out col);
                parser.Advance(Pattern.Length);

                return(true);
            }
            else
            {
                return(false);
            }
        }
Пример #3
0
        public override bool Match(Parser parser)
        {
            Match m = this.Pattern.Match(parser.Code, parser.Pos);

            if (m.Success && parser.Comparer.Compare(m.Value, keyword) == 0)
            {
                Value = m.Value;
                parser.GetLineCol(out pos, out line, out col);
                parser.Advance(m.Length);

                return(true);
            }
            else
            {
                return(false);
            }
        }
Пример #4
0
        public override sealed bool Match(Parser parser)
        {
            Match m = this.Pattern.Match(parser.Code, parser.Pos);

            // Exclude keywords from matches
            if (m.Success && !parser.Keywords.Contains(m.Value))
            {
                Value = m.Value;
                parser.GetLineCol(out pos, out line, out col);
                parser.Advance(m.Length);

                return true;
            }
            else
            {
                return false;
            }
        }
Пример #5
0
        public sealed override bool Match(Parser parser)
        {
            Match m = this.Pattern.Match(parser.Code, parser.Pos);

            // Exclude keywords from matches
            if (m.Success && !parser.Keywords.Contains(m.Value))
            {
                Value = m.Value;
                parser.GetLineCol(out pos, out line, out col);
                parser.Advance(m.Length);

                return(true);
            }
            else
            {
                return(false);
            }
        }