wow!!!!! the next step is implementing the Forth lexer. wow! Force-Push: yes Change-Id: If847c1d7b3949f7d449279e0783021484f96e6a8
49 lines
1,006 B
Sed
49 lines
1,006 B
Sed
# ./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/\<drop2\>/2drop/g
|
|
s/^zbranch\>/0branch/g
|
|
s/\([^"]\)\<zbranch\>/\10branch/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-entry-flags\>/entry-flags@/g
|
|
s/\<store-entry-flags\>/entry-flags!/g
|
|
s/\<fetch\>/@/g
|
|
s/\<store\>/!/g
|
|
|
|
bmain
|
|
|