summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/GF/Compile/ShellState.hs3
-rw-r--r--src/HelpFile3
2 files changed, 4 insertions, 2 deletions
diff --git a/src/GF/Compile/ShellState.hs b/src/GF/Compile/ShellState.hs
index 88da1283b..07ddaa97a 100644
--- a/src/GF/Compile/ShellState.hs
+++ b/src/GF/Compile/ShellState.hs
@@ -237,7 +237,8 @@ updateShellState opts ign mcnc sh ((_,sgr,gr),rts) = do
concr0 = ifNull Nothing (return . head) concrs
notInrts f = notElem f $ map fst rts
subcgr = unSubelimCanon cgr
- cf's0 <- if oElem noCF opts
+ cf's0 <- if (not (oElem (iOpt "docf") opts) && -- cf only built with -docf
+ (oElem noCF opts || not (hasHOAS cgr))) -- or HOAS, if not -nocf
then return $ map snd $ cfs sh
else mapM (canon2cf opts ign subcgr) newConcrs
let cf's = zip newConcrs cf's0 ++ filter toRetain (cfs sh)
diff --git a/src/HelpFile b/src/HelpFile
index 96afff0ec..baf2bf761 100644
--- a/src/HelpFile
+++ b/src/HelpFile
@@ -31,7 +31,8 @@ i, import: i File
-src from source: ignore precompiled gfc and gfr files
-gfc from gfc: use compiled modules whenever they exist
-retain retain operations: read resource modules (needed in comm cc)
- -nocf don't build context-free grammar (thus no parser)
+ -nocf don't build old-style context-free grammar (default without HOAS)
+ -docf do build old-style context-free grammar (default with HOAS)
-nocheckcirc don't eliminate circular rules from CF
-cflexer build an optimized parser with separate lexer trie
-noemit do not emit code (default with old grammar format)