From 50057d5149dda340b3b47aca4096f4a6ec66b9ee Mon Sep 17 00:00:00 2001
From: Přemysl Eric Janouch <p@janouch.name>
Date: Fri, 6 Aug 2021 16:12:15 +0200
Subject: Come up with sillier names for the binaries

I'm not entirely sure, but it looks like some people might not like
jokes about the Holocaust.

On a more serious note, the project has become more serious over
the 7 or so years of its existence.
---
 plugins/zyklonb/eval | 312 ---------------------------------------------------
 1 file changed, 312 deletions(-)
 delete mode 100755 plugins/zyklonb/eval

(limited to 'plugins/zyklonb/eval')

diff --git a/plugins/zyklonb/eval b/plugins/zyklonb/eval
deleted file mode 100755
index ccc7f0a..0000000
--- a/plugins/zyklonb/eval
+++ /dev/null
@@ -1,312 +0,0 @@
-#!/usr/bin/awk -f
-#
-# ZyklonB eval plugin, LISP-like expression evaluator
-#
-# Copyright 2013, 2014 Přemysl Eric Janouch
-# See the file LICENSE for licensing information.
-#
-
-BEGIN \
-{
-	RS = "\r"
-	ORS = "\r\n"
-	IGNORECASE = 1
-	srand()
-
-	prefix = get_config("prefix")
-
-	print "ZYKLONB register"
-	fflush("")
-
-	# All functions have to be in this particular array
-	min_args["int"]    = 1
-	min_args["+"]      = 1
-	min_args["-"]      = 1
-	min_args["*"]      = 1
-	min_args["/"]      = 1
-	min_args["%"]      = 1
-	min_args["^"]      = 1
-	min_args["**"]     = 1
-	min_args["exp"]    = 1
-	min_args["sin"]    = 1
-	min_args["cos"]    = 1
-	min_args["atan2"]  = 2
-	min_args["log"]    = 1
-	min_args["rand"]   = 0
-	min_args["sqrt"]   = 1
-
-	min_args["pi"]     = 0
-	min_args["e"]      = 0
-
-	min_args["min"]    = 1
-	min_args["max"]    = 1
-
-	# Whereas here their presence is only optional
-	max_args["int"]    = 1
-	max_args["sin"]    = 1
-	max_args["cos"]    = 1
-	max_args["atan2"]  = 2
-	max_args["log"]    = 1
-	max_args["rand"]   = 0
-	max_args["sqrt"]   = 1
-
-	max_args["pi"]     = 0
-	max_args["e"]      = 0
-}
-
-{
-	parse($0)
-}
-
-msg_command == "PRIVMSG" \
-{
-	# Context = either channel or user nickname
-	match(msg_prefix, /^[^!]+/)
-	ctx = substr(msg_prefix, RSTART, RLENGTH)
-	if (msg_param[0] ~ /^[#&!+]/)
-	{
-		ctx_quote = ctx ": "
-		ctx = msg_param[0]
-	}
-	else
-		ctx_quote = ""
-
-
-	if (substr(msg_param[1], 1, length(prefix)) == prefix)
-	{
-		keyword = "eval"
-		text = substr(msg_param[1], 1 + length(prefix))
-	 	if (match(text, "^" keyword "([^A-Za-z0-9].*|$)"))
-			process_request(substr(text, 1 + length(keyword)))
-	}
-}
-
-{
-	fflush("")
-}
-
-function pmrespond (text)
-{
-	print "PRIVMSG " ctx " :" ctx_quote text
-}
-
-function process_request (input,    res, x)
-{
-	delete funs
-	delete accumulator
-	delete n_args
-
-	res = ""
-	fun_top = 0
-	funs[0] = ""
-	accumulator[0] = 0
-	n_args[0] = 0
-
-	if (match(input, "^[ \t]*"))
-		input = substr(input, RLENGTH + 1)
-	if (input == "")
-		res = "expression missing"
-
-	while (res == "" && input != "") {
-		if (match(input, "^-?[0-9]+\\.?[0-9]*")) {
-			x = substr(input, RSTART, RLENGTH)
-			input = substr(input, RLENGTH + 1)
-
-			match(input, "^ *")
-			input = substr(input, RLENGTH + 1)
-
-			res = process_argument(x)
-		} else if (match(input, "^[(]([^ ()]+)")) {
-			x = substr(input, RSTART + 1, RLENGTH - 1)
-			input = substr(input, RLENGTH + 1)
-
-			match(input, "^ *")
-			input = substr(input, RLENGTH + 1)
-
-			if (!(x in min_args)) {
-				res = "undefined function '" x "'"
-			} else {
-				fun_top++
-				funs[fun_top] = x
-				accumulator[fun_top] = 636363
-				n_args[fun_top] = 0
-			}
-		} else if (match(input, "^[)] *")) {
-			input = substr(input, RLENGTH + 1)
-			res = process_end()
-		} else
-			res = "invalid input at '" substr(input, 1, 10) "...'"
-	}
-
-	if (res == "") {
-		if (fun_top != 0)
-			res = "unclosed '" funs[fun_top] "'"
-		else if (n_args[0] != 1)
-			res = "internal error, expected one result" \
-				", got " n_args[0] " instead"
-	}
-
-	if (res == "")
-		pmrespond(accumulator[0])
-	else
-		pmrespond(res)
-}
-
-function process_argument (arg)
-{
-	if (fun_top == 0) {
-		if (n_args[0]++ != 0)
-			return "too many results, I only expect one"
-
-		accumulator[0] = arg
-		return ""
-	}
-
-	fun = funs[fun_top]
-	if (fun in max_args && max_args[fun] <= n_args[fun_top])
-		return "too many operands for " fun
-
-	if (fun == "int") {
-		accumulator[fun_top] = int(arg)
-	} else if (fun == "+") {
-		if (n_args[fun_top] == 0)
-			accumulator[fun_top] = arg
-		else
-			accumulator[fun_top] += arg
-	} else if (fun == "-") {
-		if (n_args[fun_top] == 0)
-			accumulator[fun_top] = arg
-		else
-			accumulator[fun_top] -= arg
-	} else if (fun == "*") {
-		if (n_args[fun_top] == 0)
-			accumulator[fun_top] = arg
-		else
-			accumulator[fun_top] *= arg
-	} else if (fun == "/") {
-		if (n_args[fun_top] == 0)
-			accumulator[fun_top] = arg
-		else if (arg == 0)
-			return "division by zero"
-		else
-			accumulator[fun_top] /= arg
-	} else if (fun == "%") {
-		if (n_args[fun_top] == 0)
-			accumulator[fun_top] = arg
-		else if (arg == 0)
-			return "division by zero"
-		else
-			accumulator[fun_top] %= arg
-	} else if (fun == "^" || fun == "**" || fun == "exp") {
-		if (n_args[fun_top] == 0)
-			accumulator[fun_top] = arg
-		else
-			accumulator[fun_top] ^= arg
-	} else if (fun == "sin") {
-		accumulator[fun_top] = sin(arg)
-	} else if (fun == "cos") {
-		accumulator[fun_top] = cos(arg)
-	} else if (fun == "atan2") {
-		if (n_args[fun_top] == 0)
-			accumulator[fun_top] = arg
-		else
-			accumulator[fun_top] = atan2(accumulator[fun_top], arg)
-	} else if (fun == "log") {
-		accumulator[fun_top] = log(arg)
-	} else if (fun == "rand") {
-		# Just for completeness, execution never gets here
-	} else if (fun == "sqrt") {
-		accumulator[fun_top] = sqrt(arg)
-	} else if (fun == "min") {
-		if (n_args[fun_top] == 0)
-			accumulator[fun_top] = arg
-		else if (accumulator[fun_top] > arg)
-			accumulator[fun_top] = arg
-	} else if (fun == "max") {
-		if (n_args[fun_top] == 0)
-			accumulator[fun_top] = arg
-		else if (accumulator[fun_top] < arg)
-			accumulator[fun_top] = arg
-	} else
-		return "internal error, unhandled operands for " fun
-
-	n_args[fun_top]++
-	return ""
-}
-
-function process_end ()
-{
-	if (fun_top <= 0)
-		return "extraneous ')'"
-
-	fun = funs[fun_top]
-	if (!(fun in min_args))
-		return "internal error, unhandled ')' for '" fun "'"
-	if (min_args[fun] > n_args[fun_top])
-		return "not enough operands for '" fun "'"
-
-	# There's no 'init' function to do it in
-	if (fun == "rand")
-		accumulator[fun_top] = rand()
-	else if (fun == "pi")
-		accumulator[fun_top] = 3.141592653589793
-	else if (fun == "e")
-		accumulator[fun_top] = 2.718281828459045
-
-	return process_argument(accumulator[fun_top--])
-}
-
-function get_config (key)
-{
-	print "ZYKLONB get_config :" key
-	fflush("")
-
-	getline
-	parse($0)
-	return msg_param[0]
-}
-
-function parse (line,     s, n, id, token)
-{
-	s = 1
-	id = 0
-
-	# NAWK only uses the first character of RS
-	if (line ~ /^\n/)
-		line = substr(line, 2)
-
-	msg_prefix = ""
-	msg_command = ""
-	delete msg_param
-
-	n = match(substr(line, s), / |$/)
-	while (n)
-	{
-		token = substr(line, s, n - 1)
-		if (token ~ /^:/)
-		{
-			if (s == 1)
-				msg_prefix = substr(token, 2)
-			else
-			{
-				msg_param[id] = substr(line, s + 1)
-				break
-			}
-		}
-		else if (!msg_command)
-			msg_command = toupper(token)
-		else
-			msg_param[id++] = token
-
-		s = s + n
-		n = index(substr(line, s), " ")
-
-		if (!n)
-		{
-		       n = length(substr(line, s)) + 1
-		       if (n == 1)
-			       break;
-		}
-	}
-}
-
-- 
cgit v1.2.3-70-g09d2