Examine individual changes

Abuse Filter navigation (Home | Recent filter changes | Examine past edits | Abuse log)
Jump to navigation Jump to search

This page allows you to examine the variables generated by the Abuse Filter for an individual change, and test it against filters.

Variables generated for this change

VariableValue
Edit count of the user (user_editcount)
0
Name of the user account (user_name)
Qh4
Age of the user account (user_age)
405
Page ID (page_id)
11153
Page namespace (page_namespace)
0
Page title (without namespace) (page_title)
+-
Full page title (page_prefixedtitle)
+-
Action (action)
edit
Edit summary/reason (summary)
Added super useful and sexy C interpreter
Old content model (old_content_model)
wikitext
New content model (new_content_model)
wikitext
Old page wikitext, before the edit (no more in use) (old_wikitext)
'''+-''', or '''ID''', is a [[Joke language list|joke language]] created by [[User:Anonymous]] in 2017. == Commands == +- consists of a single accumulator, along with 2 single-character commands to change it. Using other characters besides these will result in the string <code>Error!</code> being alerted to console or an alert box. Note that this does not stop the program from continuing its execution. {| class="wikitable" |- ! Command !! Action |- | <code>+</code> || Increments the accumulator. |- | <code>-</code> || Decrements the accumulator. |} == Examples == Sets the accumulator to 1: + to 5: +++++ to 64: ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ == Interpreters == === Java === public static String id(String p){ int a = 0; for(int i = 0; i < p.length(); ++i){ switch(p.charAt(i)){ case '+': ++a; break; case '-': --a; break; default: System.err.println("Error!"); } } return <nowiki>'</nowiki>'; } } === JavaScript === function id(p){ var a = 0; for(var c of p){ switch(c){ case '+': a++; break; case '-': a--; break; default: alert('Error!'); } } return <nowiki>'</nowiki>'; } === Python 3 === def id(): acc = 0 while True: prg = input('\n+-> ') for cmd in prg: if cmd == '+': acc += 1 elif cmd == '-': acc -= 1 else: print('Error!'); break = +-= = '''+-=''', or '''IDPL''', is the same as +-, except the <code>=</code> operator is added for output. == Commands == {| class="wikitable" |- ! Command !! Action |- | <code>+</code> || Increments the accumulator. |- | <code>-</code> || Decrements the accumulator. |- | <code>=</code> || Prints the accumulator along with a newline. |} == Examples == Prints 42: ++++++++++++++++++++++++++++++++++++++++++= Counts to 10 (separated by newlines): +=+=+=+=+=+=+=+=+=+= Prints the ASCII values for [[Hello World]] (word wrapped): ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++=+++++++ ++++++++++++++++++++++=+++++++==+++=-------------------------------------------- -----------------------=------------=+++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++++++++++=--------=+++=------=--------=------ -------------------------------------------------------------=------------------ -----= == Interpreters == === Java === public static String idpl(String p){ int a = 0; for(int i = 0; i < p.length(); ++i){ switch(p.charAt(i)){ case '+': ++a; break; case '-': --a; break; case '=': System.out.println(a); break; default: System.err.println("Error!"); } } } === JavaScript === function idpl(p){ var a = 0, o = ''; for(var c of p){ switch(c){ case '+': a++; break; case '-': a--; break; case '=': o += '\n' + a; break; default: alert('Error!'); } } return o.substring(1); } === Python 3 === def idpl(): acc = 0 while True: prg = input('\n+-=> ') for cmd in prg: if cmd == '+': acc += 1 elif cmd == '-': acc -= 1 elif cmd == '=': print(acc) else: print('Error!'); break == Usability == +-= may be usable for very specific [https://codegolf.stackexchange.com/questions/tagged/kolmogorov-complexity Kolmogorov-complexity challenges], if the task is to print numbers on each line. = +-=*/!&# = '''+-=*/!&#''' is a language that expands +- more with 6 more commands, adding the feature to print as an ASCII character among others. == Commands == {| class=wikitable ! Command !! Function |- | <code>+</code> || Increments the accumulator. |- | <code>-</code> || Decrements the accumulator. |- | <code>=</code> || Prints the accumulator's value. |- | <code>*</code> || Prints the accumulator as an ASCII character. |- | <code>/</code> || Sets the accumulator to 0. |- | <code>!</code> || Increments the accumulator by 10. |- | <code>&</code> || Decrements the accumulator by 10. |- | <code>#</code> || Prints a newline. |} Note that <code>=</code> no longer adds a newline, and unknown commands are treated as NOPs instead of causing an error. == Examples == === [[FizzBuzz]] === !!!!!-*#+*#!!*!!!+++++*!!---**#&&&&&&&*#!++++*!!!!!+*+++++**#&&&&&--*!!!+++++*!! ---**#&&&&&&&+++*#+*#!++++*!!!+++++*!!---**#&&&&&&++++*!!!!!+*+++++**#/!!!!!-**# !!+*!!!+++++*!!---**#/!!!!!-*++*#--*+++*#!!--*!!!+++++*!!---**&&&&&&++++*!!!!!+* +++++**#/!!!!!-*+++++*#-----*!----*#!+++++*!!!+++++*!!---**#/!!!!!-*!--*#!-*!!!! !+*+++++**#&&&&&--*!!!+++++*!!---**#/!!!!!**#*+*#!!-*!!!+++++*!!---**#&&&&&&++++ *!!!!!+*+++++**#/!!!!!*++++*#!!----*!!!+++++*!!---**#/!!!!!*!----*#&++++*!---*#! +++*!!!+++++*!!---**&&&&&&++++*!!!!!+*+++++**#/!!!!!+*--*#++*-*#!!*!!!+++++*!!-- -**#/!!!!!+*+*#!++++*!!!!!+*+++++**#&&&&&--*!!!+++++*!!---**#/!!!!!+*++++*#----* +++++*#!++++*!!!+++++*!!---**#&&&&&&++++*!!!!!+*+++++**#&&&&&&&*---*#!!+*!!!++++ +*!!---**#&&&&&&&*-*#+**#!!--*!!!+++++*!!---**&&&&&&++++*!!!!!+*+++++**#&&&&&&&* ++*#--*+++*#!+++++*!!!+++++*!!---**#&&&&&&&*+++++*#!-*!!!!!+*+++++**#&&&&&--*!!! +++++*!!---**#&&&&&&&+*---*#+++*--*#!!-*!!!+++++*!!---**#&&&&&&++++*!!!!!+*+++++ **#&&&&&&&+*+*#!!----*!!!+++++*!!---**#&&&&&&&+*+++*#---*++++*#!+++*!!!+++++*!!- --**&&&&&&++++*!!!!!+*+++++**#&&&&&&&++*-----*#+++++*----*#!!*!!!+++++*!!---**#& &&&&&&++*--*#!++++*!!!!!+*+++++**#&&&&&--*!!!+++++*!!---**#&&&&&&&++*+*#-*++*#!+ +++*!!!+++++*!!---**#&&&&&&++++*!!!!!+*+++++**#&&&&&&&+++*&++++*#!!+*!!!+++++*!! ---**#&&&&&&&+++*----*#++++*---*#!!--*!!!+++++*!!---**&&&&&&++++*!!!!!+*+++++**# &&&&&&&+++*-*#+**#!+++++*!!!+++++*!!---**#&&&&&&&+++*++*#!-*!!!!!+*+++++**#&&&&& --*!!!+++++*!!---**#&&&&&&&++++*&++++*#!----*-----*#!!-*!!!+++++*!!---**#&&&&&&+ +++*!!!!!+*+++++**#&&&&&&&++++*--*#!!----*!!!+++++*!!---**#&&&&&&&++++**#*+*#!++ +*!!!+++++*!!---**&&&&&&++++*!!!!!+*+++++**#/!!!!!!---*&++*#!--*&+++*#!!*!!!++++ +*!!---**#/!!!!!!---*-----*#!++++*!!!!!+*+++++**#&&&&&--*!!!+++++*!!---**#/!!!!! !---*--*#++*-*#!++++*!!!+++++*!!---**#&&&&&&++++*!!!!!+*+++++** === [[Hello World]] === !!!!!!!++*!!!-*!---**+++*/!!!++*!!!!!+++++*!!++++*+++*&++++*&++*/!!!+++* == Interpreters == === Java === public static String idplidpl(String p){ int a = 0; for(int i = 0; i < code.length(); ++i){ switch(p.charAt(i)){ case '+': ++a; break; case '-': --a; break; case '=': System.out.print(a); break; case '*': System.out.print((char)a); break; case '/': a = 0; break; case '!': a += 10; break; case '&': a -= 10; break; case '#': System.out.println(); break; } } } === JavaScript === function idplidpl(p){ var a = 0, o = ''; for(var c of p){ switch(c){ case '+': a++; break; case '-': a--; break; case '=': o += a; break; case '*': o += String.fromCharCode(a); break; case '/': a = 0; break; case '!': a += 10; break; case '&': a -= 10; break; case '#': o += '\n'; break; } } return o; } === ProcessingJS === var interpreter = function(code){ var o = ""; var a = 0; for(var i = 0; i < code.length; i++){ switch(code.charAt(i)){ case "+": acc++; break; case "-": acc--; break; case "=": console.log(acc); break; case "*": console.log(String.fromCharCode(acc)); break; case "/": acc = 0; break; case "!": acc += 10; break; case "&": acc -= 10; break; case "#": console.log("\n"); } } println(o); }; === Python 3 === def pmeaseap(): acc = 0 while True: prg = input('\n+-=*/!&#> ') for cmd in prg: if cmd == '+': acc += 1 elif cmd == '-': acc -= 1 elif cmd == '=': print(acc, end="") elif cmd == '*': print(chr(acc), end="") elif cmd == '/': acc = 0 elif cmd == '!': acc += 10 elif cmd == '&': acc -= 10 elif cmd == '#': print() = +-=*/@%#(x)< = '''+-=*/@%#(x)<''' is a language that expands +-=*/!&# with a few more commands. This makes it a lot more usable == Commands == <code>!</code> and <code>&</code> have been removed. {| class=wikitable ! Command !! Function |- | <code>+</code> || Increments the accumulator. |- | <code>-</code> || Decrements the accumulator. |- | <code>=</code> || Prints the accumulator's value. |- | <code>*</code> || Prints the accumulator as an ASCII character. |- | <code>@</code> || Inputs the next integer to the accumulator. |- | <code>%</code> || Inputs the next character in ASCII to the accumulator. |- | <code>/</code> || Sets the accumulator to 0. |- | <code>#</code> || Prints a newline. |- | <code>(x)</code> || Does the previous command x amount of times. This makes <code>!</code> and <code>&</code> redundant, thus being removed. You can also keep the x to repeat the command the number of times in the accumalator. |- | <code>&lt;</code> || Moves the pointer one command back. a command with a <code>(x)</code> after it will be counted as one command (e.g.<code>+(5)&lt;</code> will constantly increment the accumulator by 5). You can also use <code>&lt;(x)<</code> to go back multiple commands. |} ==Examples== ===[[Cat Program]]=== this is a simple [[Cat Program]] for one character %* ===[[Truth Machine]]=== First, it takes in an integer input and prints it then it will move the pointer back the number in the accumulator, meaning, if the accumulator is 0 then the program will go on without doing anything and terminate, but if the accumulator is 1 then the pointer will go back one to the command <code>=</code> which will output the accumulator, which is one, and repeat. @=<(x) ==Interpreters== WIP [[Category:2017]] [[Category:Unusable for programming]] [[Category:Implemented]] [[Category:Joke languages]]
New page wikitext, after the edit (new_wikitext)
'''+-''', or '''ID''', is a [[Joke language list|joke language]] created by [[User:Anonymous]] in 2017. == Commands == +- consists of a single accumulator, along with 2 single-character commands to change it. Using other characters besides these will result in the string <code>Error!</code> being alerted to console or an alert box. Note that this does not stop the program from continuing its execution. {| class="wikitable" |- ! Command !! Action |- | <code>+</code> || Increments the accumulator. |- | <code>-</code> || Decrements the accumulator. |} == Examples == Sets the accumulator to 1: + to 5: +++++ to 64: ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ == Interpreters == === Java === public static String id(String p){ int a = 0; for(int i = 0; i < p.length(); ++i){ switch(p.charAt(i)){ case '+': ++a; break; case '-': --a; break; default: System.err.println("Error!"); } } return <nowiki>'</nowiki>'; } } === JavaScript === function id(p){ var a = 0; for(var c of p){ switch(c){ case '+': a++; break; case '-': a--; break; default: alert('Error!'); } } return <nowiki>'</nowiki>'; } === Python 3 === def id(): acc = 0 while True: prg = input('\n+-> ') for cmd in prg: if cmd == '+': acc += 1 elif cmd == '-': acc -= 1 else: print('Error!'); break === C === #include <stdio.h> int main() { int ch, ax = 0; while((ch = getchar()) { ax += (ch == '+') - (ch == '-'); } } = +-= = '''+-=''', or '''IDPL''', is the same as +-, except the <code>=</code> operator is added for output. == Commands == {| class="wikitable" |- ! Command !! Action |- | <code>+</code> || Increments the accumulator. |- | <code>-</code> || Decrements the accumulator. |- | <code>=</code> || Prints the accumulator along with a newline. |} == Examples == Prints 42: ++++++++++++++++++++++++++++++++++++++++++= Counts to 10 (separated by newlines): +=+=+=+=+=+=+=+=+=+= Prints the ASCII values for [[Hello World]] (word wrapped): ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++=+++++++ ++++++++++++++++++++++=+++++++==+++=-------------------------------------------- -----------------------=------------=+++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++++++++++=--------=+++=------=--------=------ -------------------------------------------------------------=------------------ -----= == Interpreters == === Java === public static String idpl(String p){ int a = 0; for(int i = 0; i < p.length(); ++i){ switch(p.charAt(i)){ case '+': ++a; break; case '-': --a; break; case '=': System.out.println(a); break; default: System.err.println("Error!"); } } } === JavaScript === function idpl(p){ var a = 0, o = ''; for(var c of p){ switch(c){ case '+': a++; break; case '-': a--; break; case '=': o += '\n' + a; break; default: alert('Error!'); } } return o.substring(1); } === Python 3 === def idpl(): acc = 0 while True: prg = input('\n+-=> ') for cmd in prg: if cmd == '+': acc += 1 elif cmd == '-': acc -= 1 elif cmd == '=': print(acc) else: print('Error!'); break == Usability == +-= may be usable for very specific [https://codegolf.stackexchange.com/questions/tagged/kolmogorov-complexity Kolmogorov-complexity challenges], if the task is to print numbers on each line. = +-=*/!&# = '''+-=*/!&#''' is a language that expands +- more with 6 more commands, adding the feature to print as an ASCII character among others. == Commands == {| class=wikitable ! Command !! Function |- | <code>+</code> || Increments the accumulator. |- | <code>-</code> || Decrements the accumulator. |- | <code>=</code> || Prints the accumulator's value. |- | <code>*</code> || Prints the accumulator as an ASCII character. |- | <code>/</code> || Sets the accumulator to 0. |- | <code>!</code> || Increments the accumulator by 10. |- | <code>&</code> || Decrements the accumulator by 10. |- | <code>#</code> || Prints a newline. |} Note that <code>=</code> no longer adds a newline, and unknown commands are treated as NOPs instead of causing an error. == Examples == === [[FizzBuzz]] === !!!!!-*#+*#!!*!!!+++++*!!---**#&&&&&&&*#!++++*!!!!!+*+++++**#&&&&&--*!!!+++++*!! ---**#&&&&&&&+++*#+*#!++++*!!!+++++*!!---**#&&&&&&++++*!!!!!+*+++++**#/!!!!!-**# !!+*!!!+++++*!!---**#/!!!!!-*++*#--*+++*#!!--*!!!+++++*!!---**&&&&&&++++*!!!!!+* +++++**#/!!!!!-*+++++*#-----*!----*#!+++++*!!!+++++*!!---**#/!!!!!-*!--*#!-*!!!! !+*+++++**#&&&&&--*!!!+++++*!!---**#/!!!!!**#*+*#!!-*!!!+++++*!!---**#&&&&&&++++ *!!!!!+*+++++**#/!!!!!*++++*#!!----*!!!+++++*!!---**#/!!!!!*!----*#&++++*!---*#! +++*!!!+++++*!!---**&&&&&&++++*!!!!!+*+++++**#/!!!!!+*--*#++*-*#!!*!!!+++++*!!-- -**#/!!!!!+*+*#!++++*!!!!!+*+++++**#&&&&&--*!!!+++++*!!---**#/!!!!!+*++++*#----* +++++*#!++++*!!!+++++*!!---**#&&&&&&++++*!!!!!+*+++++**#&&&&&&&*---*#!!+*!!!++++ +*!!---**#&&&&&&&*-*#+**#!!--*!!!+++++*!!---**&&&&&&++++*!!!!!+*+++++**#&&&&&&&* ++*#--*+++*#!+++++*!!!+++++*!!---**#&&&&&&&*+++++*#!-*!!!!!+*+++++**#&&&&&--*!!! +++++*!!---**#&&&&&&&+*---*#+++*--*#!!-*!!!+++++*!!---**#&&&&&&++++*!!!!!+*+++++ **#&&&&&&&+*+*#!!----*!!!+++++*!!---**#&&&&&&&+*+++*#---*++++*#!+++*!!!+++++*!!- --**&&&&&&++++*!!!!!+*+++++**#&&&&&&&++*-----*#+++++*----*#!!*!!!+++++*!!---**#& &&&&&&++*--*#!++++*!!!!!+*+++++**#&&&&&--*!!!+++++*!!---**#&&&&&&&++*+*#-*++*#!+ +++*!!!+++++*!!---**#&&&&&&++++*!!!!!+*+++++**#&&&&&&&+++*&++++*#!!+*!!!+++++*!! ---**#&&&&&&&+++*----*#++++*---*#!!--*!!!+++++*!!---**&&&&&&++++*!!!!!+*+++++**# &&&&&&&+++*-*#+**#!+++++*!!!+++++*!!---**#&&&&&&&+++*++*#!-*!!!!!+*+++++**#&&&&& --*!!!+++++*!!---**#&&&&&&&++++*&++++*#!----*-----*#!!-*!!!+++++*!!---**#&&&&&&+ +++*!!!!!+*+++++**#&&&&&&&++++*--*#!!----*!!!+++++*!!---**#&&&&&&&++++**#*+*#!++ +*!!!+++++*!!---**&&&&&&++++*!!!!!+*+++++**#/!!!!!!---*&++*#!--*&+++*#!!*!!!++++ +*!!---**#/!!!!!!---*-----*#!++++*!!!!!+*+++++**#&&&&&--*!!!+++++*!!---**#/!!!!! !---*--*#++*-*#!++++*!!!+++++*!!---**#&&&&&&++++*!!!!!+*+++++** === [[Hello World]] === !!!!!!!++*!!!-*!---**+++*/!!!++*!!!!!+++++*!!++++*+++*&++++*&++*/!!!+++* == Interpreters == === Java === public static String idplidpl(String p){ int a = 0; for(int i = 0; i < code.length(); ++i){ switch(p.charAt(i)){ case '+': ++a; break; case '-': --a; break; case '=': System.out.print(a); break; case '*': System.out.print((char)a); break; case '/': a = 0; break; case '!': a += 10; break; case '&': a -= 10; break; case '#': System.out.println(); break; } } } === JavaScript === function idplidpl(p){ var a = 0, o = ''; for(var c of p){ switch(c){ case '+': a++; break; case '-': a--; break; case '=': o += a; break; case '*': o += String.fromCharCode(a); break; case '/': a = 0; break; case '!': a += 10; break; case '&': a -= 10; break; case '#': o += '\n'; break; } } return o; } === ProcessingJS === var interpreter = function(code){ var o = ""; var a = 0; for(var i = 0; i < code.length; i++){ switch(code.charAt(i)){ case "+": acc++; break; case "-": acc--; break; case "=": console.log(acc); break; case "*": console.log(String.fromCharCode(acc)); break; case "/": acc = 0; break; case "!": acc += 10; break; case "&": acc -= 10; break; case "#": console.log("\n"); } } println(o); }; === Python 3 === def pmeaseap(): acc = 0 while True: prg = input('\n+-=*/!&#> ') for cmd in prg: if cmd == '+': acc += 1 elif cmd == '-': acc -= 1 elif cmd == '=': print(acc, end="") elif cmd == '*': print(chr(acc), end="") elif cmd == '/': acc = 0 elif cmd == '!': acc += 10 elif cmd == '&': acc -= 10 elif cmd == '#': print() = +-=*/@%#(x)< = '''+-=*/@%#(x)<''' is a language that expands +-=*/!&# with a few more commands. This makes it a lot more usable == Commands == <code>!</code> and <code>&</code> have been removed. {| class=wikitable ! Command !! Function |- | <code>+</code> || Increments the accumulator. |- | <code>-</code> || Decrements the accumulator. |- | <code>=</code> || Prints the accumulator's value. |- | <code>*</code> || Prints the accumulator as an ASCII character. |- | <code>@</code> || Inputs the next integer to the accumulator. |- | <code>%</code> || Inputs the next character in ASCII to the accumulator. |- | <code>/</code> || Sets the accumulator to 0. |- | <code>#</code> || Prints a newline. |- | <code>(x)</code> || Does the previous command x amount of times. This makes <code>!</code> and <code>&</code> redundant, thus being removed. You can also keep the x to repeat the command the number of times in the accumalator. |- | <code>&lt;</code> || Moves the pointer one command back. a command with a <code>(x)</code> after it will be counted as one command (e.g.<code>+(5)&lt;</code> will constantly increment the accumulator by 5). You can also use <code>&lt;(x)<</code> to go back multiple commands. |} ==Examples== ===[[Cat Program]]=== this is a simple [[Cat Program]] for one character %* ===[[Truth Machine]]=== First, it takes in an integer input and prints it then it will move the pointer back the number in the accumulator, meaning, if the accumulator is 0 then the program will go on without doing anything and terminate, but if the accumulator is 1 then the pointer will go back one to the command <code>=</code> which will output the accumulator, which is one, and repeat. @=<(x) ==Interpreters== WIP [[Category:2017]] [[Category:Unusable for programming]] [[Category:Implemented]] [[Category:Joke languages]]
Unified diff of changes made by edit (edit_diff)
@@ -68,4 +68,15 @@ elif cmd == '-': acc -= 1 else: print('Error!'); break + +=== C === + #include <stdio.h> + + int main() { + int ch, ax = 0; + while((ch = getchar()) { + ax += (ch == '+') - (ch == '-'); + } + } + = +-= =
New page size (new_size)
10468
Old page size (old_size)
10325
Lines added in edit (added_lines)
=== C === #include <stdio.h> int main() { int ch, ax = 0; while((ch = getchar()) { ax += (ch == '+') - (ch == '-'); } }
Unix timestamp of change (timestamp)
1603565146