Exemple #1
0
        private Valid_Letter_Sequence Parse_Valid_Letter_Sequence(Valid_Letter_Sequence _self = null)
        {
            var _backtrack = _scanResult.CurrentReadIndex;

            var _Valid_Letter_Sequence_1 = Parse_Valid_Letter_Sequence_1(_self);

            if (_Valid_Letter_Sequence_1 != null)
            {
                _self = Parse_Valid_Letter_Sequence(_Valid_Letter_Sequence_1);
            }

            var _Valid_Letter_Sequence_2 = Parse_Valid_Letter_Sequence_2(_self);

            if (_Valid_Letter_Sequence_2 != null)
            {
                _self = Parse_Valid_Letter_Sequence(_Valid_Letter_Sequence_2);
            }

            var _Valid_Letter_Sequence_3 = Parse_Valid_Letter_Sequence_3(_self);

            if (_Valid_Letter_Sequence_3 != null)
            {
                _self = Parse_Valid_Letter_Sequence(_Valid_Letter_Sequence_3);
            }

            UpdateBacktrackIndex(_self, _backtrack);


            return(_self);
        }
Exemple #2
0
        public Production_Name(Valid_Letter_Sequence _valid_letter_sequence, Colon _colon)
        {
            valid_letter_sequence = _valid_letter_sequence;
            colon = _colon;

            Add(valid_letter_sequence);
            Add(colon);

            UpdateProperties("production-name");
        }
        public Rule_Name(Valid_Letter_Sequence _valid_letter_sequence, Optional _opt_optional)
        {
            valid_letter_sequence = _valid_letter_sequence;
            opt_optional          = _opt_optional;

            Add(valid_letter_sequence);
            Add(opt_optional);

            UpdateProperties("rule-name");
        }
        public Valid_Letter_Sequence(Letter _letter_1, Valid_Letter_Sequence _self_valid_letter_sequence = null)
        {
            // set values
            letter_1 = _letter_1;
            self_valid_letter_sequence = _self_valid_letter_sequence;

            // add to dictionary
            Add(letter_1);
            Add(self_valid_letter_sequence);

            // set properties
            UpdateProperties("Valid-Letter-Sequence", RecursiveProperty.Right);
        }
Exemple #5
0
        private Valid_Letter_Sequence Parse_Valid_Letter_Sequence_3(Valid_Letter_Sequence _self = null)
        {
            //"a-b"
            var _backtrack = _scanResult.CurrentReadIndex;

            var _dash     = Parse_Dash();
            var _letter_1 = Parse_Letter();

            if (_letter_1 != null && _dash != null && _self != null)     // _self flag is set due to no optional
            {
                _self = new Valid_Letter_Sequence(_letter_1, _dash, _self);
            }
            else
            {
                _self = null;
            }

            UpdateBacktrackIndex(_self, _backtrack);


            return(_self);
        }
Exemple #6
0
        private Valid_Letter_Sequence Parse_Valid_Letter_Sequence_2(Valid_Letter_Sequence _self = null)
        {
            //"a-b"
            var _backtrack = _scanResult.CurrentReadIndex;

            var _letter_1 = Parse_Letter();


            if (_letter_1 != null)
            {
                _self = new Valid_Letter_Sequence(_letter_1, _self);
            }
            else
            {
                _self = null;
            }

            UpdateBacktrackIndex(_self, _backtrack);


            return(_self);
        }