Add FoodsFre, fails because pre is not implemented

Also an unhandled Projection case
This commit is contained in:
John J. Camilleri
2021-02-15 01:14:34 +01:00
parent 109822675b
commit 4f0abe5540
3 changed files with 46 additions and 3 deletions

View File

@@ -8,7 +8,7 @@ import qualified Data.List as L
import qualified Data.Map as Map
import Text.Printf (printf)
import System.Directory (listDirectory)
import System.FilePath ((</>), (<.>), takeBaseName, takeExtension)
import System.FilePath ((</>), (<.>), takeBaseName, takeExtension, dropExtension)
dir :: FilePath
dir = "testsuite" </> "lpgf"
@@ -20,12 +20,19 @@ main = do
doGrammar "Params"
doGrammar "Walking"
doGrammar "Foods"
-- doGrammar' "Foods" ["Fre"]
doGrammar :: String -> IO ()
doGrammar gname = do
doGrammar gname = doGrammar' gname []
doGrammar' :: String -> [String] -> IO ()
doGrammar' gname cncs = do
-- Collect concrete modules
mods <- map (dir </>)
. filter (\p -> gname `L.isPrefixOf` takeBaseName p && takeExtension p == ".gf")
. filter (\p -> gname `L.isPrefixOf` takeBaseName p
&& takeExtension p == ".gf"
&& null cncs || any (`L.isSuffixOf` dropExtension p) cncs
)
<$> listDirectory dir
-- Compile LPGF