public FrameworkElement Process(string input)
        {
            ParseTree tree      = new ParseTree();
            Tokenizer tokenizer = new Tokenizer();
            var       queue     = tokenizer.Tokenize(input);

            tree.BuildTree(queue);
            return(tree.Root.GetElement());
        }
示例#2
0
        private Shape getShape(string command)
        {
            Tokenizer t = new Tokenizer();
            var       a = t.Tokenize(command);
            ParseTree p = new ParseTree();

            p.BuildTree(a);
            if (p.Root.Token.Value == "Rectangle")
            {
                return(rectangle(p.Root));
            }
            else if (p.Root.Token.Value == "Ellipse")
            {
                return(ellipse(p.Root));
            }
            else if (p.Root.Token.Value == "Line")
            {
                return(line(p.Root));
            }
            throw new Exception();
        }