Използвам определена граматика на клауза, за да анализирам низови литерали в Prolog, но това граматично правило може да анализира само низови литерали, които съдържат буквени знаци:
string_literal(S) --> "\"", symbol(S), "\"".
symbol([L|Ls]) --> letter(L), symbol_r(Ls).
symbol_r([L|Ls]) --> letter(L), symbol_r(Ls).
symbol_r([]) --> [].
letter(Let) --> [Let], { code_type(Let, alpha) }.
Възможно ли е да се напише DCG правило, което може да анализира низови литерали с други типове символи?