public IStatementList GetFollowedByT(Statement statement) { IStatementList followed = ImplementationFactory.CreateStatementList(); Statement followedStatement = GetFollowedBy(statement); followed.AddStatement(followedStatement); for (int i = 0; i < followed.GetSize(); i++) { followed.AddStatement(GetFollowedBy(followed[i])); } return(followed); }
public IStatementList GetFollowsT(Statement statement) { IStatementList following = ImplementationFactory.CreateStatementList(); Statement followingStatement = GetFollows(statement); following.AddStatement(followingStatement); for (int i = 0; i < following.GetSize(); i++) { following.AddStatement(GetFollows(following[i])); } return(following); }
private IStatementList Statements() { Statement statement = SingleStatement(); IStatementList statements = ImplementationFactory.CreateStatementList(); statements.AddStatement(statement); while (currentToken.Type != TokenType.RBRACE) { statements.AddStatement(SingleStatement()); } return(statements); }
private void BuildPath(List <IStatementList> paths, IStatementList path, Statement lastElement) { Statement element = path.GetSize() > 0 ? path.GetLast() : lastElement; if (path.GetSize() == 0 || element != lastElement) { IStatementList nexting = GetNext(element); if (nexting.GetSize() > 0) { if (nexting.GetLast() != nexting.GetFirst()) { IStatementList newPath = path.Copy(); newPath.AddStatement(nexting.GetLast()); BuildPath(paths, newPath, element); } path.AddStatement(nexting.GetFirst()); BuildPath(paths, path, element); } else { paths.Add(path); } } else { paths.Add(path); } }
protected override IEntityList ProcessRightSide(IProgramKnowledgeBase pkb, IEntity arg) { Statement statement = arg as Statement; Statement parent = pkb.ParentTable.GetParent(statement); IStatementList result = ImplementationFactory.CreateStatementList(); result.AddStatement(parent); return(result); }
protected override IEntityList ProcessRightSide(IProgramKnowledgeBase pkb, IEntity arg) { Statement statement = arg as Statement; Statement followed = pkb.FollowsTable.GetFollowedBy(statement); IStatementList result = ImplementationFactory.CreateStatementList(); result.AddStatement(followed); return(result); }
public IStatementList GetParentT(Statement statement) { IStatementList parents = ImplementationFactory.CreateStatementList(); Statement parentStatement = GetParent(statement); parents.AddStatement(parentStatement); for (int i = 0; i < parents.GetSize(); i++) { parents.AddEntity(GetParent(parents[i])); } return(parents); }
private IStatementList StmtLst() { Eat(TokenType.LBRACE); IStatementList statements = Statements(); Eat(TokenType.RBRACE); IStatementList root = ImplementationFactory.CreateStatementList(); foreach (Statement statement in statements) { root.AddStatement(statement); } return(root); }