nikodemus/esrap — pull request #10 by scymtym (2012-03-30 11:10:15+00:00)
Title: Added &position START END syntax to :lambda and :destructure

The change allows bodies of `:lambda` and `:destructure` transforms to receive the bounds of the matching substring in two variables. The respective syntax is:

```
(:lambda (ARG &position START END)
BODY)
```

```
(:destructure (LAMBDA-LIST-ELEMENTS &position START END)
BODY)
```

Modified example which includes substring bounds in parse result:

```cl
(defrule sexp (and (? whitespace) (or magic list atom))
(:destructure (w s &position start end)
(declare (ignore w))
(list s (cons start end))))
```