diff lib/kps/labels.pl @ 12274:3c04e9ef7a3a draft

<kspalaiologos> `` cp -rf /hackenv/tmp/asmbf-1.2.7/bin/* /hackenv/lib/kps/
author HackEso <hackeso@esolangs.org>
date Tue, 31 Dec 2019 17:47:30 +0000
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/lib/kps/labels.pl	Tue Dec 31 17:47:30 2019 +0000
@@ -0,0 +1,7 @@
+#!/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;