1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
|
(ns instaparse.viz-test
(:require instaparse.core)
(:use instaparse.viz))
(def make-tree-e
"simple tree parser"
(instaparse.core/parser "tree: node*
node: leaf | <'('> node (<'('> node <')'>)* node* <')'>
leaf: #'a+'
" :output-format :enlive))
(def make-tree-h
"simple tree parser"
(instaparse.core/parser "tree: node*
node: leaf | <'('> node (<'('> node <')'>)* node* <')'>
leaf: #'a+'
" :output-format :hiccup))
(def make-tree-se
"simple tree parser"
(instaparse.core/parser "<tree>: node*
node: leaf | <'('> node (<'('> node <')'>)* node* <')'>
leaf: #'a+'
" :output-format :enlive))
(def make-tree-sh
"simple tree parser"
(instaparse.core/parser "<tree>: node*
node: leaf | <'('> node (<'('> node <')'>)* node* <')'>
leaf: #'a+'
" :output-format :hiccup))
(defn view-test-trees [t]
(tree-viz (make-tree-e "((a)((a)))(a)"))
(Thread/sleep t)
(tree-viz (make-tree-h "((a)((a)))(a)"))
(Thread/sleep t)
(tree-viz (make-tree-sh "((a)((a)))(a)"))
(Thread/sleep t)
(tree-viz (make-tree-se "((a)((a)))(a)"))
(Thread/sleep t)
(tree-viz (make-tree-e ""))
(Thread/sleep t)
(tree-viz (make-tree-se "")))
|