From 841d1211933e843a5a2c2edbe2d987af375189d2 Mon Sep 17 00:00:00 2001 From: Herbert Lange Date: Wed, 26 Jun 2019 14:32:26 +0200 Subject: [PATCH] add semicolon at end of the file --- src/api/ConstructorsLat.gf | 2 +- src/latin/api/mkMissing.hs | 10 ++++++++++ src/latin/api/mkMissing.sh | 18 ++++++++++++++++++ 3 files changed, 29 insertions(+), 1 deletion(-) create mode 100644 src/latin/api/mkMissing.hs create mode 100755 src/latin/api/mkMissing.sh diff --git a/src/api/ConstructorsLat.gf b/src/api/ConstructorsLat.gf index 7103ccb81..436adba25 100644 --- a/src/api/ConstructorsLat.gf +++ b/src/api/ConstructorsLat.gf @@ -1,4 +1,4 @@ --# -path=.:alltenses:prelude:../latin resource ConstructorsLat = Constructors with (Grammar = GrammarLat) ** - open MissingLat in {} + open MissingLat in {} ; diff --git a/src/latin/api/mkMissing.hs b/src/latin/api/mkMissing.hs new file mode 100644 index 000000000..83b1790c4 --- /dev/null +++ b/src/latin/api/mkMissing.hs @@ -0,0 +1,10 @@ +import PGF +import System.Environment + +main = + do + args <- getArgs -- first one should be pgf file and second one should be the file containing the errors/warnings about missing things + pgf <- PGF.readPGF (args !! 0) -- "tmp/Lang.pgf" + ms <- readFile (args !! 1) {- "tmp/MissingLat.tmp" -} >>= return . map (last . words) . lines + let ts = [PGF.showType [] t | m <- ms, Just t <- [PGF.functionType pgf (PGF.mkCId m)]] + putStrLn $ unlines ["oper " ++ f ++ " : " ++ t ++ " = notYet \"" ++ f ++ "\" ;" | (f,t) <- zip ms ts] diff --git a/src/latin/api/mkMissing.sh b/src/latin/api/mkMissing.sh new file mode 100755 index 000000000..d809d2247 --- /dev/null +++ b/src/latin/api/mkMissing.sh @@ -0,0 +1,18 @@ +#!/bin/sh +echo "Create tmp dir" +mkdir tmp/ +echo "Remove old file" +echo "resource MissingAPILat = {} " > ../MissingAPILat.gf +echo "Look for missing functions" +# gf -src -i .. -batch TryLat.gf 2>&1 | grep "Warning: no linearization of" | sort -u > tmp/MissingLat.tmp +gf -src -i .. -batch TryLat.gf 2>&1 | sed -r "s/\x1B\[([0-9]{1,2}(;[0-9]{1,2})?)?[mGK]//g" | grep -E "constant not found|no linearization of" | sort -u > tmp/MissingLat.tmp +echo "Compile grammar" +gf -src -make -i .. -D tmp ../LangLat.gf &> /dev/null +echo "Create placeholders for missing functions" +echo "resource MissingAPILat = open GrammarLat, Prelude in {" > ../MissingAPILat.gf +echo "" >> ../MissingAPILat.gf +echo "-- temporary definitions to enable the compilation of RGL API" >> ../MissingAPILat.gf +runghc mkMissing.hs "tmp/Lang.pgf" "tmp/MissingLat.tmp">> ../MissingAPILat.gf +echo "}" >> ../MissingAPILat.gf +echo "Cleanup" +rm -Rf tmp