view lib/kps/labels.pl @ 12353:9e69a48ed481 draft

<wib_jonas> `` perl -pi -e \'s/xrange/range/\' /hackenv/bin/password
author HackEso <hackeso@esolangs.org>
date Wed, 04 Nov 2020 14:38:13 +0000
parents 3c04e9ef7a3a
children
line wrap: on
line source

#!/usr/bin/perl

# asm2bf label preprocessor.
# C'mon, who doesn't love regexes?

$n=0;%o=();$_=do{local$/;<>};s/^[ \t]*@([A-Za-z_]+[A-Za-z0-9_]*).*$/$o{$1}=++$n;'lbl '.$n."\n";/gem;
s/(%([A-Za-z_]+[A-Za-z0-9_]*)|"[^"\n]*%([A-Za-z_]+[A-Za-z0-9_]*))/substr($1,0,1)eq'"'?$1:%o{substr$1,1}/ge;print;