Merge pull request #46 from NicMcPhee/fix-from-string-instruction
Fix from string instruction and several PSB2 problems
This commit is contained in:
commit
0412f4015b
@ -78,19 +78,14 @@
|
|||||||
(:step-limit argmap))
|
(:step-limit argmap))
|
||||||
:string))
|
:string))
|
||||||
inputs)
|
inputs)
|
||||||
parsed-outputs (map (fn [output]
|
|
||||||
(try (read-string output)
|
|
||||||
#?(:clj (catch Exception e 1000.0)
|
|
||||||
:cljs (catch js/Error. e 1000.0))))
|
|
||||||
outputs)
|
|
||||||
errors (map (fn [correct-output output]
|
errors (map (fn [correct-output output]
|
||||||
(if (= output :no-stack-item)
|
(if (= output :no-stack-item)
|
||||||
10000
|
10000
|
||||||
(metrics/levenshtein-distance correct-output output)))
|
(metrics/levenshtein-distance correct-output output)))
|
||||||
correct-outputs
|
correct-outputs
|
||||||
parsed-outputs)]
|
outputs)]
|
||||||
(assoc individual
|
(assoc individual
|
||||||
:behaviors parsed-outputs
|
:behaviors outputs
|
||||||
:errors errors
|
:errors errors
|
||||||
:total-error #?(:clj (apply +' errors)
|
:total-error #?(:clj (apply +' errors)
|
||||||
:cljs (apply + errors)))))
|
:cljs (apply + errors)))))
|
||||||
|
@ -46,19 +46,14 @@
|
|||||||
(:step-limit argmap))
|
(:step-limit argmap))
|
||||||
:string))
|
:string))
|
||||||
inputs)
|
inputs)
|
||||||
parsed-outputs (map (fn [output]
|
|
||||||
(try (read-string output)
|
|
||||||
#?(:clj (catch Exception e 1000.0)
|
|
||||||
:cljs (catch js/Error. e 1000.0))))
|
|
||||||
outputs)
|
|
||||||
errors (map (fn [correct-output output]
|
errors (map (fn [correct-output output]
|
||||||
(if (= output :no-stack-item)
|
(if (= output :no-stack-item)
|
||||||
10000
|
10000
|
||||||
(metrics/levenshtein-distance (str correct-output) (str output))))
|
(metrics/levenshtein-distance correct-output output)))
|
||||||
correct-outputs
|
correct-outputs
|
||||||
parsed-outputs)]
|
outputs)]
|
||||||
(assoc individual
|
(assoc individual
|
||||||
:behaviors parsed-outputs
|
:behaviors outputs
|
||||||
:errors errors
|
:errors errors
|
||||||
:total-error #?(:clj (apply +' errors)
|
:total-error #?(:clj (apply +' errors)
|
||||||
:cljs (apply + errors)))))
|
:cljs (apply + errors)))))
|
||||||
|
@ -47,19 +47,14 @@
|
|||||||
(:step-limit argmap))
|
(:step-limit argmap))
|
||||||
:string))
|
:string))
|
||||||
inputs)
|
inputs)
|
||||||
parsed-outputs (map (fn [output]
|
|
||||||
(try (read-string output)
|
|
||||||
#?(:clj (catch Exception e 1000.0)
|
|
||||||
:cljs (catch js/Error. e 1000.0))))
|
|
||||||
outputs)
|
|
||||||
errors (map (fn [correct-output output]
|
errors (map (fn [correct-output output]
|
||||||
(if (= output :no-stack-item)
|
(if (= output :no-stack-item)
|
||||||
10000
|
10000
|
||||||
(metrics/levenshtein-distance (str correct-output) (str output))))
|
(metrics/levenshtein-distance correct-output output)))
|
||||||
correct-outputs
|
correct-outputs
|
||||||
parsed-outputs)]
|
outputs)]
|
||||||
(assoc individual
|
(assoc individual
|
||||||
:behaviors parsed-outputs
|
:behaviors outputs
|
||||||
:errors errors
|
:errors errors
|
||||||
:total-error #?(:clj (apply +' errors)
|
:total-error #?(:clj (apply +' errors)
|
||||||
:cljs (apply + errors)))))
|
:cljs (apply + errors)))))
|
||||||
|
@ -74,19 +74,14 @@
|
|||||||
(:step-limit argmap))
|
(:step-limit argmap))
|
||||||
:string))
|
:string))
|
||||||
inputs)
|
inputs)
|
||||||
parsed-outputs (map (fn [output]
|
|
||||||
(try (read-string output)
|
|
||||||
#?(:clj (catch Exception e 1000.0)
|
|
||||||
:cljs (catch js/Error. e 1000.0))))
|
|
||||||
outputs)
|
|
||||||
errors (map (fn [correct-output output]
|
errors (map (fn [correct-output output]
|
||||||
(if (= output :no-stack-item)
|
(if (= output :no-stack-item)
|
||||||
10000
|
10000
|
||||||
(metrics/levenshtein-distance correct-output output)))
|
(metrics/levenshtein-distance correct-output output)))
|
||||||
correct-outputs
|
correct-outputs
|
||||||
parsed-outputs)]
|
outputs)]
|
||||||
(assoc individual
|
(assoc individual
|
||||||
:behaviors parsed-outputs
|
:behaviors outputs
|
||||||
:errors errors
|
:errors errors
|
||||||
:total-error #?(:clj (apply +' errors)
|
:total-error #?(:clj (apply +' errors)
|
||||||
:cljs (apply + errors)))))
|
:cljs (apply + errors)))))
|
||||||
|
@ -46,19 +46,14 @@
|
|||||||
(:step-limit argmap))
|
(:step-limit argmap))
|
||||||
:string))
|
:string))
|
||||||
inputs)
|
inputs)
|
||||||
parsed-outputs (map (fn [output]
|
|
||||||
(try (read-string output)
|
|
||||||
#?(:clj (catch Exception e 1000.0)
|
|
||||||
:cljs (catch js/Error. e 1000.0))))
|
|
||||||
outputs)
|
|
||||||
errors (map (fn [correct-output output]
|
errors (map (fn [correct-output output]
|
||||||
(if (= output :no-stack-item)
|
(if (= output :no-stack-item)
|
||||||
10000
|
10000
|
||||||
(metrics/levenshtein-distance (str correct-output) (str output))))
|
(metrics/levenshtein-distance correct-output output)))
|
||||||
correct-outputs
|
correct-outputs
|
||||||
parsed-outputs)]
|
outputs)]
|
||||||
(assoc individual
|
(assoc individual
|
||||||
:behaviors parsed-outputs
|
:behaviors outputs
|
||||||
:errors errors
|
:errors errors
|
||||||
:total-error #?(:clj (apply +' errors)
|
:total-error #?(:clj (apply +' errors)
|
||||||
:cljs (apply + errors)))))
|
:cljs (apply + errors)))))
|
||||||
|
@ -59,19 +59,14 @@
|
|||||||
(:step-limit argmap))
|
(:step-limit argmap))
|
||||||
:string))
|
:string))
|
||||||
inputs)
|
inputs)
|
||||||
parsed-outputs (map (fn [output]
|
|
||||||
(try (read-string output)
|
|
||||||
#?(:clj (catch Exception e 1000.0)
|
|
||||||
:cljs (catch js/Error. e 1000.0))))
|
|
||||||
outputs)
|
|
||||||
errors (map (fn [correct-output output]
|
errors (map (fn [correct-output output]
|
||||||
(if (= output :no-stack-item)
|
(if (= output :no-stack-item)
|
||||||
10000
|
10000
|
||||||
(metrics/levenshtein-distance (str correct-output) (str output))))
|
(metrics/levenshtein-distance correct-output output)))
|
||||||
correct-outputs
|
correct-outputs
|
||||||
parsed-outputs)]
|
outputs)]
|
||||||
(assoc individual
|
(assoc individual
|
||||||
:behaviors parsed-outputs
|
:behaviors outputs
|
||||||
:errors errors
|
:errors errors
|
||||||
:total-error #?(:clj (apply +' errors)
|
:total-error #?(:clj (apply +' errors)
|
||||||
:cljs (apply + errors)))))
|
:cljs (apply + errors)))))
|
||||||
|
@ -50,19 +50,14 @@
|
|||||||
(:step-limit argmap))
|
(:step-limit argmap))
|
||||||
:string))
|
:string))
|
||||||
inputs)
|
inputs)
|
||||||
parsed-outputs (map (fn [output]
|
|
||||||
(try (read-string output)
|
|
||||||
#?(:clj (catch Exception e 1000.0)
|
|
||||||
:cljs (catch js/Error. e 1000.0))))
|
|
||||||
outputs)
|
|
||||||
errors (map (fn [correct-output output]
|
errors (map (fn [correct-output output]
|
||||||
(if (= output :no-stack-item)
|
(if (= output :no-stack-item)
|
||||||
10000
|
10000
|
||||||
(metrics/levenshtein-distance (str correct-output) (str output))))
|
(metrics/levenshtein-distance correct-output output)))
|
||||||
correct-outputs
|
correct-outputs
|
||||||
parsed-outputs)]
|
outputs)]
|
||||||
(assoc individual
|
(assoc individual
|
||||||
:behaviors parsed-outputs
|
:behaviors outputs
|
||||||
:errors errors
|
:errors errors
|
||||||
:total-error #?(:clj (apply +' errors)
|
:total-error #?(:clj (apply +' errors)
|
||||||
:cljs (apply + errors)))))
|
:cljs (apply + errors)))))
|
||||||
|
@ -121,9 +121,13 @@
|
|||||||
:name "_from_string"}
|
:name "_from_string"}
|
||||||
(fn [stack state]
|
(fn [stack state]
|
||||||
(make-instruction state
|
(make-instruction state
|
||||||
#(try ((if (= stack :integer) int float) (read-string %))
|
#(try (if (= stack :integer)
|
||||||
#?(:clj (catch Exception e)
|
#?(:clj (Integer/parseInt %)
|
||||||
:cljs (catch js/Error. e)))
|
:cljs (js/parseInt %))
|
||||||
|
#?(:clj (Float/parseFloat %)
|
||||||
|
:cljs (js/parseFloat %)))
|
||||||
|
#?(:clj (catch Exception e :ignore-instruction)
|
||||||
|
:cljs (catch js/Error e :ignore-instruction)))
|
||||||
[:string]
|
[:string]
|
||||||
stack)))
|
stack)))
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user