コード例 #1
0
 internal IEnumerable <Transition <A, S> > GetEnterableTransitions()
 {
     return(State.Transitions.Where(t =>
     {
         bool transtionHasCorrectSymbolIn = t.SymbolIn.IsEmpty() || (!RemainingWord.IsEmpty() && t.SymbolIn.GetSymbol().Equals(RemainingWord.Symbols.First()));
         bool transitionHasCorrectStackSymbol = !Stack.IsEmpty() && Stack.StackSymbols.First().Equals(t.StackSymbolIn);
         return transitionHasCorrectStackSymbol && transtionHasCorrectSymbolIn;
     }).ToList());
 }
コード例 #2
0
 public override string ToString()
 {
     return(State.Id + "/" + Stack.ToString() + "/" + RemainingWord.ToString());
 }
コード例 #3
0
 internal XElement ToXml()
 {
     return(new XElement("config", new XElement("state", State.Id), new XElement("word", RemainingWord.ToString()), new XElement("stack", Stack.ToString())));
 }