This is based on the MLIR opt kernel:
https://github.com/llvm/llvm-project/tree/main/mlir/utils/jupyter
The inent of this is to enable experimentation and the creation
of interactive tutorials for the basics of tablegen.
Noteable changes from that:
- Removed the codemirror mode settings since those won't exist for tablegen.
- Added "%args" "magic" to control arguments sent to llvm-tblgen.
(magics are directives, see
https://ipython.readthedocs.io/en/stable/interactive/magics.html)
For example the following:
%args --print-detailed-records class Stuff {} def water_bottle : Stuff {}
Produces:
DETAILED RECORDS for file - -------------------- Global Variables (0) -------------------- -------------------- Classes (1) -------------------- Stuff |<stdin>:1| Template args: (none) Superclasses: (none) Fields: (none) -------------------- Records (1) -------------------- water_bottle |<stdin>:3| Superclasses: Stuff Fields: (none)
?