Beispiel #1
0
        public Number()
        {
            Optional  minus       = new Optional(new Character('-'));
            OneOrMore digits      = new OneOrMore(new Range('0', '9'));
            Choice    firstdigits = new Choice(new Character('0'), new Sequence(new Range('1', '9'), new Many(new Range('0', '9'))));
            Optional  fraction    = new Optional(
                new Sequence(
                    new Character('.'),
                    digits));
            Optional exponent = new Optional(
                new Sequence(
                    new Any("eE"),
                    new Optional(new Any("-+")),
                    firstdigits,
                    fraction));

            this.pattern = new Sequence(minus, firstdigits, fraction, exponent);
        }
Beispiel #2
0
        public Number()
        {
            var digit  = new Range('0', '9');
            var digits = new OneOrMore(digit);
            var sign   = new Any("-+");

            var integer = new Sequence(
                new Optional(new Character('-')),
                new Choice(new Character('0'), digits));

            var exponent = new Optional(
                new Sequence(
                    new Any("eE"),
                    new Optional(sign),
                    digits));

            var fraction = new Optional(
                new Sequence(
                    new Character('.'),
                    digits));

            pattern = new Sequence(integer, fraction, exponent);
        }
Beispiel #3
0
        public void CheckIfItReturnsTrueIfItMatchesOne()
        {
            OneOrMore variable = new OneOrMore(new Character('a'));

            Assert.True(variable.Match("abcde").Success());
        }
Beispiel #4
0
        public void CheckIfRemainingTextIsCorrect()
        {
            OneOrMore variable = new OneOrMore(new Character('a'));

            Assert.Equal("bcde", variable.Match("aaaabcde").RemainingText());
        }
Beispiel #5
0
        public void CheckIfItReturnsFalseIfItDoesntMatch()
        {
            OneOrMore variable = new OneOrMore(new Character('a'));

            Assert.False(variable.Match("bcde").Success());
        }