separated the syntaxer from the tree and cycle generator