▁interpreter , ▁and ▁often ▁includes ▁a ▁runtime ▁system . ▁ ▁An ▁implementation ▁of ▁an ▁execution ▁model ▁controls ▁the ▁order ▁in ▁which ▁work ▁takes ▁place ▁during ▁execution . ▁This ▁order ▁may ▁be ▁chosen ▁ahead ▁of ▁time , ▁in ▁some ▁situations , ▁or ▁it ▁can ▁be ▁dynamically ▁determined ▁as ▁the ▁execution ▁proceed s . ▁Most ▁execution ▁models ▁allow ▁varying ▁degrees ▁of ▁both . ▁For ▁example , ▁the ▁C ▁language ▁fixes ▁the ▁order ▁of ▁work ▁within ▁a ▁statement ▁and ▁it ▁fixes ▁the ▁order ▁of ▁all ▁statements , ▁except ▁ones ▁that ▁involve ▁an ▁IF ▁statement ▁or ▁a ▁form ▁of ▁loop ▁statement . ▁Hence , ▁most ▁of ▁the ▁order ▁of ▁execution ▁may ▁be ▁chosen ▁stat ically , ▁before ▁execution ▁begins , ▁but ▁a ▁small ▁portion ▁must ▁be ▁chosen ▁dynamically , ▁as ▁execution ▁proceed s . ▁ ▁The ▁static ▁choices ▁are ▁most ▁often ▁implemented ▁inside ▁a ▁compiler , ▁in ▁which ▁case ▁the ▁order ▁of ▁work ▁is ▁represented ▁by ▁the ▁order ▁in ▁which ▁instructions ▁are ▁placed ▁into ▁the ▁executable ▁binary . ▁The ▁dynamic ▁choices ▁would ▁then ▁be ▁implemented ▁inside ▁the ▁language ' s ▁runtime ▁system . ▁ ▁The ▁runtime ▁system ▁may ▁be ▁a ▁library , ▁which ▁is ▁called ▁by ▁instructions ▁inserted ▁by ▁the ▁compiler , ▁or ▁the ▁runtime ▁system ▁may ▁be ▁embedded ▁into ▁the ▁executable ▁directly , ▁such ▁as ▁by ▁inserting ▁branch ▁instructions , ▁which ▁make ▁dynamic ▁choices ▁about ▁which ▁work ▁to ▁perform ▁next . ▁ ▁However , ▁an ▁interpreter ▁may ▁also ▁be ▁constructed ▁for ▁any ▁language , ▁in ▁which ▁case ▁all ▁dec isions ▁on ▁order ▁of ▁execution ▁are ▁dynamic