annotate bin/labels.pl @ 12092:ceb43c4d37de draft

<fizzie> ` for w in benvenuto bienvenido bienvenue bonvenon tervetuloa v\xc3\xa4lkommen velkomin velkommen welcome welkom wercome willkommen \xd0\xb4\xd0\xbe\xd0\xb1\xd1\x80\xd0\xbe-\xd0\xbf\xd0\xbe\xd0\xb6\xd0\xb0\xd0\xbb\xd0\xbe\xd0\xb2\xd0\xb0\xd1\x82\xd1\x8c; do sed -i -e \'2s|^|my $bin = $ENV{"HACKENV"}."/bin"; |;s|bin/[@?]|$&|g\' /hackenv/bin/$w; done
author HackEso <hackeso@esolangs.org>
date Sat, 16 Nov 2019 22:19:36 +0000
parents b413473a9ec3
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
12012
b413473a9ec3 <kspalaiologos> ` cp tmp/asmbf-1.1.1/labels.pl /hackenv/bin
HackEso <hackeso@esolangs.org>
parents:
diff changeset
1 #!/usr/bin/perl
b413473a9ec3 <kspalaiologos> ` cp tmp/asmbf-1.1.1/labels.pl /hackenv/bin
HackEso <hackeso@esolangs.org>
parents:
diff changeset
2
b413473a9ec3 <kspalaiologos> ` cp tmp/asmbf-1.1.1/labels.pl /hackenv/bin
HackEso <hackeso@esolangs.org>
parents:
diff changeset
3 # asm2bf label preprocessor.
b413473a9ec3 <kspalaiologos> ` cp tmp/asmbf-1.1.1/labels.pl /hackenv/bin
HackEso <hackeso@esolangs.org>
parents:
diff changeset
4 # C'mon, who doesn't love regexes?
b413473a9ec3 <kspalaiologos> ` cp tmp/asmbf-1.1.1/labels.pl /hackenv/bin
HackEso <hackeso@esolangs.org>
parents:
diff changeset
5
b413473a9ec3 <kspalaiologos> ` cp tmp/asmbf-1.1.1/labels.pl /hackenv/bin
HackEso <hackeso@esolangs.org>
parents:
diff changeset
6 # Released to the public domain by Krzysztof Szewczyk.
b413473a9ec3 <kspalaiologos> ` cp tmp/asmbf-1.1.1/labels.pl /hackenv/bin
HackEso <hackeso@esolangs.org>
parents:
diff changeset
7
b413473a9ec3 <kspalaiologos> ` cp tmp/asmbf-1.1.1/labels.pl /hackenv/bin
HackEso <hackeso@esolangs.org>
parents:
diff changeset
8 $n=0;%o=();$_=do{local$/;<>};s/^[ \t]*@([A-Za-z_]+).*$/$o{$1}=++$n;'lbl '.$n."\n";/gem;
b413473a9ec3 <kspalaiologos> ` cp tmp/asmbf-1.1.1/labels.pl /hackenv/bin
HackEso <hackeso@esolangs.org>
parents:
diff changeset
9 s/(%[A-Za-z_]+|"[^"\n]*%[A-Za-z_]+)/substr($1,0,1)eq'"'?$1:%o{substr$1,1}/ge;print;