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); }
public static Else_Procedure Create(ContinueQueue parsingObject) { Else_Procedure prefab = null; if (parsingObject.Peek() == "else") { } return(prefab); }