dcg

    1зной

    3ответ

    resolve(K, K, _) :- writeln('finished'). %goal state resolve(CurrentState, GoalState, Path) :- suc(_, CurrentState, NextState, GoalState), append(Path, [CurrentState], NextPath), reso

    3зной

    1ответ

    Я пытаюсь сделать предикат, чтобы проверить, соответствует ли данный ввод формуле. Я разрешено использовать только пропозициональные атомы, такие как P, Q, R, S, T, и т.д. Формулы, которые я должен пр

    2зной

    2ответ

    Я пишу переводчик Lisp-to-C, используя встроенные возможности DCG от Prolog. Вот как я обрабатываю арифметику: expr(Z) --> "(", "+", spaces, expr(M), spaces, expr(N), ")", {swritef(Z, "%d + %d", [M, N

    4зной

    3ответ

    Я пытаюсь использовать SWI-Prolog в win xp. Я пытаюсь понять, как разделить предложение в Прологе на отдельные атомы. Ex: Скажем, у меня есть предложение, как это: «это строка» Есть ли способ, чтобы п

    2зной

    3ответ

    У меня есть следующий Prolog определенной оговорки грамматика: s-->[a],s,[b]. s-->[]. Это приведет в словах как [а, а, Ь, Ь] принимаются в противоположных слова, как [а , Ь, а, Ь]. Короче говоря, г

    10зной

    3ответ

    У меня есть следующий простой анализатор выражений: expr(+(T,E))-->term(T),"+",expr(E). expr(T)-->term(T). term(*(F,T))-->factor(F),"*",term(T). term(F)-->factor(F). factor(N)-->nat(N). factor(

    2зной

    1ответ

    В настоящее время я играю с DCG в Prolog для анализа XML-файла. Я был в состоянии получить следующий фрагмент кода, который способен разобрать простой XML, такие как: <author> <name> <f> arthur </f>

    1зной

    2ответ

    Меня интересуют формулы, составленные из множества союзов (часть большей проблемы). Я хочу, чтобы написать программу, которая принимает что-то вроде этого: :- get_params(conj(conj(a,b),c),X) и возвращ