Another example of biphasic programming is parser generators with DSLs for generating parsers, e.g. Tree Sitter or Lezer.
> characterized by languages and frameworks that enable identical syntax to express computations executed in two distinct phases or environments while maintaining consistent behavior (i.e., semantics) across phases
Munging together strings into something which is hopefully source code is the ultimate escape valve for languages which have poor or nonexistent facilities for biphasic programming. You compile a program, it executes, it spits out a program, you compile that and run it. That isn't biphasic: it's one phase, twice.