summaryrefslogtreecommitdiff
path: root/src/compiler/GF/Command/Commands.hs
diff options
context:
space:
mode:
Diffstat (limited to 'src/compiler/GF/Command/Commands.hs')
-rw-r--r--src/compiler/GF/Command/Commands.hs123
1 files changed, 3 insertions, 120 deletions
diff --git a/src/compiler/GF/Command/Commands.hs b/src/compiler/GF/Command/Commands.hs
index f2c835ff1..c69dc64ed 100644
--- a/src/compiler/GF/Command/Commands.hs
+++ b/src/compiler/GF/Command/Commands.hs
@@ -1,5 +1,5 @@
module GF.Command.Commands (
- PGFEnv,pgf,mos,pgfEnv,allCommands,
+ PGFEnv,pgf,mos,pgfEnv,pgfCommands,
options,flags,
) where
import Prelude hiding (putStrLn)
@@ -26,7 +26,6 @@ import GF.Command.Abstract
--import GF.Command.Messages
import GF.Command.CommandInfo
import GF.Command.CommonCommands
-import GF.Command.Help
--import GF.Text.Lexing
import GF.Text.Clitics
--import GF.Text.Transliterations
@@ -56,9 +55,8 @@ pgfEnv pgf = Env pgf mos
instance TypeCheckArg PGFEnv where
typeCheckArg (Env pgf _) = either (Left . ppTcError) (Right . fst) . inferExpr pgf
--- this list must no more be kept sorted by the command name
-allCommands :: Map.Map String (CommandInfo PGFEnv)
-allCommands = extend commonCommands [
+pgfCommands :: Map.Map String (CommandInfo PGFEnv)
+pgfCommands = Map.fromList [
("aw", emptyCommandInfo {
longname = "align_words",
synopsis = "show word alignments between languages graphically",
@@ -139,54 +137,6 @@ allCommands = extend commonCommands [
]
}),
- ("cc", emptyCommandInfo {
- longname = "compute_concrete",
- syntax = "cc (-all | -table | -unqual)? TERM",
- synopsis = "computes concrete syntax term using a source grammar",
- explanation = unlines [
- "Compute TERM by concrete syntax definitions. Uses the topmost",
- "module (the last one imported) to resolve constant names.",
- "N.B.1 You need the flag -retain when importing the grammar, if you want",
- "the definitions to be retained after compilation.",
- "N.B.2 The resulting term is not a tree in the sense of abstract syntax",
- "and hence not a valid input to a Tree-expecting command.",
- "This command must be a line of its own, and thus cannot be a part",
- "of a pipe."
- ],
- options = [
- ("all","pick all strings (forms and variants) from records and tables"),
- ("list","all strings, comma-separated on one line"),
- ("one","pick the first strings, if there is any, from records and tables"),
- ("table","show all strings labelled by parameters"),
- ("unqual","hide qualifying module names")
- ],
- needsTypeCheck = False
- }),
- ("dg", emptyCommandInfo {
- longname = "dependency_graph",
- syntax = "dg (-only=MODULES)?",
- synopsis = "print module dependency graph",
- explanation = unlines [
- "Prints the dependency graph of source modules.",
- "Requires that import has been done with the -retain flag.",
- "The graph is written in the file _gfdepgraph.dot",
- "which can be further processed by Graphviz (the system command 'dot').",
- "By default, all modules are shown, but the -only flag restricts them",
- "by a comma-separated list of patterns, where 'name*' matches modules",
- "whose name has prefix 'name', and other patterns match modules with",
- "exactly the same name. The graphical conventions are:",
- " solid box = abstract, solid ellipse = concrete, dashed ellipse = other",
- " solid arrow empty head = of, solid arrow = **, dashed arrow = open",
- " dotted arrow = other dependency"
- ],
- flags = [
- ("only","list of modules included (default: all), literally or by prefix*")
- ],
- examples = [
- mkEx "dg -only=SyntaxEng,Food* -- shows only SyntaxEng, and those with prefix Food"
- ],
- needsTypeCheck = False
- }),
("eb", emptyCommandInfo {
longname = "example_based",
syntax = "eb (-probs=FILE | -lang=LANG)* -file=FILE.gfe",
@@ -281,7 +231,6 @@ allCommands = extend commonCommands [
Nothing -> generateAllDepth pgfr (optType pgf opts) (Just dp)
returnFromExprs $ take (optNumInf opts) ts
}),
- helpCommand allCommands,
("i", emptyCommandInfo {
longname = "import",
synopsis = "import a grammar from source code or compiled .pgf file",
@@ -586,72 +535,6 @@ allCommands = extend commonCommands [
]
}),
- ("sd", emptyCommandInfo {
- longname = "show_dependencies",
- syntax = "sd QUALIFIED_CONSTANT+",
- synopsis = "show all constants that the given constants depend on",
- explanation = unlines [
- "Show recursively all qualified constant names, by tracing back the types and definitions",
- "of each constant encountered, but just listing every name once.",
- "This command requires a source grammar to be in scope, imported with 'import -retain'.",
- "Notice that the accuracy is better if the modules are compiled with the flag -optimize=noexpand.",
- "This command must be a line of its own, and thus cannot be a part of a pipe."
- ],
- options = [
- ("size","show the size of the source code for each constants (number of constructors)")
- ],
- examples = [
- mkEx "sd ParadigmsEng.mkV ParadigmsEng.mkN -- show all constants on which mkV and mkN depend",
- mkEx "sd -size ParadigmsEng.mkV -- show all constants on which mkV depends, together with size"
- ],
- needsTypeCheck = False
- }),
-
- ("so", emptyCommandInfo {
- longname = "show_operations",
- syntax = "so (-grep=STRING)* TYPE?",
- synopsis = "show all operations in scope, possibly restricted to a value type",
- explanation = unlines [
- "Show the names and type signatures of all operations available in the current resource.",
- "This command requires a source grammar to be in scope, imported with 'import -retain'.",
- "The operations include the parameter constructors that are in scope.",
- "The optional TYPE filters according to the value type.",
- "The grep STRINGs filter according to other substrings of the type signatures.",
- "This command must be a line of its own, and thus cannot be a part",
- "of a pipe."
- ],
- flags = [
- ("grep","substring used for filtering (the command can have many of these)")
- ],
- options = [
- ("raw","show the types in computed forms (instead of category names)")
- ],
- needsTypeCheck = False
- }),
-
- ("ss", emptyCommandInfo {
- longname = "show_source",
- syntax = "ss (-strip)? (-save)? MODULE*",
- synopsis = "show the source code of modules in scope, possibly just headers",
- explanation = unlines [
- "Show compiled source code, i.e. as it is included in GF object files.",
- "This command requires a source grammar to be in scope, imported with 'import -retain'.",
- "The optional MODULE arguments cause just these modules to be shown.",
- "The -size and -detailedsize options show code size as the number of constructor nodes.",
- "This command must be a line of its own, and thus cannot be a part of a pipe."
- ],
- options = [
- ("detailedsize", "instead of code, show the sizes of all judgements and modules"),
- ("save", "save each MODULE in file MODULE.gfh instead of printing it on terminal"),
- ("size", "instead of code, show the sizes of all modules"),
- ("strip","show only type signatures of oper's and lin's, not their definitions")
- ],
- examples = [
- mkEx "ss -- print complete current source grammar on terminal",
- mkEx "ss -strip -save MorphoFin -- print the headers in file MorphoFin.gfh"
- ],
- needsTypeCheck = False
- }),
("vd", emptyCommandInfo {
longname = "visualize_dependency",