1
我需要將字符串^borrow$ ^\$500$
解析爲列表[borrow, $500]
。我寫的語法迄今Prolog DCG用於解析轉義序列
:- use_module(library(dcg/basics)).
write_list([]).
write_list([H|T]) :- atom_codes(S, H), write(S), nl, write_list(T).
% Grammar.
tags([Tag|Rest]) --> string(_), tag(Tag), tags(Rest).
tags([]) --> string(_).
tag(Tag) --> "^", tag_contents(Tag), "$".
tag_contents(Tag) --> string(Tag).
時,我沒有\$
令牌裏面做哪些工作:
?- phrase(tags(T), "^pisica$ ^catel$"), write_list(T).
pisica
catel
?- phrase(tags(T), "^borrow$ ^\\$500$"), write_list(T).
borrow
\
什麼是解析這種與Prolog的DCG中逃脫序列的最佳做法?
對不起,這個,但標籤// 1使用標籤// 1是不正確的。 – false