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); }
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); }
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); }