{-# LANGUAGE NoImplicitPrelude #-} module Main where import BNFC.Prelude import BNFC.Main (bnfcArgs) import Paths_BNFC3 (getDataDir) import System.FilePath (takeBaseName, (), (<.>)) main :: IO () main = do dir <- getDataDir mapM_ (generate dir) examples generate :: FilePath -> FilePath -> IO () generate dir testName = bnfcArgs [ "-m", "-o", outDir, fileName, "agda", "-d" ] where fileName = dir "examples" testName <.> "cf" outDir = dir "test/agda/makefile/makefile-test/files" takeBaseName testName examples :: [String] examples = [ "Alfa/Alfa" , "C/C" , "C/C4" , "Calc/Calc" , "Cpp/Cpp" , "Cubicaltt/Cubicaltt" , "GF/GF" , "Haskell-core/Core" , "Javalette/JavaletteLight" , "LBNF/LBNF" , "OCL/OCL" , "Prolog/Prolog" ]