RosettaCodeData/Task/Balanced-brackets/TXR/balanced-brackets.txr

24 lines
554 B
Text
Raw Permalink Normal View History

2013-04-10 22:43:41 -07:00
@(define paren)@(maybe)[@(coll)@(paren)@(until)]@(end)]@(end)@(end)
@(do (defvar r (make-random-state nil))
2015-02-20 00:35:01 -05:00
2013-04-10 22:43:41 -07:00
(defun generate-1 (count)
2015-02-20 00:35:01 -05:00
(let ((bkt (repeat "[]" count)))
(cat-str (shuffle bkt))))
2013-04-10 22:43:41 -07:00
(defun generate-list (num count)
2015-02-20 00:35:01 -05:00
[[generate tf (op generate-1 count)] 0..num]))
2013-04-10 22:43:41 -07:00
@(next :list @(generate-list 22 6))
@(output)
INPUT MATCHED REST
@(end)
@ (collect)
@ (all)
@parens
@ (and)
@{matched (paren)}@mismatched
@ (end)
@ (output)
@{parens 15} @{matched 15} @{mismatched 15}
@ (end)
@(end)