Я использую грамматики с определенными предложениями для разбора строковых литералов в Прологе, но это грамматическое правило может анализировать только строковые литералы, содержащие алфавитные символы:
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, которое может анализировать строковые литералы с другими типами символов?