構文解析木の作成

最近CYKアルゴリズムを学びながらコンパイラーがソースコードを確認してISAに変換する方法を考えています。
Basically, if the CYK algorithm is efficient and determines membership in a language, couldn't it be used for syntax checking by a compiler? Does it implicitly construct a parse tree (I would expect so, as it provides all derivations).
Thus, I would like to contrast CYK with known parsers such as LALR (look-ahead LR), which output abstract syntax trees (AST).