mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-05-24 10:22:50 -06:00
Merge branch 'master' into lpgf
# Conflicts: # gf.cabal # src/compiler/GF/Grammar/Canonical.hs
This commit is contained in:
90
gf.cabal
90
gf.cabal
@@ -43,8 +43,8 @@ custom-setup
|
|||||||
setup-depends:
|
setup-depends:
|
||||||
base,
|
base,
|
||||||
Cabal >=1.22.0.0,
|
Cabal >=1.22.0.0,
|
||||||
directory,
|
directory >= 1.3.0 && < 1.4,
|
||||||
filepath,
|
filepath >= 1.4.1 && < 1.5,
|
||||||
process >=1.0.1.1
|
process >=1.0.1.1
|
||||||
|
|
||||||
source-repository head
|
source-repository head
|
||||||
@@ -138,8 +138,12 @@ library
|
|||||||
|
|
||||||
if flag(c-runtime)
|
if flag(c-runtime)
|
||||||
exposed-modules: PGF2
|
exposed-modules: PGF2
|
||||||
other-modules: PGF2.FFI PGF2.Expr PGF2.Type
|
other-modules:
|
||||||
GF.Interactive2 GF.Command.Commands2
|
PGF2.FFI
|
||||||
|
PGF2.Expr
|
||||||
|
PGF2.Type
|
||||||
|
GF.Interactive2
|
||||||
|
GF.Command.Commands2
|
||||||
hs-source-dirs: src/runtime/haskell-bind
|
hs-source-dirs: src/runtime/haskell-bind
|
||||||
build-tools: hsc2hs
|
build-tools: hsc2hs
|
||||||
extra-libraries: pgf gu
|
extra-libraries: pgf gu
|
||||||
@@ -166,12 +170,19 @@ library
|
|||||||
GF.Grammar.Canonical
|
GF.Grammar.Canonical
|
||||||
|
|
||||||
other-modules:
|
other-modules:
|
||||||
GF.Main GF.Compiler GF.Interactive
|
GF.Main
|
||||||
|
GF.Compiler
|
||||||
|
GF.Interactive
|
||||||
|
|
||||||
GF.Compile GF.CompileInParallel GF.CompileOne GF.Compile.GetGrammar
|
GF.Compile
|
||||||
|
GF.CompileInParallel
|
||||||
|
GF.CompileOne
|
||||||
|
GF.Compile.GetGrammar
|
||||||
GF.Grammar
|
GF.Grammar
|
||||||
|
|
||||||
GF.Data.Operations GF.Infra.Option GF.Infra.UseIO
|
GF.Data.Operations
|
||||||
|
GF.Infra.Option
|
||||||
|
GF.Infra.UseIO
|
||||||
|
|
||||||
GF.Command.Abstract
|
GF.Command.Abstract
|
||||||
GF.Command.CommandInfo
|
GF.Command.CommandInfo
|
||||||
@@ -283,12 +294,17 @@ library
|
|||||||
cpp-options: -DC_RUNTIME
|
cpp-options: -DC_RUNTIME
|
||||||
|
|
||||||
if flag(server)
|
if flag(server)
|
||||||
build-depends: httpd-shed >= 0.4.0 && < 0.5, network>=2.3 && <2.7,
|
build-depends:
|
||||||
|
httpd-shed >= 0.4.0 && < 0.5,
|
||||||
|
network>=2.3 && <2.7,
|
||||||
cgi >= 3001.3.0.2 && < 3001.6
|
cgi >= 3001.3.0.2 && < 3001.6
|
||||||
if flag(network-uri)
|
if flag(network-uri)
|
||||||
build-depends: network-uri >= 2.6.1.0 && < 2.7, network>=2.6 && <2.7
|
build-depends:
|
||||||
|
network-uri >= 2.6.1.0 && < 2.7,
|
||||||
|
network>=2.6 && <2.7
|
||||||
else
|
else
|
||||||
build-depends: network >= 2.5 && <2.6
|
build-depends:
|
||||||
|
network >= 2.5 && <2.6
|
||||||
|
|
||||||
cpp-options: -DSERVER_MODE
|
cpp-options: -DSERVER_MODE
|
||||||
other-modules:
|
other-modules:
|
||||||
@@ -305,7 +321,10 @@ library
|
|||||||
Fold
|
Fold
|
||||||
ExampleDemo
|
ExampleDemo
|
||||||
ExampleService
|
ExampleService
|
||||||
hs-source-dirs: src/server src/server/transfer src/example-based
|
hs-source-dirs:
|
||||||
|
src/server
|
||||||
|
src/server/transfer
|
||||||
|
src/example-based
|
||||||
|
|
||||||
if flag(interrupt)
|
if flag(interrupt)
|
||||||
cpp-options: -DUSE_INTERRUPT
|
cpp-options: -DUSE_INTERRUPT
|
||||||
@@ -314,17 +333,24 @@ library
|
|||||||
other-modules: GF.System.NoSignal
|
other-modules: GF.System.NoSignal
|
||||||
|
|
||||||
if impl(ghc>=7.8)
|
if impl(ghc>=7.8)
|
||||||
build-tools: happy>=1.19, alex>=3.1
|
build-tools:
|
||||||
|
happy>=1.19,
|
||||||
|
alex>=3.1
|
||||||
-- ghc-options: +RTS -A20M -RTS
|
-- ghc-options: +RTS -A20M -RTS
|
||||||
else
|
else
|
||||||
build-tools: happy, alex>=3
|
build-tools:
|
||||||
|
happy,
|
||||||
|
alex>=3
|
||||||
|
|
||||||
ghc-options: -fno-warn-tabs
|
ghc-options: -fno-warn-tabs
|
||||||
|
|
||||||
if os(windows)
|
if os(windows)
|
||||||
build-depends: Win32 >= 2.3.1.1 && < 2.7
|
build-depends:
|
||||||
|
Win32 >= 2.3.1.1 && < 2.7
|
||||||
else
|
else
|
||||||
build-depends: unix >= 2.7.2 && < 2.8, terminfo >=0.4.0 && < 0.5
|
build-depends:
|
||||||
|
unix >= 2.7.2 && < 2.8,
|
||||||
|
terminfo >=0.4.0 && < 0.5
|
||||||
|
|
||||||
if impl(ghc>=8.2)
|
if impl(ghc>=8.2)
|
||||||
ghc-options: -fhide-source-paths
|
ghc-options: -fhide-source-paths
|
||||||
@@ -333,7 +359,9 @@ executable gf
|
|||||||
hs-source-dirs: src/programs
|
hs-source-dirs: src/programs
|
||||||
main-is: gf-main.hs
|
main-is: gf-main.hs
|
||||||
default-language: Haskell2010
|
default-language: Haskell2010
|
||||||
build-depends: gf, base
|
build-depends:
|
||||||
|
gf,
|
||||||
|
base
|
||||||
ghc-options: -threaded
|
ghc-options: -threaded
|
||||||
--ghc-options: -fwarn-unused-imports
|
--ghc-options: -fwarn-unused-imports
|
||||||
|
|
||||||
@@ -347,21 +375,31 @@ executable gf
|
|||||||
if impl(ghc>=8.2)
|
if impl(ghc>=8.2)
|
||||||
ghc-options: -fhide-source-paths
|
ghc-options: -fhide-source-paths
|
||||||
|
|
||||||
executable pgf-shell
|
-- executable pgf-shell
|
||||||
--if !flag(c-runtime)
|
-- --if !flag(c-runtime)
|
||||||
buildable: False
|
-- buildable: False
|
||||||
main-is: pgf-shell.hs
|
-- main-is: pgf-shell.hs
|
||||||
hs-source-dirs: src/runtime/haskell-bind/examples
|
-- hs-source-dirs: src/runtime/haskell-bind/examples
|
||||||
build-depends: gf, base, containers, mtl, lifted-base
|
-- build-depends:
|
||||||
default-language: Haskell2010
|
-- gf,
|
||||||
if impl(ghc>=7.0)
|
-- base,
|
||||||
ghc-options: -rtsopts
|
-- containers,
|
||||||
|
-- mtl,
|
||||||
|
-- lifted-base
|
||||||
|
-- default-language: Haskell2010
|
||||||
|
-- if impl(ghc>=7.0)
|
||||||
|
-- ghc-options: -rtsopts
|
||||||
|
|
||||||
test-suite gf-tests
|
test-suite gf-tests
|
||||||
type: exitcode-stdio-1.0
|
type: exitcode-stdio-1.0
|
||||||
main-is: run.hs
|
main-is: run.hs
|
||||||
hs-source-dirs: testsuite
|
hs-source-dirs: testsuite
|
||||||
build-depends: base>=4.3 && <5, Cabal>=1.8, directory, filepath, process
|
build-depends:
|
||||||
|
base >= 4.9.1 && < 4.15,
|
||||||
|
Cabal >= 1.8,
|
||||||
|
directory >= 1.3.0 && < 1.4,
|
||||||
|
filepath >= 1.4.1 && < 1.5,
|
||||||
|
process >= 1.4.3 && < 1.7
|
||||||
build-tool-depends: gf:gf
|
build-tool-depends: gf:gf
|
||||||
default-language: Haskell2010
|
default-language: Haskell2010
|
||||||
|
|
||||||
|
|||||||
@@ -69,7 +69,6 @@ computeLType gr g0 t = comp (reverse [(b,x, Vr x) | (b,x,_) <- g0] ++ g0) t
|
|||||||
lockRecType c t' ---- locking to be removed AR 20/6/2009
|
lockRecType c t' ---- locking to be removed AR 20/6/2009
|
||||||
|
|
||||||
_ | ty == typeTok -> return typeStr
|
_ | ty == typeTok -> return typeStr
|
||||||
_ | isPredefConstant ty -> return ty
|
|
||||||
|
|
||||||
_ -> composOp (comp g) ty
|
_ -> composOp (comp g) ty
|
||||||
|
|
||||||
|
|||||||
@@ -12,7 +12,8 @@
|
|||||||
-- Thierry Coquand's type checking algorithm that creates a trace
|
-- Thierry Coquand's type checking algorithm that creates a trace
|
||||||
-----------------------------------------------------------------------------
|
-----------------------------------------------------------------------------
|
||||||
|
|
||||||
module GF.Compile.TypeCheck.TC (AExp(..),
|
module GF.Compile.TypeCheck.TC (
|
||||||
|
AExp(..),
|
||||||
Theory,
|
Theory,
|
||||||
checkExp,
|
checkExp,
|
||||||
inferExp,
|
inferExp,
|
||||||
@@ -321,4 +322,3 @@ mkAnnot :: (Val -> AExp) -> Err (Val,[(Val,Val)]) -> Err (AExp,Val,[(Val,Val)])
|
|||||||
mkAnnot a ti = do
|
mkAnnot a ti = do
|
||||||
(v,cs) <- ti
|
(v,cs) <- ti
|
||||||
return (a v, v, cs)
|
return (a v, v, cs)
|
||||||
|
|
||||||
|
|||||||
@@ -34,7 +34,7 @@ buildAnyTree :: Fail.MonadFail m => ModuleName -> [(Ident,Info)] -> m (Map.Map I
|
|||||||
buildAnyTree m = go Map.empty
|
buildAnyTree m = go Map.empty
|
||||||
where
|
where
|
||||||
go map [] = return map
|
go map [] = return map
|
||||||
go map ((c,j):is) = do
|
go map ((c,j):is) =
|
||||||
case Map.lookup c map of
|
case Map.lookup c map of
|
||||||
Just i -> case unifyAnyInfo m i j of
|
Just i -> case unifyAnyInfo m i j of
|
||||||
Ok k -> go (Map.insert c k map) is
|
Ok k -> go (Map.insert c k map) is
|
||||||
|
|||||||
@@ -266,7 +266,6 @@ instance PPA LinPattern where
|
|||||||
RecordPattern r -> block r
|
RecordPattern r -> block r
|
||||||
TuplePattern ps -> "<"<>punctuate "," ps<>">"
|
TuplePattern ps -> "<"<>punctuate "," ps<>">"
|
||||||
WildPattern -> pp "_"
|
WildPattern -> pp "_"
|
||||||
_ -> parens p
|
|
||||||
|
|
||||||
instance RhsSeparator LinPattern where rhsSep _ = pp "="
|
instance RhsSeparator LinPattern where rhsSep _ = pp "="
|
||||||
|
|
||||||
|
|||||||
@@ -12,7 +12,8 @@
|
|||||||
-- pattern matching for both concrete and abstract syntax. AR -- 16\/6\/2003
|
-- pattern matching for both concrete and abstract syntax. AR -- 16\/6\/2003
|
||||||
-----------------------------------------------------------------------------
|
-----------------------------------------------------------------------------
|
||||||
|
|
||||||
module GF.Grammar.PatternMatch (matchPattern,
|
module GF.Grammar.PatternMatch (
|
||||||
|
matchPattern,
|
||||||
testOvershadow,
|
testOvershadow,
|
||||||
findMatch,
|
findMatch,
|
||||||
measurePatt
|
measurePatt
|
||||||
|
|||||||
@@ -362,4 +362,3 @@ getLet :: Term -> ([LocalDef], Term)
|
|||||||
getLet (Let l e) = let (ls,e') = getLet e
|
getLet (Let l e) = let (ls,e') = getLet e
|
||||||
in (l:ls,e')
|
in (l:ls,e')
|
||||||
getLet e = ([],e)
|
getLet e = ([],e)
|
||||||
|
|
||||||
|
|||||||
@@ -12,7 +12,8 @@
|
|||||||
-- (Description of the module)
|
-- (Description of the module)
|
||||||
-----------------------------------------------------------------------------
|
-----------------------------------------------------------------------------
|
||||||
|
|
||||||
module GF.Grammar.Values (-- ** Values used in TC type checking
|
module GF.Grammar.Values (
|
||||||
|
-- ** Values used in TC type checking
|
||||||
Val(..), Env,
|
Val(..), Env,
|
||||||
-- ** Annotated tree used in editing
|
-- ** Annotated tree used in editing
|
||||||
Binds, Constraints, MetaSubst,
|
Binds, Constraints, MetaSubst,
|
||||||
|
|||||||
@@ -110,4 +110,3 @@ prepunctuate p (x:xs) = x : map (p <>) xs
|
|||||||
|
|
||||||
($++$) :: Doc -> Doc -> Doc
|
($++$) :: Doc -> Doc -> Doc
|
||||||
x $++$ y = x $$ emptyLine $$ y
|
x $++$ y = x $$ emptyLine $$ y
|
||||||
|
|
||||||
|
|||||||
@@ -125,4 +125,3 @@ prepunctuate p (x:xs) = x : map (p <>) xs
|
|||||||
|
|
||||||
($++$) :: Doc -> Doc -> Doc
|
($++$) :: Doc -> Doc -> Doc
|
||||||
x $++$ y = x $$ emptyLine $$ y
|
x $++$ y = x $$ emptyLine $$ y
|
||||||
|
|
||||||
|
|||||||
@@ -300,9 +300,7 @@ transAncientGreek = mkTransliteration "ancient Greek" allTrans allCodes where
|
|||||||
|
|
||||||
transAmharic :: Transliteration
|
transAmharic :: Transliteration
|
||||||
transAmharic = mkTransliteration "Amharic" allTrans allCodes where
|
transAmharic = mkTransliteration "Amharic" allTrans allCodes where
|
||||||
|
|
||||||
allTrans = words $
|
allTrans = words $
|
||||||
|
|
||||||
" h. h- h' h( h) h h? h* l. l- l' l( l) l l? l* "++
|
" h. h- h' h( h) h h? h* l. l- l' l( l) l l? l* "++
|
||||||
" H. H- H' H( H) H H? H* m. m- m' m( m) m m? m* "++
|
" H. H- H' H( H) H H? H* m. m- m' m( m) m m? m* "++
|
||||||
" s. s- s' s( s) s s? s* r. r- r' r( r) r r? r* "++
|
" s. s- s' s( s) s s? s* r. r- r' r( r) r r? r* "++
|
||||||
|
|||||||
Reference in New Issue
Block a user