In order to make Oils statically typed, we had to abandon Python reflection and use C++ source code generation instead. The lexer, flag definitions, and constants can be easily compiled to C++.
core/optview_gen.py 94 cpp/embedded_file_gen.py 66 doctools/help_gen.py 658 frontend/consts_gen.py 628 frontend/flag_gen.py 532 frontend/lexer_gen.py 496 frontend/option_gen.py 94 frontend/signal_gen.py 105 osh/arith_parse_gen.py 100 ysh/grammar_gen.py 244 3,017 lines in 11 files