summary refs log tree commit diff
path: root/describe-data.sed
diff options
context:
space:
mode:
Diffstat (limited to 'describe-data.sed')
-rw-r--r--describe-data.sed45
1 files changed, 45 insertions, 0 deletions
diff --git a/describe-data.sed b/describe-data.sed
new file mode 100644
index 0000000..4f13e88
--- /dev/null
+++ b/describe-data.sed
@@ -0,0 +1,45 @@
+# ./quine | sed -f describe-data.sed > data.txt
+
+:start
+/0000000008/!d
+/^0000000008/bmain
+bstart
+
+:main
+n
+
+s/_/-/g
+s/\<roll3\>/3roll/g
+s/\<unroll3\>/3unroll/g
+s/\<dup2\>/2dup/g
+s/\<zbranch\>/0branch/g
+s/\<eq\>/=/g
+s/\<ne\>/!=/g
+s/\<gt\>/>/g
+s/\<lt\>/</g
+s/\<ge\>/>=/g
+s/\<le\>/<=/g
+s/\([^a-z]\)-unsigned\>/\1unsigned/g
+s/\<divmod\>\([^-]\)/\/%\1/g
+s/\<mul\>\([^-]\)/*\1/g
+s/\<sub\>\([^-]\)/-\1/g
+s/\<add\>\([^-]\)/+\1/g
+s/\<\([er][acdb]x\)\>/:\1/g
+s/\<\([er]\?\([sb]p\|[sd]i\)\)\>/:\1/g
+s/\<\([acdb][lhx]\)\>/:\1/g
+s/\<\(r[89]\|r1[0-5]\)\>/:\1/g
+s/\([^-]\)\<cc-/\1:cc-/g
+s/^cc-/:cc-/g
+s/\<fetch\(8\|16\|32\|64\)\>/\1@/g
+s/\<store\(8\|16\|32\|64\)\>/\1!/g
+s/\<addstore\>/+!/g
+s/\<substore\>/-!/g
+s/\<fetch-value-stack\>/value@/g
+s/\<store-value-stack\>/value!/g
+s/\<fetch-control-stack\>/control@/g
+s/\<store-control-stack\>/control!/g
+s/\<fetch\>/@/g
+s/\<store\>/!/g
+
+bmain
+