diff options
| author | Irene Knapp <ireneista@irenes.space> | 2026-04-13 15:14:27 -0700 |
|---|---|---|
| committer | Irene Knapp <ireneista@irenes.space> | 2026-04-13 15:14:27 -0700 |
| commit | a6e2609e4e587e2846523acbcce99ccd232eeca6 (patch) | |
| tree | f03f2e329667b8581485faaa90e29d68abd17595 /describe-data.sed | |
| parent | 408727db4ab128e37120d562f4406f8050fc4cc8 (diff) | |
add some sed scripts to make the output easier to examine
these separate out the data and heap segments; the one for the data segment also replaces all the flatassembler names with Forth names. the output of these scripts looks very clean when passed through diff, showing only important differences Force-Push: yes Change-Id: I868ca9817fa41d2c503a8480ae6ceb44c9e10df7
Diffstat (limited to 'describe-data.sed')
| -rw-r--r-- | describe-data.sed | 45 |
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 + |