summaryrefslogtreecommitdiff
path: root/src/compiler/GF
diff options
context:
space:
mode:
authorhallgren <hallgren@chalmers.se>2014-10-28 14:58:43 +0000
committerhallgren <hallgren@chalmers.se>2014-10-28 14:58:43 +0000
commitf085b807ebe7fa1bb6f05e6324b3e90ef4f109e5 (patch)
tree9a9efd11b87b057a186390c23d101cf48d70eb55 /src/compiler/GF
parentefedec187cef6e422c4dbcd50454dd2e29f1a3f8 (diff)
A couple of haddock documentation improvements
Diffstat (limited to 'src/compiler/GF')
-rw-r--r--src/compiler/GF/Compile.hs4
-rw-r--r--src/compiler/GF/CompileInParallel.hs9
2 files changed, 10 insertions, 3 deletions
diff --git a/src/compiler/GF/Compile.hs b/src/compiler/GF/Compile.hs
index 719cb756c..964165148 100644
--- a/src/compiler/GF/Compile.hs
+++ b/src/compiler/GF/Compile.hs
@@ -46,6 +46,10 @@ link opts (cnc,gr) =
srcAbsName gr cnc = err (const cnc) id $ abstractOfConcrete gr cnc
-- | Compile the given grammar files and everything they depend on.
+-- Compiled modules are stored in @.gfo@ files (unless the @-tags@ option is
+-- used, in which case tags files are produced instead).
+-- Existing @.gfo@ files are reused if they are up-to-date
+-- (unless the option @-src@ aka @-force-recomp@ is used).
batchCompile :: Options -> [FilePath] -> IOE (UTCTime,(ModuleName,Grammar))
batchCompile opts files = do
(gr,menv) <- foldM (compileModule opts) emptyCompileEnv files
diff --git a/src/compiler/GF/CompileInParallel.hs b/src/compiler/GF/CompileInParallel.hs
index c8c25c8dc..a70741971 100644
--- a/src/compiler/GF/CompileInParallel.hs
+++ b/src/compiler/GF/CompileInParallel.hs
@@ -19,13 +19,16 @@ import GF.Infra.Ident(moduleNameS)
import GF.Text.Pretty
import qualified Data.ByteString.Lazy as BS
--- | Compile the given grammar files and everything they depend on.
--- This function compiles modules in parallel.
+-- | Compile the given grammar files and everything they depend on,
+-- like 'batchCompile'. This function compiles modules in parallel.
-- It keeps modules compiled in /present/ and /alltenses/ mode apart,
-- storing the @.gfo@ files in separate subdirectories to avoid creating
-- the broken PGF files that can result from mixing different modes in the
-- same concrete syntax.
-
+--
+-- The first argument is supposed to be the number of jobs to run in
+-- parallel, but this has not been implemented yet. Instead you have to
+-- use the GHC run-time flag @+RTS -N -RTS@ to enable parallelism.
parallelBatchCompile jobs opts rootfiles0 =
do rootfiles <- mapM canonical rootfiles0
lib_dir <- canonical =<< getLibraryDirectory opts