Introduce a `compile` or similar function to the API
It would greatly benefit for tools to be able to get results of the compilation without waiting for the whole build() to complete with all the wrappers and following. Just to have all the things parsed by the AST and exposed directly for tools such as LSP to consume.
This may be a wrapper around this function: https://github.com/tact-lang/tact/blob/8e61206f8c2d6dab5007627fcffda5102caa1f68/src/pipeline/precompile.ts
Additionally, it's nice to update the check() function to return the list of expected items in addition to the whole message. And with that, the parse() function (import { parse } from '@tact-lang/compiler/dist/grammar/grammar';) can also get promoted to the first-class export from the compiler.
Partially related to #254.
As Ohm supports incremental parsing, we should start using and exposing its APIs too. Perhaps, in that proposed compile API function. Referenced that in #291.
P.S.: Having this update will make tact.vim drastically smarter and allow a much simpler implementation of tact play going forward!