Parsing with DCGs in Scheme (without Prolog)?
Asked Answered
M

1

7

Lots of Prolog-in-Scheme implementations are out there. E.g. Kanren, Schelog.

Apparently in "Paradigms of AI Programming" Norvig implements Prolog-to-Lisp compiler in Lisp in order to use Definite Clause Grammars.

But is there a simpler cleaner way? Maybe some clever use of amb to avoid implementing a full "Prolog"? What is the easiest way to have DCG-based parsing in Scheme?

Mineral answered 26/11, 2009 at 7:5 Comment(0)
O
5

DCGs use both unification and backtracking, so there's no avoiding implementing the core of Prolog. That is, you can represent any pure Prolog program as a DCG parsing the empty list.

You might do it if you only care about some special case of DCGs, like ones without variables (good only for recognizing, not parsing).

Odin answered 3/12, 2009 at 10:50 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.