firefly avatar firefly committed 778b54d

Changed Z SIGKILL timeout, switched to new parser & using pre-parsed tree.

Comments (0)

Files changed (3)

modules/05-interpreters.js

   help: "Evaluates a Z program.",
   exec: function(data) {
     var self    = this
-      , options = {timeout:8000, killSignal:'SIGKILL'}
+      , options = {timeout:30000, killSignal:'SIGKILL'}
       , suffix  = Math.random()
       , tmpfile = '/tmp/tmp-eldis4-z-' + suffix
     //  , command = "java -jar stuff/Z3.jar -w '[' ']' '" + tmpfile + "'"

stuff/z/libff.min.ppz

+(null (Statement (NamedClass (Identifier Object) (ClassBody))) (Statement (NamedFunction (Identifier object) (Parameters) (FunctionBody (Block (Statement (Return (New (Identifier Object) (Arguments)))))))) (Statement (NamedFunction (Identifier tostring) (Parameters (VariableCreator (Identifier x))) (FunctionBody (Block (Statement (Return (OperatorGroup (Value (String "")) (Operator ~) (Identifier x)))))))) (Statement (NamedFunction (Identifier assert) (Parameters (VariableCreator (Identifier cond)) (VariableCreator (Identifier msg))) (FunctionBody (Block (Statement (If (Condition (ParenthesisGroup (OperatorGroup (Operator !) (Identifier cond)))) (Body (Block (Statement (Throw (Identifier msg))))))))))) (Statement (NamedFunction (Identifier assertType) (Parameters (VariableCreator (Identifier obj)) (VariableCreator (Identifier type))) (FunctionBody (Block (Statement (Call (Identifier assert) (Arguments (OperatorGroup (Operator !) (ParenthesisGroup (OperatorGroup (Identifier obj) (Operator (is)) (Value (Null))))) (Value (String "Cannot\u0020check\u0020null!"))))) (Statement (Call (Identifier assert) (Arguments (OperatorGroup (Dot (Identifier obj) (Identifier type)) (Operator (is\u0020type))) (Value (String "Invalid\u0020type!"))))))))) (Statement (VariableCreatorWithValue (Identifier ArrayType) (Dot (Array) (Identifier type)))) (Statement (VariableCreatorWithValue (Identifier StringType) (Dot (Value (String "")) (Identifier type)))) (Statement (VariableCreatorWithValue (Identifier IntegerType) (Dot (ParenthesisGroup (Value (Number 0))) (Identifier type)))) (Statement (VariableCreatorWithValue (Identifier FloatType) (Dot (ParenthesisGroup (Value (Number 0.0))) (Identifier type)))) (Statement (VariableCreatorWithValue (Identifier BooleanType) (Dot (Value (Boolean (true))) (Identifier type)))) (Statement (VariableCreatorWithValue (Identifier FunctionType) (Dot (Identifier object) (Identifier type)))) (Statement (VariableCreatorWithValue (Identifier TopType) (Dot (Identifier ArrayType) (Identifier type)))) (Statement (VariableCreatorWithValue (Identifier Func) (Call (Identifier object) (Arguments)))) (Statement (Dot (Identifier Func) (ParenthesisGroup (NamedFunction (Identifier cnst) (Parameters (VariableCreator (Identifier x))) (FunctionBody (Block (Statement (Return (AnonymousFunction (Parameters) (FunctionBody (Block (Statement (Return (Identifier x)))))))))))))) (Statement (Dot (Identifier Func) (ParenthesisGroup (NamedFunction (Identifier eq) (Parameters (VariableCreator (Identifier x))) (FunctionBody (Block (Statement (Return (AnonymousFunction (Parameters (Identifier y)) (FunctionBody (Block (Statement (Return (OperatorGroup (Identifier y) (Operator ==) (Identifier x)))))))))))) (NamedFunction (Identifier gt) (Parameters (VariableCreator (Identifier x))) (FunctionBody (Block (Statement (Return (AnonymousFunction (Parameters (Identifier y)) (FunctionBody (Block (Statement (Return (OperatorGroup (Identifier y) (Operator >) (Identifier x)))))))))))) (NamedFunction (Identifier ge) (Parameters (VariableCreator (Identifier x))) (FunctionBody (Block (Statement (Return (AnonymousFunction (Parameters (Identifier y)) (FunctionBody (Block (Statement (Return (OperatorGroup (Identifier y) (Operator >=) (Identifier x)))))))))))) (NamedFunction (Identifier lt) (Parameters (VariableCreator (Identifier x))) (FunctionBody (Block (Statement (Return (AnonymousFunction (Parameters (Identifier y)) (FunctionBody (Block (Statement (Return (OperatorGroup (Identifier y) (Operator <) (Identifier x)))))))))))) (NamedFunction (Identifier le) (Parameters (VariableCreator (Identifier x))) (FunctionBody (Block (Statement (Return (AnonymousFunction (Parameters (Identifier y)) (FunctionBody (Block (Statement (Return (OperatorGroup (Identifier y) (Operator <=) (Identifier x)))))))))))) (NamedFunction (Identifier negate) (Parameters (VariableCreator (Identifier x))) (FunctionBody (Block (Statement (Return (OperatorGroup (Operator !) (Identifier x)))))))))) (Statement (NamedFunction (Identifier cond) (Parameters (VariableCreator (Identifier val)) (VariableCreator (Identifier pairs))) (FunctionBody (Block (Statement (VariableCreator (Identifier res))) (Statement (Dot (Identifier pairs) (Call (Identifier each) (Arguments (AnonymousFunction (Parameters (Identifier pair)) (FunctionBody (Block (Statement (VariableCreatorWithValue (Identifier condFun) (Index (Identifier pair) (IndexArguments (Value (Number 0)))))) (Statement (VariableCreatorWithValue (Identifier resultFun) (Index (Identifier pair) (IndexArguments (Value (Number 1)))))) (Statement (If (Condition (ParenthesisGroup (Call (Identifier condFun) (Arguments (Identifier val))))) (Body (Block (Statement (Assignment (Identifier res) (Call (Identifier resultFun) (Arguments (Identifier val))))) (Statement (Return (Identifier StopIteration)))))))))))))) (Statement (Return (Identifier res))))))) (Statement (Dot (Identifier cond) (ParenthesisGroup (VariableCreatorWithValue (Identifier Else) (Dot (Identifier Func) (Call (Identifier cnst) (Arguments (Value (Boolean (true)))))))))) (Statement (VariableCreatorWithValue (Identifier Math) (Call (Identifier object) (Arguments)))) (Statement (Dot (Identifier Math) (ParenthesisGroup (NamedFunction (Identifier pow) (Parameters (VariableCreator (Identifier a)) (VariableCreator (Identifier n))) (FunctionBody (Block (Statement (VariableCreatorWithValue (Identifier res) (Value (Number 1)))) (Statement (While (Condition (ParenthesisGroup (OperatorGroup (Identifier n) (Operator >) (Value (Number 0))))) (Body (Block (Statement (Assignment (Identifier res) (OperatorGroup (Identifier res) (Operator *) (Identifier a)))) (Statement (OperatorGroup (Identifier n) (Operator --))))))) (Statement (Return (Identifier res))))))))) (Statement (Dot (Identifier Math) (ParenthesisGroup (VariableCreatorWithValue (Identifier Infinity) (Dot (Identifier Math) (Call (Identifier pow) (Arguments (Value (Number 99999999999.0)) (Value (Number 30))))))))) (Statement (Dot (Identifier Math) (ParenthesisGroup (VariableCreatorWithValue (Identifier EPSILON) (Dot (Identifier Math) (Call (Identifier pow) (Arguments (Value (Number 0.1)) (Value (Number 10))))))))) (Statement (Dot (Identifier Math) (ParenthesisGroup (NamedFunction (Identifier add) (Parameters (VariableCreator (Identifier a)) (VariableCreator (Identifier b))) (FunctionBody (Block (Statement (Return (OperatorGroup (Identifier a) (Operator +) (Identifier b))))))) (NamedFunction (Identifier sub) (Parameters (VariableCreator (Identifier a)) (VariableCreator (Identifier b))) (FunctionBody (Block (Statement (Return (OperatorGroup (Identifier a) (Operator -) (Identifier b))))))) (NamedFunction (Identifier mul) (Parameters (VariableCreator (Identifier a)) (VariableCreator (Identifier b))) (FunctionBody (Block (Statement (Return (OperatorGroup (Identifier a) (Operator *) (Identifier b))))))) (NamedFunction (Identifier div) (Parameters (VariableCreator (Identifier a)) (VariableCreator (Identifier b))) (FunctionBody (Block (Statement (Return (OperatorGroup (Identifier a) (Operator /) (Identifier b))))))) (NamedFunction (Identifier mod) (Parameters (VariableCreator (Identifier a)) (VariableCreator (Identifier b))) (FunctionBody (Block (Statement (Return (OperatorGroup (Identifier a) (Operator %) (Identifier b)))))))))) (Statement (Dot (Identifier Math) (ParenthesisGroup (NamedFunction (Identifier isFinite) (Parameters (VariableCreator (Identifier x))) (FunctionBody (Block (Statement (Return (OperatorGroup (Identifier x) (Operator !=) (Dot (Identifier Math) (Identifier Infinity)) (Operator &&) (Operator -) (Identifier x) (Operator !=) (Dot (Identifier Math) (Identifier Infinity))))))))))) (Statement (Dot (Identifier Math) (ParenthesisGroup (NamedFunction (Identifier sign) (Parameters (VariableCreator (Identifier x))) (FunctionBody (Block (Statement (Return (Call (Identifier cond) (Arguments (Identifier x) (Array (Array (Dot (Identifier Func) (Call (Identifier gt) (Arguments (Value (Number 0.0))))) (Dot (Identifier Func) (Call (Identifier cnst) (Arguments (Value (Number 1)))))) (Array (Dot (Identifier Func) (Call (Identifier lt) (Arguments (Value (Number 0.0))))) (Dot (Identifier Func) (Call (Identifier cnst) (Arguments (OperatorGroup (Operator -) (Value (Number 1))))))) (Array (Dot (Identifier cond) (Identifier Else)) (Dot (Identifier Func) (Call (Identifier cnst) (Arguments (Value (Number 0))))))))))))))))) (Statement (Dot (Identifier Math) (ParenthesisGroup (NamedFunction (Identifier realsign) (Parameters (VariableCreator (Identifier x))) (FunctionBody (Block (Statement (VariableCreatorWithValue (Identifier res) (Dot (Identifier Math) (Call (Identifier sign) (Arguments (Identifier x)))))) (Statement (If (Condition (ParenthesisGroup (OperatorGroup (Identifier res) (Operator !=) (Value (Number 0))))) (Body (Block (Statement (Return (Identifier res))))) (Else (Block (Statement (Return (Call (Identifier cond) (Arguments (OperatorGroup (Dot (Identifier Math) (Identifier Infinity)) (Operator /) (Identifier x)) (Array (Array (Dot (Identifier Func) (Call (Identifier gt) (Arguments (Value (Number 0.0))))) (Dot (Identifier Func) (Call (Identifier cnst) (Arguments (Value (Number 1)))))) (Array (Dot (Identifier cond) (Identifier Else)) (Dot (Identifier Func) (Call (Identifier cnst) (Arguments (OperatorGroup (Operator -) (Value (Number 1)))))))))))))))))))))) (Statement (Dot (Identifier FunctionType) (ParenthesisGroup (NamedFunction (Identifier flip) (Parameters) (FunctionBody (Block (Statement (Return (AnonymousFunction (Parameters (VariableCreator (Identifier arg1)) (VariableCreator (Identifier arg2))) (FunctionBody (Block (Statement (Return (Call (Identifier this) (Arguments (Identifier arg2) (Identifier arg1))))))))))))) (NamedFunction (Identifier bind) (Parameters (VariableCreator (Identifier arg1))) (FunctionBody (Block (Statement (Return (AnonymousFunction (Parameters (VariableCreator (Identifier arg2))) (FunctionBody (Block (Statement (Return (Call (Identifier this) (Arguments (Identifier arg1) (Identifier arg2)))))))))))))))) (Statement (Dot (Identifier FunctionType) (ParenthesisGroup (NamedFunction (Identifier apply) (Parameters (VariableCreator (Identifier args))) (FunctionBody (Block (Statement (VariableCreatorWithValue (Identifier fun) (Identifier this))) (Statement (VariableCreatorWithValue (Identifier a) (Dot (Identifier args) (Call (Identifier padTo) (Arguments (Value (Number 8)) (Value (Null))))))) (Statement (If (Condition (ParenthesisGroup (OperatorGroup (Dot (Identifier this) (Identifier arity)) (Operator >) (Value (Number 8))))) (Body (Block (Statement (VariableCreatorWithValue (Identifier err) (Call (Identifier object) (Arguments)))) (Statement (Dot (Identifier err) (ParenthesisGroup (VariableCreatorWithValue (Identifier toString) (AnonymousFunction (Parameters) (FunctionBody (Block (Statement (Return (Value (String "Error:\u0020Function#apply:\u0020too\u0020many\u0020arguments!"))))))))))) (Statement (Dot (Identifier err) (ParenthesisGroup (VariableCreatorWithValue (Identifier message) (Dot (Identifier err) (Call (Identifier toString) (Arguments))))))) (Statement (Throw (Identifier err))))))) (Statement (Return (Call (Identifier this) (Arguments (Index (Identifier a) (IndexArguments (Value (Number 0)))) (Index (Identifier a) (IndexArguments (Value (Number 1)))) (Index (Identifier a) (IndexArguments (Value (Number 2)))) (Index (Identifier a) (IndexArguments (Value (Number 3)))) (Index (Identifier a) (IndexArguments (Value (Number 4)))) (Index (Identifier a) (IndexArguments (Value (Number 5)))) (Index (Identifier a) (IndexArguments (Value (Number 6)))) (Index (Identifier a) (IndexArguments (Value (Number 7)))))))))))))) (Statement (NamedFunction (Identifier range) (Parameters (VariableCreator (Identifier from)) (VariableCreator (Identifier to))) (FunctionBody (Block (Statement (VariableCreatorWithValue (Identifier res) (Array))) (Statement (VariableCreatorWithValue (Identifier i) (Identifier from))) (Statement (While (Condition (ParenthesisGroup (OperatorGroup (Identifier i) (Operator <) (Identifier to)))) (Body (Block (Statement (Assignment (Identifier res) (Dot (Identifier res) (Call (Identifier push) (Arguments (OperatorGroup (Identifier i) (Operator +) (Value (Number 0)))))))) (Statement (OperatorGroup (Identifier i) (Operator ++))))))) (Statement (Return (Identifier res))))))) (Statement (VariableCreatorWithValue (Identifier StopIteration) (Call (Identifier object) (Arguments)))) (Statement (Dot (Identifier ArrayType) (ParenthesisGroup (NamedFunction (Identifier push) (Parameters (VariableCreator (Identifier val))) (FunctionBody (Block (Statement (Return (OperatorGroup (Identifier this) (Operator ~) (Array (Identifier val))))))))))) (Statement (Dot (Identifier ArrayType) (ParenthesisGroup (NamedFunction (Identifier each) (Parameters (VariableCreator (Identifier fun))) (FunctionBody (Block (Statement (VariableCreatorWithValue (Identifier i) (Value (Number 0)))) (Statement (While (Condition (ParenthesisGroup (OperatorGroup (Identifier i) (Operator <) (Dot (Identifier this) (Call (Identifier length) (Arguments)))))) (Body (Block (Statement (VariableCreatorWithValue (Identifier res) (Call (Identifier fun) (Arguments (Index (Identifier this) (IndexArguments (Identifier i))) (Identifier i) (Identifier this))))) (Statement (If (Condition (ParenthesisGroup (OperatorGroup (Identifier res) (Operator (is)) (Identifier StopIteration)))) (Body (Block (Statement (Break)))))) (Statement (OperatorGroup (Identifier i) (Operator ++))))))))))))) (Statement (Dot (Identifier ArrayType) (ParenthesisGroup (NamedFunction (Identifier indexOf) (Parameters (VariableCreator (Identifier val))) (FunctionBody (Block (Statement (VariableCreatorWithValue (Identifier res) (OperatorGroup (Operator -) (Value (Number 1))))) (Statement (Dot (Identifier this) (Call (Identifier each) (Arguments (AnonymousFunction (Parameters (VariableCreator (Identifier x)) (VariableCreator (Identifier i))) (FunctionBody (Block (Statement (If (Condition (ParenthesisGroup (OperatorGroup (Identifier val) (Operator ==) (Identifier x)))) (Body (Block (Statement (Assignment (Identifier res) (Identifier i))) (Statement (Return (Identifier StopIteration)))))))))))))) (Statement (Return (Identifier res))))))))) (Statement (Dot (Identifier ArrayType) (ParenthesisGroup (NamedFunction (Identifier lastIndexOf) (Parameters (VariableCreator (Identifier val))) (FunctionBody (Block (Statement (Return (Dot (Identifier this) (Call (Identifier reverse) (Arguments)) (Call (Identifier indexOf) (Arguments (Identifier val)))))))))))) (Statement (Dot (Identifier ArrayType) (ParenthesisGroup (NamedFunction (Identifier contains) (Parameters (VariableCreator (Identifier val))) (FunctionBody (Block (Statement (Return (OperatorGroup (Dot (Identifier this) (Call (Identifier indexOf) (Arguments (Identifier val)))) (Operator >=) (Value (Number 0))))))))))) (Statement (Dot (Identifier ArrayType) (ParenthesisGroup (NamedFunction (Identifier insertAt) (Parameters (VariableCreator (Identifier val)) (VariableCreator (Identifier idx))) (FunctionBody (Block (Statement (VariableCreatorWithValue (Identifier left) (Dot (Identifier this) (Call (Identifier slice) (Arguments (Value (Number 0)) (Identifier idx)))))) (Statement (VariableCreatorWithValue (Identifier right) (Dot (Identifier this) (Call (Identifier slice) (Arguments (Identifier idx) (Dot (Identifier this) (Call (Identifier length) (Arguments)))))))) (Statement (Return (OperatorGroup (Identifier left) (Operator ~) (Array (Identifier val)) (Operator ~) (Identifier right)))))))))) (Statement (Dot (Identifier ArrayType) (ParenthesisGroup (NamedFunction (Identifier reverse) (Parameters) (FunctionBody (Block (Statement (VariableCreatorWithValue (Identifier res) (Array))) (Statement (Dot (Identifier this) (Call (Identifier each) (Arguments (AnonymousFunction (Parameters (VariableCreator (Identifier x))) (FunctionBody (Block (Statement (Assignment (Identifier res) (OperatorGroup (Array (Identifier x)) (Operator ~) (Identifier res))))))))))) (Statement (Return (Identifier res))))))))) (Statement (Dot (Identifier ArrayType) (ParenthesisGroup (NamedFunction (Identifier slice) (Parameters (VariableCreator (Identifier start)) (VariableCreator (Identifier end))) (FunctionBody (Block (Statement (VariableCreatorWithValue (Identifier res) (Array))) (Statement (VariableCreatorWithValue (Identifier i) (Identifier start))) (Statement (While (Condition (ParenthesisGroup (OperatorGroup (Identifier i) (Operator <) (Identifier end)))) (Body (Block (Statement (Assignment (Identifier res) (Dot (Identifier res) (Call (Identifier push) (Arguments (Index (Identifier this) (IndexArguments (Identifier i)))))))) (Statement (OperatorGroup (Identifier i) (Operator ++))))))) (Statement (Return (Identifier res))))))))) (Statement (Dot (Identifier ArrayType) (ParenthesisGroup (NamedFunction (Identifier sliceFrom) (Parameters (VariableCreator (Identifier start))) (FunctionBody (Block (Statement (Return (Dot (Identifier this) (Call (Identifier slice) (Arguments (Identifier start) (Dot (Identifier this) (Call (Identifier length) (Arguments)))))))))))))) (Statement (Dot (Identifier ArrayType) (ParenthesisGroup (NamedFunction (Identifier padTo) (Parameters (VariableCreator (Identifier length)) (VariableCreator (Identifier el))) (FunctionBody (Block (Statement (VariableCreatorWithValue (Identifier res) (Identifier this))) (Statement (VariableCreatorWithValue (Identifier i) (Value (Number 0)))) (Statement (VariableCreatorWithValue (Identifier diff) (OperatorGroup (Identifier length) (Operator -) (Dot (Identifier this) (Call (Identifier length) (Arguments)))))) (Statement (While (Condition (ParenthesisGroup (OperatorGroup (Identifier i) (Operator <) (Identifier diff)))) (Body (Block (Statement (Assignment (Identifier res) (Dot (Identifier res) (Call (Identifier push) (Arguments (Identifier el)))))) (Statement (OperatorGroup (Identifier i) (Operator ++))))))) (Statement (Return (Identifier res))))))))) (Statement (Dot (Identifier ArrayType) (ParenthesisGroup (NamedFunction (Identifier map) (Parameters (VariableCreator (Identifier fun))) (FunctionBody (Block (Statement (VariableCreatorWithValue (Identifier res) (Array))) (Statement (Dot (Identifier this) (Call (Identifier each) (Arguments (AnonymousFunction (Parameters (VariableCreator (Identifier x)) (VariableCreator (Identifier i)) (VariableCreator (Identifier xs))) (FunctionBody (Block (Statement (Assignment (Identifier res) (Dot (Identifier res) (Call (Identifier push) (Arguments (Call (Identifier fun) (Arguments (Identifier x) (Identifier i) (Identifier xs))))))))))))))) (Statement (Return (Identifier res))))))))) (Statement (Dot (Identifier ArrayType) (ParenthesisGroup (NamedFunction (Identifier foldl) (Parameters (VariableCreator (Identifier fun)) (VariableCreator (Identifier initial))) (FunctionBody (Block (Statement (VariableCreatorWithValue (Identifier res) (Identifier initial))) (Statement (Dot (Identifier this) (Call (Identifier each) (Arguments (AnonymousFunction (Parameters (VariableCreator (Identifier x)) (VariableCreator (Identifier i)) (VariableCreator (Identifier xs))) (FunctionBody (Block (Statement (VariableCreatorWithValue (Identifier oldRes) (Identifier res))) (Statement (Assignment (Identifier res) (Call (Identifier fun) (Arguments (Identifier res) (Identifier x) (Identifier i) (Identifier xs))))) (Statement (If (Condition (ParenthesisGroup (OperatorGroup (Identifier res) (Operator (is)) (Identifier StopIteration)))) (Body (Block (Statement (Assignment (Identifier res) (Identifier oldRes))) (Statement (Return (Identifier StopIteration)))))))))))))) (Statement (Return (Identifier res))))))))) (Statement (Dot (Identifier ArrayType) (ParenthesisGroup (NamedFunction (Identifier foldl1) (Parameters (VariableCreator (Identifier fun))) (FunctionBody (Block (Statement (Return (Dot (Identifier this) (Call (Identifier sliceFrom) (Arguments (Value (Number 1)))) (Call (Identifier foldl) (Arguments (Identifier fun) (Index (Identifier this) (IndexArguments (Value (Number 0))))))))))))))) (Statement (Dot (Identifier ArrayType) (ParenthesisGroup (NamedFunction (Identifier filter) (Parameters (VariableCreator (Identifier pred))) (FunctionBody (Block (Statement (Return (Dot (Identifier this) (Call (Identifier foldl) (Arguments (AnonymousFunction (Parameters (VariableCreator (Identifier res)) (VariableCreator (Identifier x)) (VariableCreator (Identifier i)) (VariableCreator (Identifier xs))) (FunctionBody (Block (Statement (If (Condition (ParenthesisGroup (Call (Identifier pred) (Arguments (Identifier x) (Identifier i) (Identifier xs))))) (Body (Block (Statement (Return (Dot (Identifier res) (Call (Identifier push) (Arguments (Identifier x)))))))) (Else (Block (Statement (Return (Identifier res)))))))))) (Array)))))))))))) (Statement (Dot (Identifier ArrayType) (ParenthesisGroup (NamedFunction (Identifier every) (Parameters (VariableCreator (Identifier pred))) (FunctionBody (Block (Statement (Return (Dot (Identifier this) (Call (Identifier foldl) (Arguments (AnonymousFunction (Parameters (VariableCreator (Identifier res)) (VariableCreator (Identifier x)) (VariableCreator (Identifier i)) (VariableCreator (Identifier xs))) (FunctionBody (Block (Statement (Return (OperatorGroup (Identifier res) (Operator &&) (Call (Identifier pred) (Arguments (Identifier x) (Identifier i) (Identifier xs))))))))) (Value (Boolean (true)))))))))))))) (Statement (Dot (Identifier ArrayType) (ParenthesisGroup (NamedFunction (Identifier some) (Parameters (VariableCreator (Identifier pred))) (FunctionBody (Block (Statement (Return (Dot (Identifier this) (Call (Identifier foldl) (Arguments (AnonymousFunction (Parameters (VariableCreator (Identifier res)) (VariableCreator (Identifier x)) (VariableCreator (Identifier i)) (VariableCreator (Identifier xs))) (FunctionBody (Block (Statement (Return (OperatorGroup (Identifier res) (Operator ||) (Call (Identifier pred) (Arguments (Identifier x) (Identifier i) (Identifier xs))))))))) (Value (Boolean (false)))))))))))))) (Statement (Dot (Identifier ArrayType) (ParenthesisGroup (NamedFunction (Identifier join) (Parameters (VariableCreator (Identifier separator))) (FunctionBody (Block (Statement (VariableCreatorWithValue (Identifier res) (Value (String "")))) (Statement (If (Condition (ParenthesisGroup (OperatorGroup (Dot (Identifier this) (Call (Identifier length) (Arguments))) (Operator >) (Value (Number 0))))) (Body (Block (Statement (OperatorGroup (Identifier res) (Operator ~=) (Index (Identifier this) (IndexArguments (Value (Number 0)))))) (Statement (VariableCreatorWithValue (Identifier rest) (Dot (Identifier this) (Call (Identifier sliceFrom) (Arguments (Value (Number 1))))))) (Statement (Dot (Identifier rest) (Call (Identifier each) (Arguments (AnonymousFunction (Parameters (Identifier elem)) (FunctionBody (Block (Statement (OperatorGroup (Identifier res) (Operator ~=) (Identifier separator) (Operator ~) (Identifier elem)))))))))))))) (Statement (Return (Identifier res))))))))) (Statement (Dot (Identifier ArrayType) (ParenthesisGroup (NamedFunction (Identifier unique) (Parameters) (FunctionBody (Block (Statement (VariableCreatorWithValue (Identifier res) (Array))) (Statement (Dot (Identifier this) (Call (Identifier each) (Arguments (AnonymousFunction (Parameters (VariableCreator (Identifier x))) (FunctionBody (Block (Statement (If (Condition (ParenthesisGroup (OperatorGroup (Operator !) (Dot (Identifier res) (Call (Identifier contains) (Arguments (Identifier x))))))) (Body (Block (Statement (Assignment (Identifier res) (Dot (Identifier res) (Call (Identifier push) (Arguments (Identifier x))))))))))))))))) (Statement (Return (Identifier res))))))))) (Statement (Dot (Identifier ArrayType) (ParenthesisGroup (NamedFunction (Identifier $this~~b) (Parameters (Identifier b)) (FunctionBody (Block (Statement (If (Condition (ParenthesisGroup (OperatorGroup (Dot (Identifier this) (Identifier type)) (Operator (is)) (Dot (Identifier b) (Identifier type))))) (Body (Block (Statement (Return (OperatorGroup (Identifier this) (Operator ~) (Identifier b)))))) (Else (Block (Statement (Return (OperatorGroup (Identifier this) (Operator ~) (Dot (Identifier b) (Call (Identifier chars) (Arguments)))))))))))))))) (Statement (Dot (Identifier StringType) (ParenthesisGroup (NamedFunction (Identifier chars) (Parameters) (FunctionBody (Block (Statement (VariableCreatorWithValue (Identifier res) (Array))) (Statement (VariableCreatorWithValue (Identifier i) (Value (Number 0)))) (Statement (While (Condition (ParenthesisGroup (OperatorGroup (Identifier i) (Operator <) (Dot (Identifier this) (Call (Identifier length) (Arguments)))))) (Body (Block (Statement (Assignment (Identifier res) (Dot (Identifier res) (Call (Identifier push) (Arguments (Index (Identifier this) (IndexArguments (Identifier i)))))))) (Statement (OperatorGroup (Identifier i) (Operator ++))))))) (Statement (Return (Identifier res))))))))) (Statement (Dot (Identifier BooleanType) (ParenthesisGroup (NamedFunction (Identifier $this∧b) (Parameters (Identifier b)) (FunctionBody (Block (Statement (Return (OperatorGroup (Identifier this) (Operator &&) (Identifier b)))))))))) (Statement (Dot (Identifier BooleanType) (ParenthesisGroup (NamedFunction (Identifier $this∨b) (Parameters (Identifier b)) (FunctionBody (Block (Statement (Return (OperatorGroup (Identifier this) (Operator ||) (Identifier b)))))))))) (Statement (Dot (Identifier FunctionType) (ParenthesisGroup (NamedFunction (Identifier $this∘b) (Parameters (Identifier other)) (FunctionBody (Block (Statement (Return (AnonymousFunction (Parameters (Identifier x)) (FunctionBody (Block (Statement (Return (Call (Identifier this) (Arguments (Call (Identifier other) (Arguments (Identifier x)))))))))))))))))) (Statement (Dot (Identifier ArrayType) (ParenthesisGroup (NamedFunction (Identifier $this⊆b) (Parameters (Identifier ys)) (FunctionBody (Block (Statement (Return (Dot (Identifier this) (Call (Identifier every) (Arguments (AnonymousFunction (Parameters (Identifier x)) (FunctionBody (Block (Statement (Return (Dot (Identifier ys) (Call (Identifier contains) (Arguments (Identifier x))))))))))))))))) (NamedFunction (Identifier $this⊇b) (Parameters (Identifier ys)) (FunctionBody (Block (Statement (Return (OperatorGroup (Identifier ys) (Operator ⊆) (Identifier this))))))) (NamedFunction (Identifier $this⊂b) (Parameters (Identifier ys)) (FunctionBody (Block (Statement (Return (OperatorGroup (ParenthesisGroup (OperatorGroup (Identifier this) (Operator ⊆) (Identifier ys))) (Operator &&) (Dot (Identifier this) (Call (Identifier length) (Arguments))) (Operator <) (Dot (Identifier ys) (Call (Identifier length) (Arguments))))))))) (NamedFunction (Identifier $this⊃b) (Parameters (Identifier ys)) (FunctionBody (Block (Statement (Return (OperatorGroup (ParenthesisGroup (OperatorGroup (Identifier this) (Operator ⊇) (Identifier ys))) (Operator &&) (Dot (Identifier this) (Call (Identifier length) (Arguments))) (Operator >) (Dot (Identifier ys) (Call (Identifier length) (Arguments))))))))) (NamedFunction (Identifier $this∩b) (Parameters (Identifier ys)) (FunctionBody (Block (Statement (Return (Dot (Identifier this) (Call (Identifier filter) (Arguments (AnonymousFunction (Parameters (Identifier x)) (FunctionBody (Block (Statement (Return (Dot (Identifier ys) (Call (Identifier contains) (Arguments (Identifier x))))))))))) (Call (Identifier unique) (Arguments)))))))) (NamedFunction (Identifier $this∪b) (Parameters (Identifier ys)) (FunctionBody (Block (Statement (Return (Dot (ParenthesisGroup (OperatorGroup (Identifier this) (Operator ~) (Identifier ys))) (Call (Identifier unique) (Arguments)))))))) (VariableCreatorWithValue (Identifier $this∋b) (Dot (Identifier ArrayType) (Identifier contains))) (VariableCreatorWithValue (Identifier $this∌b) (AnonymousFunction (Parameters (Identifier y)) (FunctionBody (Block (Statement (Return (OperatorGroup (Operator !) (ParenthesisGroup (OperatorGroup (Identifier this) (Operator ∋) (Identifier y))))))))))))) (Statement (Dot (Identifier TopType) (ParenthesisGroup (NamedFunction (Identifier $this∈b) (Parameters (Identifier bs)) (FunctionBody (Block (Statement (Return (Dot (Identifier bs) (Call (Identifier contains) (Arguments (Identifier this))))))))) (NamedFunction (Identifier $this∉b) (Parameters (Identifier bs)) (FunctionBody (Block (Statement (Return (OperatorGroup (Operator !) (Dot (Identifier bs) (Call (Identifier contains) (Arguments (Identifier this))))))))))))) (Statement (Dot (Identifier IntegerType) (ParenthesisGroup (NamedFunction (Identifier $this≤b) (Parameters (Identifier b)) (FunctionBody (Block (Statement (Return (OperatorGroup (Identifier this) (Operator <=) (Identifier b))))))) (NamedFunction (Identifier $this≥b) (Parameters (Identifier b)) (FunctionBody (Block (Statement (Return (OperatorGroup (Identifier this) (Operator >=) (Identifier b)))))))))))

stuff/z/runner.sh

 
 # config vars
 basedir="/tmp/eldis4/z-eval/"
-library="stuff/z/libff.zs"
+library="stuff/z/libff.min.ppz"
 whitelist="import unpack cast random math stdout inspect"
 
 
 dir="$basedir/$suffix"
 input="$dir/input"
 
+library_abs="${PWD}/$library"
+
 #classpath="$(dirname $1)"
 #actualname="$1__"
 #shortname="$(basename $actualname)"
 mkdir -p "$dir"
 
 # Prepare the file to run
-cp "$library" "$dir/library.zs"
+ln -s "$library_abs" "$dir/library.ppz"
 #cat  "$library"    >"$input"
-echo "use(\"import\"); use(\"unpack\"); unpack(import(\"library.zs\")); ();" >"$input"
+echo "use(\"import\"); use(\"unpack\"); unpack(import(\"library.ppz\"));" >"$input"
 cat  "$irc_input"                                  >>"$input"
 
 # Run it!
-java -jar stuff/z/Z3.jar -t 8000 -w '[' $whitelist ']' -cp "$dir" input
+java -jar stuff/z/Z3.jar -n -t 8000 -w '[' $whitelist ']' -cp "$dir" input
 #PID=$(echo $?)
 #echo $PID
 #(sleep 1; kill -9 $PID) &
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.