view bin/slashes @ 12327:b3e29671d69e draft

<b_jonas> learn ayacc is ais523\'s yacc parser generator implementation, get it from (darcs clone http://nethack4.org/projects/ayacc) or a snapshot from "http://nethack4.org/pastebin/ayacc-2020-04.tar.gz".
author HackEso <hackeso@esolangs.org>
date Wed, 08 Apr 2020 20:27:14 +0000
parents c989a1669243
children
line wrap: on
line source

#!/usr/bin/perl -w
#By Ørjan Johansen, 2009-2012.  This file is in the public domain.

$| = 1;
my $l = 0;

$_ = join '', <>;
while ($l < 512) {
        if (s!^([^/\\]+)!! or s!^\\(.)!!s) { 
                $l += length($1);
                print($1);
        }
        else {
            if (s!^/((?:[^/\\]|\\.)*)/((?:[^/\\]|\\.)*)/!!s) {
                my ($s,$d) = ($1,$2);
                $s =~ s/\\(.)/$1/gs;
                $d =~ s/\\(.)/$1/gs;
                while (s/(?:\Q$s\E)/$d/) { 
                }
            }
            else { last; }
        }
}