From 6e1c004fea8d841f554c2e94ff39e1fcee94b4e3 Mon Sep 17 00:00:00 2001 From: Adam Scarr Date: Mon, 7 Aug 2017 22:57:06 +1000 Subject: Add Bind for constants --- combinator.go | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'combinator.go') diff --git a/combinator.go b/combinator.go index f072913..e83a0c1 100644 --- a/combinator.go +++ b/combinator.go @@ -123,6 +123,19 @@ func Maybe(parser Parserish) Parser { }) } +func Bind(parser Parserish, val interface{}) Parser { + p := Parsify(parser) + + return func(ps *State) Node { + node := p(ps) + if ps.Errored() { + return node + } + node.Result = val + return node + } +} + func Map(parser Parserish, f func(n Node) Node) Parser { p := Parsify(parser) -- cgit v1.2.3