DSL for processing data
dsbdp.dsl.DslHelper | Java Interop for using the DSL from within Java. |
dsbdp.dsl.byte-array-conversion | Helper functions for converting byte arrays into other data types/representations |
dsbdp.dsl.experiment-helper | Helper that are primarily used during experiments |
dsbdp.dsl.main | Main class for launching a test CLI. |
Index Page | |
Alphabetic Var Index |
DSL for processing data
Arglists: ========= (combine-proc-fns dsl-expression start-idx end-idx) Docstring: ========== Based on the DSL expression dsl-expression, create a data processing function in which the processing rules starting at start-idx, inclusive, up to end-idx, non inclusive, are combined. Please note that it is usually more appropriate to use combine-proc-fns-vec.
Arglists: ========= (combine-proc-fns-vec fn-mapping dsl-expression) Docstring: ========== Based on the function mapping fn-mapping and the DSL expression dsl-expression, create a vector of data processing functions. The mapping definition defines the number of processing rules to be included in each processing function. For a vector of processing rules [a b c d e f], a mapping definition [1 2 3] will result in the following association of processing rules to processing functions f_x: [f_1(a), f_2(b, c), f_3(d e f)].
Arglists: ========= (create-proc-fn dsl-expression) Docstring: ========== Create a data processing function based on the given dsl-expression. An example of a dsl-expression for processing a Clojure seq is given below: {:output-type :clj-map :rules [['myFloat '(nth 0)] ['myStr '(clojure.string/lower-case (nth 1)) :string] ['myRatio '(/ (nth 2) 100.0)] ['myStr2 '(str (nth 3) (nth 4)) :string]]} The resulting function will for the input [1.23 "FOO" 42 "bar" "baz"] produce the output {"myFloat" 1.23, "myStr" "foo", "myRatio" 0.42, "myStr2" "barbaz"}.
Arglists: ========= (prefix-rule-name rule-name nesting-level) Docstring: ========== Prefix the rule name based on its nesting level to assure that at identifiers at each branch level are unique.