Explicit Preemption Placement For Real-Time Conditional Code Via Graph Grammars And Dynamic Programming