【问题标题】:curly brackets { } in DCGDCG中的大括号{}
【发布时间】:2017-03-14 06:49:18
【问题描述】:

我开始学习如何使用 DCG。我想知道花括号{...} 是用来做什么的?何时(何时不需要)需要它们?例如:

read_lines -->
  { read_line_to_codes(current_input, Codes) } ,
  (
    { Codes == end_of_file } -> []
  ;
    { atom_codes(Line, Codes) } ,
    [Line],
    read_lines
  ) .

针对此问题提供:Avoid linear cost of append/3 in Prolog

【问题讨论】:

标签: prolog dcg


【解决方案1】:

在 DCG 规则中,{} 用于封装 Prolog 目标,否则将被解释为非终结符。

【讨论】:

    猜你喜欢
    • 2016-12-04
    • 2021-04-27
    • 1970-01-01
    • 2020-08-17
    • 1970-01-01
    • 2011-09-26
    • 1970-01-01
    • 2017-06-01
    相关资源
    最近更新 更多