Liking cljdoc? Tell your friends :D

math.parse


parseclj

(parse expr)

parses string into clojure data structure

(parse "sin((1+1))") => '(sin ({:op "+"} 1 1))

(parse "a+bc^f(1,2)") => '({:op "+"} a ({:op ""} b ({:op "^"} c (f 1 2))))

(parse "a+b+c+d") => '({:op "+"} ({:op "+"} ({:op "+"} a b) c) d)

parses string into clojure data structure

(parse "sin((1+1))")
=> '(sin ({:op "+"} 1 1))

(parse "a+b*c^f(1,2)")
=> '({:op "+"} a ({:op "*"} b ({:op "^"} c (f 1 2))))

(parse "a+b+c+d")
=> '({:op "+"} ({:op "+"} ({:op "+"} a b) c) d)
raw docstring

parse-exprclj

(parse-expr expr)

parses string into SyntaxTree

(parse-expr "1 + 1") => org.scijava.parsington.SyntaxTree

parses string into SyntaxTree

(parse-expr "1 + 1")
=> org.scijava.parsington.SyntaxTree
raw docstring

to-cljcljmultimethod

converts syntax tree into clojure

(to-clj (parse-expr "1+1")) => '({:op "+"} 1 1)

(to-clj (parse-expr "sin((1+1))")) => '(sin (:infix/splice ({:op "+"} 1 1)))

converts syntax tree into clojure

(to-clj (parse-expr "1+1"))
=> '({:op "+"} 1 1)

(to-clj (parse-expr "sin((1+1))"))
=> '(sin (:infix/splice ({:op "+"} 1 1)))
raw docstring

walk-postfixclj

(walk-postfix form)

fixes splice forms occuring in parsing

(walk-postfix '(sin (:infix/splice ({:op "+"} 1 1)))) => '(sin ({:op "+"} 1 1))

fixes splice forms occuring in parsing

(walk-postfix '(sin (:infix/splice ({:op "+"} 1 1))))
=> '(sin ({:op "+"} 1 1))
raw docstring

cljdoc is a website building & hosting documentation for Clojure/Script libraries

× close