Examine individual changes
This page allows you to examine the variables generated by the Abuse Filter for an individual change.
Variables generated for this change
| Variable | Value |
|---|---|
Edit count of the user (user_editcount) | 6 |
Name of the user account (user_name) | 'GolferHome' |
Age of the user account (user_age) | 1564416 |
Page ID (page_id) | 0 |
Page namespace (page_namespace) | 0 |
Page title (without namespace) (page_title) | 'Turing complete regex' |
Full page title (page_prefixedtitle) | 'Turing complete regex' |
Action (action) | 'edit' |
Edit summary/reason (summary) | '' |
Old content model (old_content_model) | '' |
New content model (new_content_model) | 'wikitext' |
Old page wikitext, before the edit (old_wikitext) | '' |
New page wikitext, after the edit (new_wikitext) | '{{infobox proglang
|name=Turing-complete Regexes
|author=[[User:ChatGPT|ChatGPT]]
|year=2024
|paradigms=[[Declarative]], [[Pattern matching]]
|class=[[:Category:Turing complete|Turing complete]]
|files=<code>.tregex</code>
}}
'''Turing-complete Regexes''' (commonly abbreviated as '''T-Regex''') is an esoteric programming language that extends standard regular expressions with stack operations and recursive execution, making it [[Turing complete]].
== Overview ==
Turing-complete Regexes maintains all the standard regex pattern matching capabilities while adding a stack memory model and control structures that enable arbitrary computation. The language processes input text through pattern matching while maintaining both a matches list and a separate stack for computation.
== Language Specification ==
=== Core Components ===
* '''Matches List''': The traditional list of regex matches and capture groups
* '''Stack''': An unlimited LIFO storage for computation
* '''Input String''': The text being processed
=== Extended Commands ===
{| class="wikitable"
|-
! Command !! Description
|-
| <code>-</code> || Remove the last item from the matches list and push it to the stack
|-
| <code>&</code> || Pop the top item from the stack and print it to STDOUT
|-
| <code>#''expr''</code> || Execute ''expr'' as a sub-regex in a sandboxed environment using the last stack item as input, then push all matches joined without separators to the stack
|-
| <code>"text"</code> || Push the literal string "text" to the stack
|-
| <code>(expr)?(if_matched);(else)</code> || Conditional execution
|-
| <code>EOF</code> || Implicitly print all matches joined without separators
|}
=== Execution Model ===
1. Patterns are matched against the input string as in standard regex
2. The matches list contains all successful matches and capture groups
3. Stack operations manipulate additional memory
4. At end of execution, all remaining matches are printed
== Examples ==
== Computational Class ==
Turing-complete Regexes is '''[[Turing complete]]'' because:
* It has '''unbounded memory''' via the stack
* It supports '''conditional branching''' via the ? operator
* It enables '''recursion''' and '''subroutine calls''' via the # operator
* The stack can grow arbitrarily during computation
* Complex control flow can be implemented through recursive pattern application
The # operator is particularly crucial as it allows the language to perform computation on its own stored data, similar to recursive function calls in conventional programming languages.
== Implementation ==
[https://ppcg.pages.dev/t-regex A T-reger interpreter can found here.]
== External Resources ==
* None yet
[[Category:Languages]]
[[Category:Turing complete]]
[[Category:Stack-based]]
[[Category:Pattern matching]]
[[Category:2024]]' |
Unified diff of changes made by edit (edit_diff) | '@@ -1,0 +1,70 @@
+{{infobox proglang
+|name=Turing-complete Regexes
+|author=[[User:ChatGPT|ChatGPT]]
+|year=2024
+|paradigms=[[Declarative]], [[Pattern matching]]
+|class=[[:Category:Turing complete|Turing complete]]
+|files=<code>.tregex</code>
+}}
+
+'''Turing-complete Regexes''' (commonly abbreviated as '''T-Regex''') is an esoteric programming language that extends standard regular expressions with stack operations and recursive execution, making it [[Turing complete]].
+
+== Overview ==
+Turing-complete Regexes maintains all the standard regex pattern matching capabilities while adding a stack memory model and control structures that enable arbitrary computation. The language processes input text through pattern matching while maintaining both a matches list and a separate stack for computation.
+
+== Language Specification ==
+
+=== Core Components ===
+* '''Matches List''': The traditional list of regex matches and capture groups
+* '''Stack''': An unlimited LIFO storage for computation
+* '''Input String''': The text being processed
+
+=== Extended Commands ===
+
+{| class="wikitable"
+|-
+! Command !! Description
+|-
+| <code>-</code> || Remove the last item from the matches list and push it to the stack
+|-
+| <code>&</code> || Pop the top item from the stack and print it to STDOUT
+|-
+| <code>#''expr''</code> || Execute ''expr'' as a sub-regex in a sandboxed environment using the last stack item as input, then push all matches joined without separators to the stack
+|-
+| <code>"text"</code> || Push the literal string "text" to the stack
+|-
+| <code>(expr)?(if_matched);(else)</code> || Conditional execution
+|-
+| <code>EOF</code> || Implicitly print all matches joined without separators
+|}
+
+=== Execution Model ===
+1. Patterns are matched against the input string as in standard regex
+2. The matches list contains all successful matches and capture groups
+3. Stack operations manipulate additional memory
+4. At end of execution, all remaining matches are printed
+
+== Examples ==
+
+== Computational Class ==
+Turing-complete Regexes is '''[[Turing complete]]'' because:
+
+* It has '''unbounded memory''' via the stack
+* It supports '''conditional branching''' via the ? operator
+* It enables '''recursion''' and '''subroutine calls''' via the # operator
+* The stack can grow arbitrarily during computation
+* Complex control flow can be implemented through recursive pattern application
+
+The # operator is particularly crucial as it allows the language to perform computation on its own stored data, similar to recursive function calls in conventional programming languages.
+
+== Implementation ==
+[https://ppcg.pages.dev/t-regex A T-reger interpreter can found here.]
+
+== External Resources ==
+* None yet
+
+[[Category:Languages]]
+[[Category:Turing complete]]
+[[Category:Stack-based]]
+[[Category:Pattern matching]]
+[[Category:2024]]
' |
New page size (new_size) | 2814 |
Old page size (old_size) | 0 |
Lines added in edit (added_lines) | [
0 => '{{infobox proglang',
1 => '|name=Turing-complete Regexes',
2 => '|author=[[User:ChatGPT|ChatGPT]]',
3 => '|year=2024',
4 => '|paradigms=[[Declarative]], [[Pattern matching]]',
5 => '|class=[[:Category:Turing complete|Turing complete]]',
6 => '|files=<code>.tregex</code>',
7 => '}}',
8 => '',
9 => ''''Turing-complete Regexes''' (commonly abbreviated as '''T-Regex''') is an esoteric programming language that extends standard regular expressions with stack operations and recursive execution, making it [[Turing complete]].',
10 => '',
11 => '== Overview ==',
12 => 'Turing-complete Regexes maintains all the standard regex pattern matching capabilities while adding a stack memory model and control structures that enable arbitrary computation. The language processes input text through pattern matching while maintaining both a matches list and a separate stack for computation.',
13 => '',
14 => '== Language Specification ==',
15 => '',
16 => '=== Core Components ===',
17 => '* '''Matches List''': The traditional list of regex matches and capture groups',
18 => '* '''Stack''': An unlimited LIFO storage for computation',
19 => '* '''Input String''': The text being processed',
20 => '',
21 => '=== Extended Commands ===',
22 => '',
23 => '{| class="wikitable"',
24 => '|-',
25 => '! Command !! Description',
26 => '|-',
27 => '| <code>-</code> || Remove the last item from the matches list and push it to the stack',
28 => '|-',
29 => '| <code>&</code> || Pop the top item from the stack and print it to STDOUT',
30 => '|-',
31 => '| <code>#''expr''</code> || Execute ''expr'' as a sub-regex in a sandboxed environment using the last stack item as input, then push all matches joined without separators to the stack',
32 => '|-',
33 => '| <code>"text"</code> || Push the literal string "text" to the stack',
34 => '|-',
35 => '| <code>(expr)?(if_matched);(else)</code> || Conditional execution',
36 => '|-',
37 => '| <code>EOF</code> || Implicitly print all matches joined without separators',
38 => '|}',
39 => '',
40 => '=== Execution Model ===',
41 => '1. Patterns are matched against the input string as in standard regex',
42 => '2. The matches list contains all successful matches and capture groups',
43 => '3. Stack operations manipulate additional memory',
44 => '4. At end of execution, all remaining matches are printed',
45 => '',
46 => '== Examples ==',
47 => '',
48 => '== Computational Class ==',
49 => 'Turing-complete Regexes is '''[[Turing complete]]'' because:',
50 => '',
51 => '* It has '''unbounded memory''' via the stack',
52 => '* It supports '''conditional branching''' via the ? operator',
53 => '* It enables '''recursion''' and '''subroutine calls''' via the # operator',
54 => '* The stack can grow arbitrarily during computation',
55 => '* Complex control flow can be implemented through recursive pattern application',
56 => '',
57 => 'The # operator is particularly crucial as it allows the language to perform computation on its own stored data, similar to recursive function calls in conventional programming languages.',
58 => '',
59 => '== Implementation ==',
60 => '[https://ppcg.pages.dev/t-regex A T-reger interpreter can found here.]',
61 => '',
62 => '== External Resources ==',
63 => '* None yet',
64 => '',
65 => '[[Category:Languages]]',
66 => '[[Category:Turing complete]]',
67 => '[[Category:Stack-based]]',
68 => '[[Category:Pattern matching]]',
69 => '[[Category:2024]]'
] |
Unix timestamp of change (timestamp) | '1764188500' |