コード例 #1
0
 public Plain()
 {
     Entries = new ParseEntry[] { new ParseEntry('s', new Stack <Symbol>(new Symbol[] {
             new Terminal('s'),
             new Action_1()
         })) };
 }
コード例 #2
0
 public Block()
 {
     Entries = new ParseEntry[] { new ParseEntry('{', new Stack <Symbol>(new Symbol[] {
             new Terminal('{'),
             new Action_1(),
             new L(new SynL_1()),
             new Terminal('}'),
         })) };
 }
コード例 #3
0
        public void ParseLine_ParsingAddressParseEntry_ReturnsAddressInstance()
        {
            var parser     = new Parser();
            var parseEntry = new ParseEntry {
                ParseFormat = new Regex("^.+;(?<Name>.+);(?<StreetAddress>.+);(?<PoBox>.+)$"), Type = typeof(Address)
            };

            var parseType = parser.ParseLine(parseEntry, "03;AddressRow1;AddressXX;PoBoxYY");

            Assert.IsInstanceOfType(parseType.Instance, typeof(Address));
        }
コード例 #4
0
 public While()
 {
     Entries = new ParseEntry[] { new ParseEntry('w', new Stack <Symbol>(new Symbol[] {
             new Terminal('w'),
             new Terminal('('),
             new Action_1(),
             new C(new SynC_1()),
             new Terminal(')'),
             new S(new SynS_1()),
             new Action_2(),
         })) };
 }
コード例 #5
0
        public void ParseLine_ParsingAddressParseEntry_SetStringPropertiesOnInstance()
        {
            var parser     = new Parser();
            var parseEntry = new ParseEntry {
                ParseFormat = new Regex("^.+;(?<Name>.+);(?<StreetAddress>.+);(?<PoBox>.+)$"), Type = typeof(Address)
            };

            var parseType = parser.ParseLine(parseEntry, "03;TheName;AddressXX;PoBoxYY");

            var address = parseType.Instance as Address;

            Assert.IsNotNull(address);
            Assert.AreEqual(address.Name, "TheName");
            Assert.AreEqual(address.StreetAddress, "AddressXX");
            Assert.AreEqual(address.PoBox, "PoBoxYY");
        }
コード例 #6
0
            public Statements()
            {
                var Entry = new Stack <Symbol>(new Symbol[] {
                    new Action_1(),
                    new S(new SynS_1()),
                    new L(new SynL_1()),
                    new Action_2(),
                });

                Entries = new ParseEntry[] {
                    new ParseEntry('i', Entry),
                    new ParseEntry('w', Entry),
                    new ParseEntry('d', Entry),
                    new ParseEntry('{', Entry),
                    new ParseEntry('s', Entry),
                };
            }
コード例 #7
0
 public Epsilon()
 {
     Entries = new ParseEntry[] { new ParseEntry('}', new Stack <Symbol>(new Symbol[] {
             new Action_1(),
         })) };
 }