Availability:built-in
 expand_goal(+Goal1, 
?Layout1, -Goal2, -Layout2)
goal_expansion(+Goal1, 
?Layout1, -Goal2, -Layout2)
expand_term(+Term1, 
?Layout1, -Term2, -Layout2)
term_expansion(+Term1, 
?Layout1, -Term2, -Layout2)
dcg_translate_rule(+In, 
?LayoutIn, -Out, -LayoutOut)These versions are called before their 2-argument counterparts. 
The input layout term is either a variable (if no layout information is 
available) or a term carrying detailed layout information as returned by 
the
expand_goal(+Goal1, 
?Layout1, -Goal2, -Layout2)
goal_expansion(+Goal1, 
?Layout1, -Goal2, -Layout2)
expand_term(+Term1, 
?Layout1, -Term2, -Layout2)
term_expansion(+Term1, 
?Layout1, -Term2, -Layout2)
dcg_translate_rule(+In, 
?LayoutIn, -Out, -LayoutOut)These versions are called before their 2-argument counterparts. 
The input layout term is either a variable (if no layout information is 
available) or a term carrying detailed layout information as returned by 
the subterm_positions of read_term/2.