private PqlOutput ProcessResult(PqlResult result) { if (result is PqlBoolean) { return(new PqlBooleanOutput(resultBoolean)); } else { PqlTupleOutput output = new PqlTupleOutput(); if (resultBoolean) { PqlTuple tuple = result as PqlTuple; foreach (PqlElem elem in tuple.Elems) { string synonym; if (elem is PqlAttrRef) { synonym = (elem as PqlAttrRef).SynonymName; } else { synonym = (elem as PqlSynonym).Name; } PqlDeclaration declaration = Declarations.GetDeclarationBySynonym(synonym); output.Declarations.AddDeclaration(declaration); } } return(output); } }