Beispiel #1
0
        public new static If_Procedure Create(ContinueQueue parsingObject)
        {
            If_Procedure prefab = new If_Procedure();

            Label headLabel = Label.Create(parsingObject);

            // This should be `(`
            parsingObject.Dequeue();
            prefab.Head        = Expression.Create(parsingObject);
            prefab.Head.Parent = prefab;
            // This should be `)`
            parsingObject.Dequeue();
            prefab.Head.Label = headLabel;

            // the next string should be "{", remove it
            parsingObject.Dequeue();

            while (parsingObject.Peek() != "}")
            {
                Label bodyLabel = Label.Create(parsingObject);
                var   temp      = Statement.Create(parsingObject);
                temp.Parent           = prefab;
                temp.Label            = bodyLabel;
                temp.Expression.Label = bodyLabel;

                prefab.Body.Add(temp);
            }

            // remove '}'
            parsingObject.Dequeue();

            prefab.Else = Else_Procedure.Create(parsingObject);

            return(prefab);
        }
Beispiel #2
0
            public static Else_Procedure Create(ContinueQueue parsingObject)
            {
                Else_Procedure prefab = null;

                if (parsingObject.Peek() == "else")
                {
                }

                return(prefab);
            }