Printing a recipe via the TableGen backend
Following up on the last part of the previous section, after composing the donut recipe in TableGen's syntax, it's time to print out a normal recipe from that via a custom-built TableGen backend.
Note
Please don't confuse a TableGen backend with a LLVM backend: the former converts (or transpiles) TableGen files into an arbitrary textual content, C/C++ header files being the most common form. An LLVM backend, on the other hand, lowers LLVM intermediate representations (IR) into low-level assembly code.
In this section, we're developing the TableGen backend to print the donut we composed in the previous section into content, like this:
=======Ingredients======= 1. oil 500 ml 2. flour 300 g 3. milk 1.25 cup 4. whole egg 1 5. yeast 1.50 tsp 6. butter 3.50 tbsp 7. sugar 2.0 tbsp 8. salt 0.50 tsp 9. vanilla extract 1.0 tsp =======Instructions======= 1. use deep fryer to heat oil until 160 C 2. use mixer to mix flour...