Abuse filter log

Abuse Filter navigation (Home | Recent filter changes | Examine past edits | Abuse log)
Jump to navigation Jump to search
Details for log entry 8,799

14:55, 25 November 2024: Win7HE (talk | contribs) triggered filter 16, performing the action "edit" on Deadfish x. Actions taken: Disallow; Filter description: the "User:" must not be hidden on links to userspace (examine)

Changes made in edit

'''Deadfish x''' is a superset of Jonathan Todd Skinner's [[Deadfish]]. There are twice as many commands and uses the XKCD variant.
'''Deadfish x''' is a superset of Jonathan Todd Skinner's [[Deadfish]]. There are twice as many commands and uses the XKCD variant.


I ([[firefly431|User:firefly431]]) will be writing a Python interpreter, but you guys can write whatever you want.
I ([[User:firefly431|firefly431]]) will be writing a Python interpreter, but you guys can write whatever you want.


== Commands ==
== Commands ==

Action parameters

VariableValue
Edit count of the user (user_editcount)
33
Name of the user account (user_name)
'Win7HE'
Age of the user account (user_age)
617562
Page ID (page_id)
8479
Page namespace (page_namespace)
0
Page title (without namespace) (page_title)
'Deadfish x'
Full page title (page_prefixedtitle)
'Deadfish x'
Action (action)
'edit'
Edit summary/reason (summary)
''
Old content model (old_content_model)
'wikitext'
New content model (new_content_model)
'wikitext'
Old page wikitext, before the edit (old_wikitext)
''''Deadfish x''' is a superset of Jonathan Todd Skinner's [[Deadfish]]. There are twice as many commands and uses the XKCD variant. I ([[firefly431|User:firefly431]]) will be writing a Python interpreter, but you guys can write whatever you want. == Commands == {| class="wikitable" |- | x || Add 1 to x. |- | k || Output x to the console. |- | c || Square x. |- | d || Subtract 1 from x. |- | X || Start a function. The next character is the function name. |- | K || Output x as an ASCII character. |- | C || End the function or execute a function. |- | D || Set x to 0. |} == Rules == X (the variable) can only go from 0 to 255. If it goes above or below, it will be set to 0. You can type as many commands as you want on a line, but the prompt will only be shown when you push enter. == Sample Programs == To run these, save them and run them, or just copy and paste. <pre><nowiki> xxcxxxxcxxxxxxxxKDxxcxxxxxxcxKxxxxxxxKKxxxKDxxxxxxxcdddddKDxxxxxxcddddKDxxxcxxcddKddddddddKxxxKddddddKddddddddKDxxxxxxcdddK </nowiki></pre> Prints out "Hello, world!" <pre><nowiki> XUxKCxxcxxxxcCUCUCUCUCUCUCUCUCUCUCUCUCUCUCUCUCUCUCUCUCUCUCUCUCUCU </nowiki></pre> Prints out the entire alphabet. == Interpreter == === Python === My interpreter. Put something here if you find a bug. <pre><nowiki> # Deadfish x Programming Language # By firefly431 # This is free and unencumbered software released into the public domain. # Visit <http://unlicense.org/> for the full thing. x = 0; funcname = ""; curfunc = ""; lastc = ''; functions = {}; q_="i;iyratnrt gatmivpo"; _q=[0, 14, 17, 18, 4, 6, 10, 5, 7, 9, 2, 11, 8, 12, 16, 15, 13, 3, 1]; tar = []; for i in _q: tar.append(q_[i]); tar="".join(tar); import webbrowser; def openxkcd(num): webbrowser.open("http://xkcd.com/"+str(num)+"/"); def process(c): #Finite State Machine global x; global funcname; global curfunc; global lastc; global functions; if x<0 or x>255: x=0; if (lastc == 'X'): #we are starting a function funcname = c; print("Function start: "+c); lastc = ''; #so if the name is C or X we don't process it return; if (lastc == 'C'): #we are executing a function print("Execute function: "+c); lastc = ''; #same thing if (c in functions): for q in functions[c]: #c is taken process(q); else: print("Function '"+c+"' does not exist."); return; if funcname != "" and c != 'C': #We are in a function print("In function"); curfunc += c; lastc = c; return; #check commands, function commands pass. if c == "x": x+=1; elif c == "k": print(str(x)); elif c == "c": x*=x; elif c == "d": x-=1; elif c == "X": pass; elif c == "K": print(chr(x),end=""); elif c == "C": if funcname != "": print("End Function"); lastc = ''; #so we don't execute a function functions[funcname] = curfunc; funcname = ""; curfunc = ""; return; elif c == "D": x=0; lastc = c; def getInput(str = ""): global x; global tar; if str=="": inp = input(">> "); #change this to raw_input() if using python 2.x else: inp = str; if inp == tar: openxkcd(1061%354); for c in inp: process(c); import sys; fname = ""; lines = []; if len(sys.argv)>1: fname = sys.argv[1]; if fname != "": try: fp = open(fname,"r"); lines = fp.readlines(); fp.close(); except: print("Could not open file '"+fname+"'."); if len(lines)>0: for line in lines: getInput(line); else: try: while True: getInput(); except KeyboardInterrupt: print("Bye!"); </nowiki></pre> === Lua === <pre><nowiki> -- Deadfish x in pure Lua -- By Atenfyr local functions = {} function deadfishx(str, tx) local ignore = {} local tx = tx or 0 for i = 1, #str do if tx < 0 or tx > 255 then tx = 0 end if not ignore[i] then local instr = str:sub(i, i) if instr == "x" then tx = tx + 1 elseif instr == "k" then io.write(tx) elseif instr == "c" then tx = tx ^ 2 elseif instr == "d" then tx = tx - 1 elseif instr == "X" then local _, nextC = str:sub(i+2):find("C") nextC = nextC+i+1 for n = i+1, nextC do ignore[n] = true end functions[str:sub(i+1, i+1)] = str:sub(i+2, nextC) elseif instr == "K" then io.write(string.char(tx)) elseif instr == "C" then ignore[i+1] = true tx = deadfishx(functions[str:sub(i+1, i+1)]:sub(1, -2), tx) elseif instr == "D" then tx = 0 end end end return tx end -- If it's being loaded as a library (for some reason), then they now have the deadfishx function and the file can be closed if pcall(debug.getlocal, 4, 1) then return end local q_ = "i;iyratnrt gatmivpo" local _q = {1, 15, 18, 19, 5, 7, 11, 6, 8, 10, 3, 12, 9, 13, 17, 16, 14, 4, 2} local tar = {} for _, i in pairs(_q) do tar[#tar+1] = q_:sub(i, i) end tar = table.concat(tar, "") local function openXKCD(n) if package.config:sub(1,1) == "\\" then os.execute('start "" "http:///xkcd.com/' .. n .. '/" >nul 2>&1') else -- I don't want to install Linux so if this breaks Linux users please let me know os.execute("xdg-open http://xkcd.com/" .. n .. "/ &> /dev/null") end end local x = 0 local tArgs = {...} if tArgs[1] then local open = io.open(tArgs[1], "r") if not open then print("File does not exist!") os.exit() end local content = open:read("*a"):gsub("\r\n", ""):gsub("\n", "") open:close() deadfishx(content, x) os.exit() end while true do io.write(">> ") local cmd = io.read() if cmd == tar then openXKCD(1061%354) else x = deadfishx(cmd, x) end io.write("\n") end </nowiki></pre> [[Category:Joke languages]] [[Category:Output only]] [[Category:Implemented]] [[Category:Languages]]'
New page wikitext, after the edit (new_wikitext)
''''Deadfish x''' is a superset of Jonathan Todd Skinner's [[Deadfish]]. There are twice as many commands and uses the XKCD variant. I ([[User:firefly431|firefly431]]) will be writing a Python interpreter, but you guys can write whatever you want. == Commands == {| class="wikitable" |- | x || Add 1 to x. |- | k || Output x to the console. |- | c || Square x. |- | d || Subtract 1 from x. |- | X || Start a function. The next character is the function name. |- | K || Output x as an ASCII character. |- | C || End the function or execute a function. |- | D || Set x to 0. |} == Rules == X (the variable) can only go from 0 to 255. If it goes above or below, it will be set to 0. You can type as many commands as you want on a line, but the prompt will only be shown when you push enter. == Sample Programs == To run these, save them and run them, or just copy and paste. <pre><nowiki> xxcxxxxcxxxxxxxxKDxxcxxxxxxcxKxxxxxxxKKxxxKDxxxxxxxcdddddKDxxxxxxcddddKDxxxcxxcddKddddddddKxxxKddddddKddddddddKDxxxxxxcdddK </nowiki></pre> Prints out "Hello, world!" <pre><nowiki> XUxKCxxcxxxxcCUCUCUCUCUCUCUCUCUCUCUCUCUCUCUCUCUCUCUCUCUCUCUCUCUCU </nowiki></pre> Prints out the entire alphabet. == Interpreter == === Python === My interpreter. Put something here if you find a bug. <pre><nowiki> # Deadfish x Programming Language # By firefly431 # This is free and unencumbered software released into the public domain. # Visit <http://unlicense.org/> for the full thing. x = 0; funcname = ""; curfunc = ""; lastc = ''; functions = {}; q_="i;iyratnrt gatmivpo"; _q=[0, 14, 17, 18, 4, 6, 10, 5, 7, 9, 2, 11, 8, 12, 16, 15, 13, 3, 1]; tar = []; for i in _q: tar.append(q_[i]); tar="".join(tar); import webbrowser; def openxkcd(num): webbrowser.open("http://xkcd.com/"+str(num)+"/"); def process(c): #Finite State Machine global x; global funcname; global curfunc; global lastc; global functions; if x<0 or x>255: x=0; if (lastc == 'X'): #we are starting a function funcname = c; print("Function start: "+c); lastc = ''; #so if the name is C or X we don't process it return; if (lastc == 'C'): #we are executing a function print("Execute function: "+c); lastc = ''; #same thing if (c in functions): for q in functions[c]: #c is taken process(q); else: print("Function '"+c+"' does not exist."); return; if funcname != "" and c != 'C': #We are in a function print("In function"); curfunc += c; lastc = c; return; #check commands, function commands pass. if c == "x": x+=1; elif c == "k": print(str(x)); elif c == "c": x*=x; elif c == "d": x-=1; elif c == "X": pass; elif c == "K": print(chr(x),end=""); elif c == "C": if funcname != "": print("End Function"); lastc = ''; #so we don't execute a function functions[funcname] = curfunc; funcname = ""; curfunc = ""; return; elif c == "D": x=0; lastc = c; def getInput(str = ""): global x; global tar; if str=="": inp = input(">> "); #change this to raw_input() if using python 2.x else: inp = str; if inp == tar: openxkcd(1061%354); for c in inp: process(c); import sys; fname = ""; lines = []; if len(sys.argv)>1: fname = sys.argv[1]; if fname != "": try: fp = open(fname,"r"); lines = fp.readlines(); fp.close(); except: print("Could not open file '"+fname+"'."); if len(lines)>0: for line in lines: getInput(line); else: try: while True: getInput(); except KeyboardInterrupt: print("Bye!"); </nowiki></pre> === Lua === <pre><nowiki> -- Deadfish x in pure Lua -- By Atenfyr local functions = {} function deadfishx(str, tx) local ignore = {} local tx = tx or 0 for i = 1, #str do if tx < 0 or tx > 255 then tx = 0 end if not ignore[i] then local instr = str:sub(i, i) if instr == "x" then tx = tx + 1 elseif instr == "k" then io.write(tx) elseif instr == "c" then tx = tx ^ 2 elseif instr == "d" then tx = tx - 1 elseif instr == "X" then local _, nextC = str:sub(i+2):find("C") nextC = nextC+i+1 for n = i+1, nextC do ignore[n] = true end functions[str:sub(i+1, i+1)] = str:sub(i+2, nextC) elseif instr == "K" then io.write(string.char(tx)) elseif instr == "C" then ignore[i+1] = true tx = deadfishx(functions[str:sub(i+1, i+1)]:sub(1, -2), tx) elseif instr == "D" then tx = 0 end end end return tx end -- If it's being loaded as a library (for some reason), then they now have the deadfishx function and the file can be closed if pcall(debug.getlocal, 4, 1) then return end local q_ = "i;iyratnrt gatmivpo" local _q = {1, 15, 18, 19, 5, 7, 11, 6, 8, 10, 3, 12, 9, 13, 17, 16, 14, 4, 2} local tar = {} for _, i in pairs(_q) do tar[#tar+1] = q_:sub(i, i) end tar = table.concat(tar, "") local function openXKCD(n) if package.config:sub(1,1) == "\\" then os.execute('start "" "http:///xkcd.com/' .. n .. '/" >nul 2>&1') else -- I don't want to install Linux so if this breaks Linux users please let me know os.execute("xdg-open http://xkcd.com/" .. n .. "/ &> /dev/null") end end local x = 0 local tArgs = {...} if tArgs[1] then local open = io.open(tArgs[1], "r") if not open then print("File does not exist!") os.exit() end local content = open:read("*a"):gsub("\r\n", ""):gsub("\n", "") open:close() deadfishx(content, x) os.exit() end while true do io.write(">> ") local cmd = io.read() if cmd == tar then openXKCD(1061%354) else x = deadfishx(cmd, x) end io.write("\n") end </nowiki></pre> [[Category:Joke languages]] [[Category:Output only]] [[Category:Implemented]] [[Category:Languages]]'
Unified diff of changes made by edit (edit_diff)
'@@ -1,5 +1,5 @@ '''Deadfish x''' is a superset of Jonathan Todd Skinner's [[Deadfish]]. There are twice as many commands and uses the XKCD variant. -I ([[firefly431|User:firefly431]]) will be writing a Python interpreter, but you guys can write whatever you want. +I ([[User:firefly431|firefly431]]) will be writing a Python interpreter, but you guys can write whatever you want. == Commands == '
New page size (new_size)
5993
Old page size (old_size)
5993
Lines added in edit (added_lines)
[ 0 => 'I ([[User:firefly431|firefly431]]) will be writing a Python interpreter, but you guys can write whatever you want.' ]
Unix timestamp of change (timestamp)
'1732546509'