tact-lang / tact-docs

Tact main documentation
https://docs.tact-lang.org
48 stars 38 forks source link

Complete annotated grammar reference/spec from `grammar.ohm` #76

Open novusnota opened 5 months ago

novusnota commented 5 months ago

Current grammar page doesn't bring much value, especially for those willing to work on Tact compiler development or related tooling.

The page should be moved to the Language → Reference section, and it should cover different parts of the official Tact grammar in Ohm with examples showcasing their usage in the language.

Now, it's possible to do it with syntax highlighting of Ohm code blocks thanks to the merged TextMate grammar for Ohm, brought from novusnota/vscode-ohm.

Reference links:

anton-trunov commented 5 months ago

Would be nice to render the grammar as BNF or EBNF. Being able to look at the language grammar is really valuable when you have to quickly learn a new language (a bunch of code snippets help a lot too, but a grammar in a standard form can save a lot of time).

As for the available grammars in different format, we should definitely document we have those in a different section about tooling. Basically, the Grammar page should only contain a standardized description of the Tact syntax and the concrete grammars like the one in the TextMate format or the Tree-Sitter grammar for Tact should be linked and described as tools.