Merge pull request #3 from MUSTE-Project/master

A version of `readPGF` where the user can handle reading files
This commit is contained in:
Thomas H
2018-08-06 16:31:55 +02:00
committed by GitHub
2 changed files with 12 additions and 3 deletions

View File

@@ -17,6 +17,7 @@ module PGF(
-- * PGF
PGF,
readPGF,
parsePGF,
-- * Identifiers
CId, mkCId, wildCId,
@@ -165,7 +166,7 @@ import PGF.Macros
import PGF.Expr (Tree)
import PGF.Morphology
import PGF.Data
import PGF.Binary()
import PGF.Binary ()
import qualified PGF.Forest as Forest
import qualified PGF.Parse as Parse
import PGF.Utilities(replace)
@@ -175,6 +176,7 @@ import qualified Data.Map as Map
--import qualified Data.IntMap as IntMap
--import Data.Maybe
import Data.Binary
import Data.ByteString.Lazy (ByteString)
import Data.List(mapAccumL)
--import System.Random (newStdGen)
--import Control.Monad
@@ -190,6 +192,11 @@ import Text.PrettyPrint
-- > $ gf -make <grammar file name>
readPGF :: FilePath -> IO PGF
-- | Like @readPGF@ but you have the manage file-handling.
--
-- @since 3.9.1
parsePGF :: ByteString -> PGF
-- | Tries to parse the given string in the specified language
-- and to produce abstract syntax expression.
parse :: PGF -> Language -> Type -> String -> [Tree]
@@ -254,7 +261,9 @@ functionType :: PGF -> CId -> Maybe Type
-- Implementation
---------------------------------------------------
readPGF f = decodeFile f
readPGF = decodeFile
parsePGF = decode
parse pgf lang typ s =
case parse_ pgf lang typ (Just 4) s of

View File

@@ -1,5 +1,5 @@
name: pgf
version: 3.9-git
version: 3.9.1-git
cabal-version: >= 1.20
build-type: Simple