【发布时间】:2019-03-20 04:23:14
【问题描述】:
图形标记可以用作不需要单引号的 Prolog 运算符。
ISO/IEC 13211-1:1995, 6.4.2 "Syntax.Tokens.Names" 的翻译是:
graphic_token --> kleene_plus(graphic_token_char).
graphic_token_char --> member("#$&*+-./:<=>?@^~\\").
% some auxiliary code
kleene_plus(NT) --> NT, kleene_star(NT).
kleene_star(NT) --> "" | kleene_plus(NT).
member(Xs) --> [X], { member(X,Xs) }.
第 6.4.1 小节“Syntax.Tokens.Layout Text”添加以下约束:
图形标记不得以字符序列
comment open(即“/*”)开头。
在 DCG 中执行该限制没什么大不了的......
图形令牌 --> 图形令牌字符。 % 1 个字符 graphics_token --> % 2+ 字符 [C1,C2], { 短语((graphic_token_char,graphic_token_char), [C1,C2]) }, { 差异([C1,C2], "/*") }, kleene_star(graphic_token_char)。...但是很丑! 如何让它再次漂亮(并保持双向)?
【问题讨论】:
-
丑吗?混合 /* ... */ cmets 和图形令牌的想法很丑。
-
@false。真的。我不希望在图形标记内部或末尾没有
/*或*/,即使它们是合法的。