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.

Variables generated for this change

VariableValue
Whether or not the edit is marked as minor (no longer in use) (minor_edit)
false
Edit count of the user (user_editcount)
0
Name of the user account (user_name)
'Stefvanschie'
Age of the user account (user_age)
206
Page ID (page_id)
8732
Page namespace (page_namespace)
0
Page title (without namespace) (page_title)
'A0A0'
Full page title (page_prefixedtitle)
'A0A0'
Action (action)
'edit'
Edit summary/reason (summary)
'Make V command clearer'
Old content model (old_content_model)
'wikitext'
New content model (new_content_model)
'wikitext'
Old page wikitext, before the edit (old_wikitext)
''''A0A0''' is a [[:Category:Queue-based|queue-based]], [[:Category:Self-modifying|self-modifying]] programming language created by [[User:Snowyowl]] in [[:Category:2013|2013]]. It is named after a commonly used pair of commands. When the name is read aloud, it should ideally be sung in a major third. ==Language overview== Each line of code in the source of an A0A0 program represents a queue of commands. Commands consist of a single letter and a signed integer, which is the argument for that command and also the only datatype. To interpret a command, the interpreter works in the following order: # Pop one command from the current line. # Execute that command. # If the command was not a <code>G</code> (goto) command, go to the next line. (Note: this might be obvious, but given that several commands can alter the content of the current line, it's important to be specific.) Any unrecognised commands have no effect (it should be assumed that they are reserved for future use even when they aren't). Spaces and tabs are ignored, but newlines are not. For any signed integer ''n'', the commands that take ''n'' as an argument are: {|class="wikitable" |colspan="2"|'''Control''' |- |A''n'' |Appends a copy of the entire current line to the line ''n'' below it. |- |C''n'' |Clears all commands from the line ''n'' below the current line. |- |G''n'' |Goto the line ''n'' below this one, instead of continuing automatically to the next line. <code>G1</code> has no net effect and can be used as a no-op. |- |V''n'' |Sets the argument of the next command on the current line to ''n''. |- |colspan="2"|'''Operations''' All operations change the value of the ''operand''. The operand is the argument of the first <code>V</code> instruction on the current line. If there is no operand, these commands do nothing. |- |S''n'' |Adds ''n'' to the operand. |- |D''n'' |Subtracts ''n'' from the operand. |- |M''n'' |Multiplies the the operand by ''n''. |- |L''n'' |Sets the operand to 1 if it is larger than ''n'', -1 if it is smaller, and 0 if it is equal to ''n''. |- |colspan="2"|'''I/O''' |- |I''n'' |Reads an integer from standard input and sets the operand to it. If ''n'' is 0, reads an integer in base 10. If ''n'' is 1, reads a single character and returns its ASCII value. Any other arguments produce undefined behaviour. |- |O''n'' |Writes the value of ''n'' to standard output as a base-10 integer. |- |P''n'' |Writes the ASCII character corresponding to ''n'' mod 256 to standard output. |} The initial program code is padded in both directions by an infinite number of empty lines. Whenever the program encounters an empty line, it immediately terminates. (Hence the practicality of "padding lines", that do nothing useful but also do not cause the program to terminate.) Execution starts at the first line by default; however, if any line starts with a <code>></code> symbol, execution starts at that line instead. (This allows debuggers to output the program state formatted as A0A0 source code.) ==Sample Programs== ==="[[Hello, world!]]"=== P72 P101 P108 P108 P111 P44 P32 P119 P111 P114 P108 P100 P33 ===[[cat]]=== A0 A0 A0 C3 G1 G1 A0 A0 I1 V0 P0 A0 A0 A1 G-3 G-3 A0 G-3 This program shows one way of creating a loop in A0A0. Only the third line deals with input and output; the rest of the program serves to form a loop. ==Implementations== [https://gist.github.com/dc6914d587bed8fa8d5e Ruby interpreter] by [[User:Andkerosine|Andkerosine]]. [[Category:Languages]] [[Category:2013]] [[Category:Queue-based]] [[Category:Implemented]] [[Category:Self-modifying]]'
New page wikitext, after the edit (new_wikitext)
''''A0A0''' is a [[:Category:Queue-based|queue-based]], [[:Category:Self-modifying|self-modifying]] programming language created by [[User:Snowyowl]] in [[:Category:2013|2013]]. It is named after a commonly used pair of commands. When the name is read aloud, it should ideally be sung in a major third. ==Language overview== Each line of code in the source of an A0A0 program represents a queue of commands. Commands consist of a single letter and a signed integer, which is the argument for that command and also the only datatype. To interpret a command, the interpreter works in the following order: # Pop one command from the current line. # Execute that command. # If the command was not a <code>G</code> (goto) command, go to the next line. (Note: this might be obvious, but given that several commands can alter the content of the current line, it's important to be specific.) Any unrecognised commands have no effect (it should be assumed that they are reserved for future use even when they aren't). Spaces and tabs are ignored, but newlines are not. For any signed integer ''n'', the commands that take ''n'' as an argument are: {|class="wikitable" |colspan="2"|'''Control''' |- |A''n'' |Appends a copy of the entire current line to the line ''n'' below it. |- |C''n'' |Clears all commands from the line ''n'' below the current line. |- |G''n'' |Goto the line ''n'' below this one, instead of continuing automatically to the next line. <code>G1</code> has no net effect and can be used as a no-op. |- |V''n'' |Sets the argument of the next command on the current line to ''n''. Note that the value of ''n'' is linked to the operand; its initial value will only take effect if no operand exists when executing the command. |- |colspan="2"|'''Operations''' All operations change the value of the ''operand''. The operand is the argument of the first <code>V</code> instruction on the current line. If there is no operand, these commands do nothing. |- |S''n'' |Adds ''n'' to the operand. |- |D''n'' |Subtracts ''n'' from the operand. |- |M''n'' |Multiplies the the operand by ''n''. |- |L''n'' |Sets the operand to 1 if it is larger than ''n'', -1 if it is smaller, and 0 if it is equal to ''n''. |- |colspan="2"|'''I/O''' |- |I''n'' |Reads an integer from standard input and sets the operand to it. If ''n'' is 0, reads an integer in base 10. If ''n'' is 1, reads a single character and returns its ASCII value. Any other arguments produce undefined behaviour. |- |O''n'' |Writes the value of ''n'' to standard output as a base-10 integer. |- |P''n'' |Writes the ASCII character corresponding to ''n'' mod 256 to standard output. |} The initial program code is padded in both directions by an infinite number of empty lines. Whenever the program encounters an empty line, it immediately terminates. (Hence the practicality of "padding lines", that do nothing useful but also do not cause the program to terminate.) Execution starts at the first line by default; however, if any line starts with a <code>></code> symbol, execution starts at that line instead. (This allows debuggers to output the program state formatted as A0A0 source code.) ==Sample Programs== ==="[[Hello, world!]]"=== P72 P101 P108 P108 P111 P44 P32 P119 P111 P114 P108 P100 P33 ===[[cat]]=== A0 A0 A0 C3 G1 G1 A0 A0 I1 V0 P0 A0 A0 A1 G-3 G-3 A0 G-3 This program shows one way of creating a loop in A0A0. Only the third line deals with input and output; the rest of the program serves to form a loop. ==Implementations== [https://gist.github.com/dc6914d587bed8fa8d5e Ruby interpreter] by [[User:Andkerosine|Andkerosine]]. [[Category:Languages]] [[Category:2013]] [[Category:Queue-based]] [[Category:Implemented]] [[Category:Self-modifying]]'
Unified diff of changes made by edit (edit_diff)
'@@ -27,5 +27,5 @@ |- |V''n'' -|Sets the argument of the next command on the current line to ''n''. +|Sets the argument of the next command on the current line to ''n''. Note that the value of ''n'' is linked to the operand; its initial value will only take effect if no operand exists when executing the command. |- |colspan="2"|'''Operations''' '
New page size (new_size)
3747
Old page size (old_size)
3603
Lines added in edit (added_lines)
[ 0 => '|Sets the argument of the next command on the current line to ''n''. Note that the value of ''n'' is linked to the operand; its initial value will only take effect if no operand exists when executing the command.' ]
Unix timestamp of change (timestamp)
1532300004