#include #include void demo1() { {% for item in demo1 %} {% if item.type == "text" %} /* {{ item.value }} */ {% elsif item.type == "demo" %} {% for step in item.steps %} {% for line in step.code %}{{ line }} {% endfor %} {% for endval in step.endvals %} assert( {{endval[0]}} == "{{endval[1]}}" ); {% endfor %} {% endfor %} {% else %} BAD ITEM {% endif %} {% endfor %} } void demo2() { {% for item in demo2 %} {% if item.type == "text" %} /* {{ item.value }} */ {% elsif item.type == "demo" %} {% for step in item.steps %} {% for line in step.code %}{{ line }} {% endfor %} {% for endval in step.endvals %} assert( {{endval[0]}} == "{{endval[1]}}" ); {% endfor %} {% endfor %} {% else %} BAD ITEM {% endif %} {% endfor %} } int main(int argc, char ** argv) { demo1(); demo2(); printf("%s done running\n", argv[0]); }