Esempio n. 1
0
        private MyAutomatonNode createForRrRmRi()
        {
            var rootR = new MyAutomatonNode(
                new List <Enum> {
                TT.Register
            }, OST.NotAccepting, Resources.CommaExpectedMsgFormat);

            var rootRComma = new MyAutomatonNode(
                new List <Enum> {
                TT.Comma
            }, OST.NotAccepting, Resources.Valid2ndOpExpectedMsgFormat);

            var rootRCommaR = new MyAutomatonNode(
                new List <Enum> {
                TT.Register
            }, OST.RR, Resources.EndOfCmdExpectedMsgFormat);

            var rootRCommaM = new MyAutomatonNode(
                new List <Enum> {
                TT.Identifier
            }, OST.RM, Resources.EndOfCmdExpectedMsgFormat);

            var rootRCommaConst = new MyAutomatonNode(
                new List <Enum> {
                TT.BinConstant,
                TT.DecConstant,
                TT.HexConstant
            },
                OST.RI, Resources.EndOfCmdExpectedMsgFormat);

            rootRComma.AddChildren(rootRCommaR, rootRCommaM, rootRCommaConst);
            rootR.AddChild(rootRComma);

            return(rootR);
        }
Esempio n. 2
0
        private MyAutomatonNode createForRm()
        {
            var rootR = new MyAutomatonNode(
                new List <Enum> {
                TT.Register
            }, OST.NotAccepting, Resources.CommaExpectedMsgFormat);

            var rootRComma = new MyAutomatonNode(
                new List <Enum> {
                TT.Comma
            }, OST.NotAccepting, Resources.Valid2ndOpExpectedMsgFormat);

            var rootRCommaM = new MyAutomatonNode(
                new List <Enum> {
                TT.Identifier
            }, OST.RM, Resources.EndOfCmdExpectedMsgFormat);

            rootRComma.AddChildren(rootRCommaM);
            rootR.AddChild(rootRComma);

            return(rootR);
        }
Esempio n. 3
0
        private MyAutomatonNode createForArRrRriRmRmi()
        {
            var rootR = new MyAutomatonNode(
                new List <Enum> {
                TT.Register
            }, OST.AR, Resources.CommaExpectedMsgFormat);

            var rootRComma = new MyAutomatonNode(
                new List <Enum> {
                TT.Comma
            }, OST.NotAccepting, Resources.Valid2ndOpExpectedMsgFormat);

            rootR.AddChild(rootRComma);

            // First branch.
            var rootRCommaR = new MyAutomatonNode(
                new List <Enum> {
                TT.Register
            }, OST.RR, Resources.CommaExpectedMsgFormat);

            var rootRCommaRComma = new MyAutomatonNode(
                new List <Enum> {
                TT.Comma
            }, OST.NotAccepting, Resources.Valid3rdOpExpectedMsgFormat);

            var rootRCommaRCommaI = new MyAutomatonNode(
                new List <Enum> {
                TT.BinConstant,
                TT.DecConstant,
                TT.HexConstant
            },
                OST.RRI, Resources.EndOfCmdExpectedMsgFormat);

            rootRCommaR.AddChild(rootRCommaRComma);
            rootRCommaRComma.AddChild(rootRCommaRCommaI);

            // Second branch.
            var rootRCommaM = new MyAutomatonNode(
                new List <Enum> {
                TT.Identifier
            }, OST.RM, Resources.CommaExpectedMsgFormat);

            var rootRCommaMComma = new MyAutomatonNode(
                new List <Enum> {
                TT.Comma
            }, OST.NotAccepting, Resources.Valid3rdOpExpectedMsgFormat);

            var rootRCommaMCommaI = new MyAutomatonNode(
                new List <Enum> {
                TT.BinConstant,
                TT.DecConstant,
                TT.HexConstant
            },
                OST.RMI, Resources.EndOfCmdExpectedMsgFormat);

            rootRCommaM.AddChild(rootRCommaMComma);
            rootRCommaMComma.AddChild(rootRCommaMCommaI);

            // Final.
            rootRComma.AddChildren(rootRCommaR, rootRCommaM);

            return(rootR);
        }