LINUX.ORG.RU

parsack, вопрос

 ,


0

1

как сделать нежадным many1?

#lang racket

(require (lib "parsack"))

(define $sep (char #\ ))

(define $cell (many1 $anyChar))

(define $cells (parser-cons $cell $rest))

(define $rest (<or> (parser-cons $sep $cells)
                    (return null)))

(parse-result $cells "asd asdf")
нужно получить
'((#\a #\s #\d) #\space (#\a #\s #\d #\f))
разделитель нужно задавать именно парсером



Последнее исправление: qweqwe (всего исправлений: 1)
Ответ на: комментарий от monk

спасибо, только сейчас понял, что это «consumes no input» значит. Хотя казалось бы, очевидно ведь.

qweqwe
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.