I am having trouble parsing sequences that begin with capital letters into variables using Prolog's DCG notation. For instance, if I have the string
f a X y Z X
and a DCG that parses this string, is there any way to parse each capitalized letter into a unique Prolog variable. E.g., parse Y
to a variable and each X
to a variable? The intended application would be to build the functor
T = f(a,X,y,Z,X)
via a DCG rule ending with the statement
{T =.. [Head|Args]}