TableGen is a language used in the LLVM project for generating various files, such as instruction definitions, documentation, and command line options. It has been around for over 20 years and is the 5th most popular language in the LLVM repository. While TableGen only exists within LLVM and lacks extensive resources, recent improvements have made it more efficient, allowing users to focus on their goals. TableGen can be used in Compiler Explorer and Jupyter Notebooks, and there is a TableGen language server that supports the Language Server Protocol. Debugging tools like “dump” and assertions can also be utilized in TableGen.
https://blog.llvm.org/posts/2023-12-07-tools-for-learning-llvm-tablegen/