Mercurial > repo
view paste/paste.14186 @ 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 | e037173e0012 |
children |
line wrap: on
line source
import System.Environment import System.Process import System.Exit import Control.Monad import Control.Applicative import Data.List main = do r <- buildRegex . permuteArgs <$> getArgs (_, _, _, h) <- createProcess (proc "/hackenv/bin/log" [r]) exitWith <$> waitForProcess h where permuteArgs = permutations . join . map words buildRegex = oBrackets . intercalate ".*" . map (iBrackets . intercalate "|") iBrackets s = "(?:" ++ s ++ ")" oBrackets s = "^.*(?:" ++ s ++ ").*$"