Did you know ... Search Documentation:
dcg.pl
PublicShow source
Source dcg_body(:DCG, ?Pos0, +Qualify, ?List, ?Tail, -Goal, -Pos) is det[private]
Translate DCG body term.
Source qualify(+QualifyInfo, +Goal, +Pos0, -QGoal, -Pos) is det[private]
Arguments:
QualifyInfo- is a term q(Module,Context,Pos), where Module is the module in which Goal must be called and Context is the current source module.
 dcg_extend(+Head, +Extra1, +Extra2, -NewHead)[private]
Extend Head with two more arguments (on behalf DCG compilation). The solution below is one option. Using =.. and append is the alternative. In the current version (5.3.2), the =.. is actually slightly faster, but it creates less garbage.
Source dcg_extend(:Rule, ?Pos0, ?List, ?Tail, -Head, -Pos) is det[private]
Extend a non-terminal with the DCG difference list List\Tail. The position term is extended as well to reflect the layout of the created term. The additional variables are located at the end of the Rule.
Source dcg_bt_pos(?BraceTermPos, -Pos) is det[private]
Position transformation for mapping of {G} to (G, S=SR).
Source dcg_terminal_pos(+ListPos, -TermPos)[private]
Source dcg_qualify_pos(?TermPos0, ?ModuleCreatingPos, -TermPos)[private]
Source phrase(:RuleSet, ?List)
Source phrase(:RuleSet, ?List, ?Rest)
Interface to DCGs

Undocumented predicates

The following predicates are exported, but not or incorrectly documented.

Source dcg_translate_rule(Arg1, Arg2)
Source call_dcg(Arg1, Arg2, Arg3)
Source dcg_translate_rule(Arg1, Arg2, Arg3, Arg4)
Source phrase(Arg1, Arg2, Arg3)