예제 #1
0
        public bool Contain(IList <char> list, Tree parent)
        {
            Pile.Save();
            var T = new Tree(ref Pile, parent, Kind.Operator);

            return(Pile.Open && list.Contains(Pile.Current) ? Pile.Next() | T.Set() : Pile.Leave(false));
        }
예제 #2
0
        public bool Operator(Tree parent, string pre)
        {
            Pile.Save();
            var T = new Tree(ref Pile, parent, Kind.Operator);

            if (Pile.Open)
            {
                //foreach (var pre in Operators)
                foreach (var opr in pre)
                {
                    if (opr == Pile.Current)
                    {
                        Pile.Next();
                        if (Pile.Current == '=')
                        {
                            Pile.Next();
                        }
                        return(T.Set());
                    }
                }
            }
            return(Pile.Leave(false));
        }