summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/GF.hs13
-rw-r--r--src/GF/Compile/ShellState.hs4
-rw-r--r--src/GF/Shell/ShellCommands.hs2
-rw-r--r--src/HelpFile110
-rw-r--r--src/HelpFile.hs110
5 files changed, 173 insertions, 66 deletions
diff --git a/src/GF.hs b/src/GF.hs
index 5eafefe8d..78aedadcc 100644
--- a/src/GF.hs
+++ b/src/GF.hs
@@ -25,6 +25,7 @@ main = do
xs <- getArgs
let (os,fs) = getOptions "-" xs
opt j = oElem j os
+ st0 = optInitShellState os
case 0 of
_ | opt getHelp -> do
@@ -32,8 +33,8 @@ main = do
_ | opt forJava -> do
putStrLnFlush $ encodeUTF8 welcomeMsg
- st <- useIOE emptyShellState $
- foldM (shellStateFromFiles os) emptyShellState fs
+ st <- useIOE st0 $
+ foldM (shellStateFromFiles os) st0 fs
sessionLineJ True st
return ()
@@ -44,15 +45,15 @@ main = do
_ | opt doBatch -> do
if opt beSilent then return () else putStrLnFlush "<gfbatch>"
- st <- useIOE emptyShellState $
- foldM (shellStateFromFiles os) emptyShellState fs
+ st <- useIOE st0 $
+ foldM (shellStateFromFiles os) st0 fs
gfBatch (initHState st)
if opt beSilent then return () else putStrLnFlush "</gfbatch>"
return ()
_ -> do
putStrLnFlush $ welcomeMsg
- st <- useIOE emptyShellState $
- foldM (shellStateFromFiles os) emptyShellState fs
+ st <- useIOE st0 $
+ foldM (shellStateFromFiles os) st0 fs
if null fs then return () else putCPU
gfInteract (initHState st)
return ()
diff --git a/src/GF/Compile/ShellState.hs b/src/GF/Compile/ShellState.hs
index 2b602ecca..a306902d9 100644
--- a/src/GF/Compile/ShellState.hs
+++ b/src/GF/Compile/ShellState.hs
@@ -67,6 +67,8 @@ emptyShellState = ShSt {
statistics = []
}
+optInitShellState os = addGlobalOptions os emptyShellState
+
type Language = Ident
language = identC
prLanguage = prIdent
@@ -225,7 +227,7 @@ greatestAbstract gr = case allAbstracts gr of
-- all resource modules
allResources :: G.SourceGrammar -> [Ident]
-allResources gr = [i | (i,M.ModMod m) <- M.modules gr, M.mtype m == M.MTResource]
+allResources gr = [i | (i,M.ModMod m) <- M.modules gr, M.isModRes m]
-- the greatest resource in dependency order
diff --git a/src/GF/Shell/ShellCommands.hs b/src/GF/Shell/ShellCommands.hs
index 971097d71..451776108 100644
--- a/src/GF/Shell/ShellCommands.hs
+++ b/src/GF/Shell/ShellCommands.hs
@@ -166,7 +166,7 @@ optionsOfCommand co = case co of
CHelp _ -> opts "all"
CImpure ICEditSession -> opts "f"
- CImpure ICTranslateSession -> both "f" "cat"
+ CImpure ICTranslateSession -> both "f langs" "cat"
_ -> none
diff --git a/src/HelpFile b/src/HelpFile
index bd8b096ea..36fe237f5 100644
--- a/src/HelpFile
+++ b/src/HelpFile
@@ -35,6 +35,10 @@ i, import: i File
-abs set the name used for abstract syntax (with -old option)
-cnc set the name used for concrete syntax (with -old option)
-res set the name used for resource (with -old option)
+ -path use the (colon-separated) search path to find modules
+ examples:
+ i English.gf -- ordinary import of Concrete
+ i -retain german/ParadigmsGer.gf -- import of Resource to test
* rl, remove_language: rl Language
Takes away the language from the state.
@@ -42,9 +46,12 @@ i, import: i File
e, empty: e
Takes away all languages and resets all global flags.
-sf, set_flags: sf Language? Flag*
+sf, set_flags: sf Flag*
The values of the Flags are set for Language. If no language
is specified, the flags are set globally.
+ examples:
+ sf -nocpu -- stop showing CPU time
+ sf -lang=Swe -- make Swe the default concrete
s, strip: s
Prune the state by removing source and resource modules.
@@ -65,10 +72,14 @@ pg, print_grammar: pg
flags:
-printer
-lang
+ examples:
+ pg -printer=cf -- show the context-free skeleton
pm, print_multigrammar: pm
- Prints the current multilingual grammar into a .gfcm file.
+ Prints the current multilingual grammar in .gfcm form.
(Automatically executes the strip command (s) before doing this.)
+ examples:
+ pm | wf Letter.gfcm -- print the grammar into the file Letter.gfcm
po, print_options: po
Print what modules there are in the state. Also
@@ -88,8 +99,8 @@ eh, execute_history: eh File
ph, print_history; ph
Prints the commands issued during the GF session.
The result is readable by the eh command.
- HINT: write "ph | wf foo.hist" to save the history.
-
+ examples:
+ ph | wf foo.hist" -- save the history into a file
-- linearization, parsing, translation, and computation
@@ -106,10 +117,13 @@ l, linearize: l PattList? Tree
-table show parameters
-struct bracketed form
-record record, i.e. explicit GF concrete syntax term
+ -all show all forms and variants
flags:
-lang linearize in this grammar
-number give this number of forms at most
-unlexer filter output through unlexer
+ examples:
+ l -lang=Swe -table -- show full inflection table in Swe
p, parse: p String
Shows all Trees returned for String by the actual
@@ -120,18 +134,23 @@ p, parse: p String
-ign ignore unknown words when parsing
-raw return context-free terms in raw form
-v verbose: give more information if parsing fails
+ -new use an experimental method (GF 2.0; sometimes very good)
flags:
-cat parse in this category
-lang parse in this grammar
-lexer filter input through this lexer
-parser use this context-free parsing method
-number return this many results at most
+ examples:
+ p -cat=S -new "jag är gammal" -- print an S with the new method
tt, test_tokenizer: tt String
Show the token list sent to the parser when String is parsed.
HINT: can be useful when debugging the parser.
flags:
-lexer use this lexer
+ examples:
+ tt -lexer=codelit "2*(x + 3)" -- a favourite lexer for program code
cc, compute_concrete: cc Term
Compute a term by concrete syntax definitions. Uses the topmost
@@ -144,6 +163,8 @@ cc, compute_concrete: cc Term
and hence not a valid input to a Tree-demanding command.
flags:
-res use another module than the topmost one
+ examples:
+ cc -res=ParadigmsFin (nLukko "hyppy") -- inflect "hyppy" with nLukko
so, show_operations: so Type
Show oper operations with the given value type. Uses the topmost
@@ -155,6 +176,8 @@ so, show_operations: so Type
topmost resource. In that case, use appropriate qualified name.
flags:
-res use another module than the topmost one
+ examples:
+ so -res=ParadigmsFin ResourceFin.N -- show N-paradigms in ParadigmsFin
t, translate: t Lang Lang String
Parses String in Lang1 and linearizes the resulting Trees in Lang2.
@@ -162,6 +185,8 @@ t, translate: t Lang Lang String
-cat
-lexer
-parser
+ examples:
+ t Eng Swe -cat=S "every number is even or odd"
gr, generate_random: gr Tree?
Generates a random Tree of a given category. If a Tree
@@ -172,6 +197,10 @@ gr, generate_random: gr Tree?
-lang use the abstract syntax of this grammar
-number generate this number of trees (not impl. with Tree argument)
-depth use this number of search steps at most
+ examples:
+ gr -cat=Query -- generate in category Query
+ gr (PredVP ? (NegVG ?)) -- generate a random tree of this form
+ gr -cat=S -tr | l -- gererate and linearize
gt, generate_trees: gt Tree?
Generates all trees up to a given depth. If the depth is large,
@@ -186,6 +215,10 @@ gt, generate_trees: gt Tree?
-cat generate in this category
-lang use the abstract syntax of this grammar
-number generate (at most) this number of trees
+ examples:
+ gt -depth=10 -cat=NP -- generate all NP's to depth 10
+ gt (PredVP ? (NegVG ?)) -- generate all trees of this form
+ gt -cat=S -tr | l -- gererate and linearize
ma, morphologically_analyse: ma String
Runs morphological analysis on each word in String and displays
@@ -194,6 +227,8 @@ ma, morphologically_analyse: ma String
-short show analyses in bracketed words, instead of separate lines
flags:
-lang
+ examples:
+ wf Bible.txt | ma -short | wf Bible.tagged -- analyse the Bible
-- elementary generation of Strings and Trees
@@ -205,6 +240,8 @@ ps, put_string: ps String
flags:
-filter filter the result through this string processor
-length cut the string after this number of characters
+ examples:
+ gr -cat=Letter | l | ps -filter=text -- random letter as text
pt, put_tree: pt Tree
Returns its argument Tree, like a specialized Unix echo.
@@ -213,6 +250,9 @@ pt, put_tree: pt Tree
flags:
-transform transform the result by this term processor
-number generate this number of terms at most
+ examples:
+ p "zero is even" | pt -transform=solve -- solve ?'s in parse result
+
* st, show_tree: st Tree
Prints the tree as a string. Unlike pt, this command cannot be
@@ -230,14 +270,17 @@ es, editing_session: es
-f Fudget GUI (necessary for Unicode; only available in X Window System)
ts, translation_session: ts
- Translates input lines from any of the actual languages to any other one.
+ Translates input lines from any of the actual languages to all other ones.
To exit, type a full stop (.) alone on a line.
N.B. Exit from a Fudget session is to the Unix shell, not to GF.
HINT: Set -parser and -lexer locally in each grammar.
options:
- -f Fudget GUI (necessary for Unicode; only available in X Window System)
+ -f Fudget GUI (necessary for Unicode; only available in X Windows)
+ -lang prepend translation results with language names
flags:
- -cat
+ -cat the parser category
+ examples:
+ ts -cat=Numeral -lang -- translate numerals, show language names
tq, translation_quiz: tq Lang Lang
Random-generates translation exercises from Lang1 to Lang2,
@@ -246,12 +289,16 @@ tq, translation_quiz: tq Lang Lang
HINT: Set -parser and -lexer locally in each grammar.
flags:
-cat
+ examples:
+ tq -cat=NP TestResourceEng TestResourceSwe -- quiz for NPs
tl, translation_list: tl Lang Lang Int
Random-generates a list of Int translation exercises from Lang1 to Lang2.
HINT: use wf to save the exercises in a file.
flags:
-cat
+ examples:
+ tl -cat=NP TestResourceEng TestResourceSwe -- quiz list for NPs
mq, morphology_quiz: mq
Random-generates morphological exercises,
@@ -262,6 +309,8 @@ mq, morphology_quiz: mq
flags:
-cat
-lang
+ examples:
+ mq -cat=N -lang=TestResourceSwe -- quiz for Swedish nouns
ml, morphology_list: ml Int
Random-generates a list of Int morphological exercises,
@@ -270,12 +319,14 @@ ml, morphology_list: ml Int
flags:
-cat
-lang
+ examples:
+ ml -cat=N -lang=TestResourceSwe -- quiz list for Swedish nouns
-- IO related commands
rf, read_file: rf File
- Returns the contents of File as a String; error is File does not exist.
+ Returns the contents of File as a String; error if File does not exist.
wf, write_file: wf File String
Writes String into File; File is created if it does not exist.
@@ -307,18 +358,19 @@ af, append_file: af File
HINT: pipe with 'wf Foo.tex' to generate a new Latex file.
sa, speak_aloud: sa String
- Uses the Festival speech generator to produce speech for String.
- The command cupports Festival's language flag, which is sent verbatim
- to Festival, e.g. -language=spanish. Omitting this flag gives the
- system-dependent default voice (often British English).
- flags:
- -language
+ Uses the Flite speech generator to produce speech for String.
+ Works for American English spelling.
+ examples:
+ h | sa -- listen to the list of commands
+ gr -cat=S | l | sa -- generate a random sentence and speak it aloud
h, help: h Command?
Displays the paragraph concerning the command from this help file.
Without the argument, shows the first lines of all paragraphs.
options
-all show the whole help file
+ examples:
+ h print_grammar -- show all information on the pg command
q, quit: q
Exits GF.
@@ -326,36 +378,36 @@ q, quit: q
!, system_command: ! String
Issues a system command. No value is returned to GF.
-
+ example:
+ ! ls
-- Flags. The availability of flags is defined separately for each command.
--cat: category in which parsing is performed.
+-cat, category in which parsing is performed.
The default is S.
--depth: the search depth in e.g. random generation.
+-depth, the search depth in e.g. random generation.
The default depends on application.
--filter: operation performed on a string. The default is identity.
+-filter, operation performed on a string. The default is identity.
-filter=identity no change
-filter=erase erase the text
-filter=take100 show the first 100 characters
-filter=length show the length of the string
-filter=text format as text (punctuation, capitalization)
-filter=code format as code (spacing, indentation)
- -filter=latexfile embed in a LaTeX file
--lang: grammar used when executing a grammar-dependent command.
+-lang, grammar used when executing a grammar-dependent command.
The default is the last-imported grammar.
--language: voice used by Festival as its --language flag in the sa command.
+-language, voice used by Festival as its --language flag in the sa command.
The default is system-dependent.
--length: the maximum number of characters shown of a string.
+-length, the maximum number of characters shown of a string.
The default is unlimited.
--lexer: tokenization transforming a string into lexical units for a parser.
+-lexer, tokenization transforming a string into lexical units for a parser.
The default is words.
-lexer=words tokens are separated by spaces or newlines
-lexer=literals like words, but GF integer and string literals recognized
@@ -367,14 +419,14 @@ q, quit: q
-lexer=textlit like text, but treat unknown words as string literals
-lexer=codeC use a C-like lexer
--number: the maximum number of generated items in a list.
+-number, the maximum number of generated items in a list.
The default is unlimited.
--parser: Context-free parsing algorithm. The default is chart.
+-parser, Context-free parsing algorithm. The default is chart.
-parser=earley Earley algorithm
-parser=chart bottom-up chart parser
--printer: format in which the grammar is printed. The default is gfc.
+-printer, format in which the grammar is printed. The default is gfc.
-printer=gfc GFC grammar
-printer=gf GF grammar
-printer=old old GF grammar
@@ -388,9 +440,9 @@ q, quit: q
*-printer=xml XML: DTD for the pg command, object for st
-printer=old old GF: file readable by GF 1.2
--startcat: like -cat, but used in grammars (to avoid clash with keyword cat)
+-startcat, like -cat, but used in grammars (to avoid clash with keyword cat)
--transform: transformation performed on a syntax tree. The default is identity.
+-transform, transformation performed on a syntax tree. The default is identity.
-transform=identity no change
-transform=compute compute by using definitions in the grammar
-transform=typecheck return the term only if it is type-correct
@@ -398,7 +450,7 @@ q, quit: q
-transform=context solve metavariables by unique refinements as variables
-transform=delete replace the term by metavariable
--unlexer: untokenization transforming linearization output into a string.
+-unlexer, untokenization transforming linearization output into a string.
The default is unwords.
-unlexer=unwords space-separated token list (like unwords)
-unlexer=text format as text: punctuation, capitals, paragraph <p>
diff --git a/src/HelpFile.hs b/src/HelpFile.hs
index d397977e1..4b18a67b4 100644
--- a/src/HelpFile.hs
+++ b/src/HelpFile.hs
@@ -48,6 +48,10 @@ txtHelpFile =
"\n -abs set the name used for abstract syntax (with -old option)" ++
"\n -cnc set the name used for concrete syntax (with -old option)" ++
"\n -res set the name used for resource (with -old option)" ++
+ "\n -path use the (colon-separated) search path to find modules" ++
+ "\n examples:" ++
+ "\n i English.gf -- ordinary import of Concrete" ++
+ "\n i -retain german/ParadigmsGer.gf -- import of Resource to test" ++
"\n " ++
"\n* rl, remove_language: rl Language" ++
"\n Takes away the language from the state." ++
@@ -55,9 +59,12 @@ txtHelpFile =
"\ne, empty: e" ++
"\n Takes away all languages and resets all global flags." ++
"\n" ++
- "\nsf, set_flags: sf Language? Flag*" ++
+ "\nsf, set_flags: sf Flag*" ++
"\n The values of the Flags are set for Language. If no language" ++
"\n is specified, the flags are set globally." ++
+ "\n examples:" ++
+ "\n sf -nocpu -- stop showing CPU time" ++
+ "\n sf -lang=Swe -- make Swe the default concrete" ++
"\n" ++
"\ns, strip: s" ++
"\n Prune the state by removing source and resource modules." ++
@@ -78,10 +85,14 @@ txtHelpFile =
"\n flags: " ++
"\n -printer" ++
"\n -lang" ++
+ "\n examples:" ++
+ "\n pg -printer=cf -- show the context-free skeleton" ++
"\n" ++
"\npm, print_multigrammar: pm" ++
- "\n Prints the current multilingual grammar into a .gfcm file." ++
+ "\n Prints the current multilingual grammar in .gfcm form." ++
"\n (Automatically executes the strip command (s) before doing this.)" ++
+ "\n examples:" ++
+ "\n pm | wf Letter.gfcm -- print the grammar into the file Letter.gfcm" ++
"\n" ++
"\npo, print_options: po" ++
"\n Print what modules there are in the state. Also" ++
@@ -101,8 +112,8 @@ txtHelpFile =
"\nph, print_history; ph" ++
"\n Prints the commands issued during the GF session." ++
"\n The result is readable by the eh command." ++
- "\n HINT: write \"ph | wf foo.hist\" to save the history." ++
- "\n" ++
+ "\n examples:" ++
+ "\n ph | wf foo.hist\" -- save the history into a file" ++
"\n" ++
"\n-- linearization, parsing, translation, and computation" ++
"\n" ++
@@ -119,10 +130,13 @@ txtHelpFile =
"\n -table show parameters" ++
"\n -struct bracketed form" ++
"\n -record record, i.e. explicit GF concrete syntax term" ++
+ "\n -all show all forms and variants" ++
"\n flags:" ++
"\n -lang linearize in this grammar" ++
"\n -number give this number of forms at most" ++
"\n -unlexer filter output through unlexer" ++
+ "\n examples:" ++
+ "\n l -lang=Swe -table -- show full inflection table in Swe" ++
"\n" ++
"\np, parse: p String" ++
"\n Shows all Trees returned for String by the actual" ++
@@ -133,18 +147,23 @@ txtHelpFile =
"\n -ign ignore unknown words when parsing" ++
"\n -raw return context-free terms in raw form" ++
"\n -v verbose: give more information if parsing fails" ++
+ "\n -new use an experimental method (GF 2.0; sometimes very good)" ++
"\n flags:" ++
"\n -cat parse in this category" ++
"\n -lang parse in this grammar" ++
"\n -lexer filter input through this lexer" ++
"\n -parser use this context-free parsing method" ++
"\n -number return this many results at most" ++
+ "\n examples:" ++
+ "\n p -cat=S -new \"jag är gammal\" -- print an S with the new method" ++
"\n" ++
"\ntt, test_tokenizer: tt String" ++
"\n Show the token list sent to the parser when String is parsed." ++
"\n HINT: can be useful when debugging the parser." ++
"\n flags: " ++
"\n -lexer use this lexer" ++
+ "\n examples:" ++
+ "\n tt -lexer=codelit \"2*(x + 3)\" -- a favourite lexer for program code" ++
"\n" ++
"\ncc, compute_concrete: cc Term" ++
"\n Compute a term by concrete syntax definitions. Uses the topmost" ++
@@ -157,6 +176,8 @@ txtHelpFile =
"\n and hence not a valid input to a Tree-demanding command." ++
"\n flags:" ++
"\n -res use another module than the topmost one" ++
+ "\n examples:" ++
+ "\n cc -res=ParadigmsFin (nLukko \"hyppy\") -- inflect \"hyppy\" with nLukko" ++
"\n" ++
"\nso, show_operations: so Type" ++
"\n Show oper operations with the given value type. Uses the topmost " ++
@@ -168,6 +189,8 @@ txtHelpFile =
"\n topmost resource. In that case, use appropriate qualified name." ++
"\n flags:" ++
"\n -res use another module than the topmost one" ++
+ "\n examples:" ++
+ "\n so -res=ParadigmsFin ResourceFin.N -- show N-paradigms in ParadigmsFin" ++
"\n" ++
"\nt, translate: t Lang Lang String" ++
"\n Parses String in Lang1 and linearizes the resulting Trees in Lang2." ++
@@ -175,6 +198,8 @@ txtHelpFile =
"\n -cat" ++
"\n -lexer" ++
"\n -parser" ++
+ "\n examples:" ++
+ "\n t Eng Swe -cat=S \"every number is even or odd\"" ++
"\n" ++
"\ngr, generate_random: gr Tree?" ++
"\n Generates a random Tree of a given category. If a Tree" ++
@@ -185,6 +210,10 @@ txtHelpFile =
"\n -lang use the abstract syntax of this grammar" ++
"\n -number generate this number of trees (not impl. with Tree argument)" ++
"\n -depth use this number of search steps at most" ++
+ "\n examples:" ++
+ "\n gr -cat=Query -- generate in category Query" ++
+ "\n gr (PredVP ? (NegVG ?)) -- generate a random tree of this form" ++
+ "\n gr -cat=S -tr | l -- gererate and linearize" ++
"\n" ++
"\ngt, generate_trees: gt Tree?" ++
"\n Generates all trees up to a given depth. If the depth is large," ++
@@ -199,6 +228,10 @@ txtHelpFile =
"\n -cat generate in this category" ++
"\n -lang use the abstract syntax of this grammar" ++
"\n -number generate (at most) this number of trees" ++
+ "\n examples:" ++
+ "\n gt -depth=10 -cat=NP -- generate all NP's to depth 10 " ++
+ "\n gt (PredVP ? (NegVG ?)) -- generate all trees of this form" ++
+ "\n gt -cat=S -tr | l -- gererate and linearize" ++
"\n" ++
"\nma, morphologically_analyse: ma String" ++
"\n Runs morphological analysis on each word in String and displays" ++
@@ -207,6 +240,8 @@ txtHelpFile =
"\n -short show analyses in bracketed words, instead of separate lines" ++
"\n flags:" ++
"\n -lang" ++
+ "\n examples:" ++
+ "\n wf Bible.txt | ma -short | wf Bible.tagged -- analyse the Bible" ++
"\n" ++
"\n" ++
"\n-- elementary generation of Strings and Trees" ++
@@ -218,6 +253,8 @@ txtHelpFile =
"\n flags:" ++
"\n -filter filter the result through this string processor " ++
"\n -length cut the string after this number of characters" ++
+ "\n examples:" ++
+ "\n gr -cat=Letter | l | ps -filter=text -- random letter as text" ++
"\n" ++
"\npt, put_tree: pt Tree" ++
"\n Returns its argument Tree, like a specialized Unix echo." ++
@@ -226,6 +263,9 @@ txtHelpFile =
"\n flags:" ++
"\n -transform transform the result by this term processor" ++
"\n -number generate this number of terms at most" ++
+ "\n examples:" ++
+ "\n p \"zero is even\" | pt -transform=solve -- solve ?'s in parse result" ++
+ "\n" ++
"\n" ++
"\n* st, show_tree: st Tree" ++
"\n Prints the tree as a string. Unlike pt, this command cannot be" ++
@@ -243,14 +283,17 @@ txtHelpFile =
"\n -f Fudget GUI (necessary for Unicode; only available in X Window System)" ++
"\n" ++
"\nts, translation_session: ts" ++
- "\n Translates input lines from any of the actual languages to any other one." ++
+ "\n Translates input lines from any of the actual languages to all other ones." ++
"\n To exit, type a full stop (.) alone on a line." ++
"\n N.B. Exit from a Fudget session is to the Unix shell, not to GF. " ++
"\n HINT: Set -parser and -lexer locally in each grammar." ++
"\n options:" ++
- "\n -f Fudget GUI (necessary for Unicode; only available in X Window System)" ++
+ "\n -f Fudget GUI (necessary for Unicode; only available in X Windows)" ++
+ "\n -lang prepend translation results with language names" ++
"\n flags:" ++
- "\n -cat" ++
+ "\n -cat the parser category" ++
+ "\n examples:" ++
+ "\n ts -cat=Numeral -lang -- translate numerals, show language names" ++
"\n" ++
"\ntq, translation_quiz: tq Lang Lang" ++
"\n Random-generates translation exercises from Lang1 to Lang2," ++
@@ -259,12 +302,16 @@ txtHelpFile =
"\n HINT: Set -parser and -lexer locally in each grammar." ++
"\n flags:" ++
"\n -cat" ++
+ "\n examples:" ++
+ "\n tq -cat=NP TestResourceEng TestResourceSwe -- quiz for NPs" ++
"\n" ++
"\ntl, translation_list: tl Lang Lang Int" ++
"\n Random-generates a list of Int translation exercises from Lang1 to Lang2." ++
"\n HINT: use wf to save the exercises in a file." ++
"\n flags:" ++
"\n -cat" ++
+ "\n examples:" ++
+ "\n tl -cat=NP TestResourceEng TestResourceSwe -- quiz list for NPs" ++
"\n" ++
"\nmq, morphology_quiz: mq" ++
"\n Random-generates morphological exercises," ++
@@ -275,6 +322,8 @@ txtHelpFile =
"\n flags:" ++
"\n -cat" ++
"\n -lang" ++
+ "\n examples:" ++
+ "\n mq -cat=N -lang=TestResourceSwe -- quiz for Swedish nouns" ++
"\n" ++
"\nml, morphology_list: ml Int" ++
"\n Random-generates a list of Int morphological exercises," ++
@@ -283,12 +332,14 @@ txtHelpFile =
"\n flags:" ++
"\n -cat" ++
"\n -lang" ++
+ "\n examples:" ++
+ "\n ml -cat=N -lang=TestResourceSwe -- quiz list for Swedish nouns" ++
"\n" ++
"\n" ++
"\n-- IO related commands" ++
"\n" ++
"\nrf, read_file: rf File" ++
- "\n Returns the contents of File as a String; error is File does not exist." ++
+ "\n Returns the contents of File as a String; error if File does not exist." ++
"\n" ++
"\nwf, write_file: wf File String" ++
"\n Writes String into File; File is created if it does not exist." ++
@@ -320,18 +371,19 @@ txtHelpFile =
"\n HINT: pipe with 'wf Foo.tex' to generate a new Latex file." ++
"\n" ++
"\nsa, speak_aloud: sa String" ++
- "\n Uses the Festival speech generator to produce speech for String." ++
- "\n The command cupports Festival's language flag, which is sent verbatim" ++
- "\n to Festival, e.g. -language=spanish. Omitting this flag gives the " ++
- "\n system-dependent default voice (often British English)." ++
- "\n flags:" ++
- "\n -language" ++
+ "\n Uses the Flite speech generator to produce speech for String." ++
+ "\n Works for American English spelling. " ++
+ "\n examples:" ++
+ "\n h | sa -- listen to the list of commands" ++
+ "\n gr -cat=S | l | sa -- generate a random sentence and speak it aloud" ++
"\n" ++
"\nh, help: h Command?" ++
"\n Displays the paragraph concerning the command from this help file." ++
"\n Without the argument, shows the first lines of all paragraphs." ++
"\n options" ++
"\n -all show the whole help file" ++
+ "\n examples:" ++
+ "\n h print_grammar -- show all information on the pg command" ++
"\n" ++
"\nq, quit: q" ++
"\n Exits GF." ++
@@ -339,36 +391,36 @@ txtHelpFile =
"\n" ++
"\n!, system_command: ! String" ++
"\n Issues a system command. No value is returned to GF." ++
- "\n" ++
+ "\n example:" ++
+ "\n ! ls" ++
"\n" ++
"\n" ++
"\n-- Flags. The availability of flags is defined separately for each command." ++
"\n" ++
- "\n-cat: category in which parsing is performed." ++
+ "\n-cat, category in which parsing is performed." ++
"\n The default is S." ++
"\n" ++
- "\n-depth: the search depth in e.g. random generation." ++
+ "\n-depth, the search depth in e.g. random generation." ++
"\n The default depends on application." ++
"\n" ++
- "\n-filter: operation performed on a string. The default is identity." ++
+ "\n-filter, operation performed on a string. The default is identity." ++
"\n -filter=identity no change" ++
"\n -filter=erase erase the text" ++
"\n -filter=take100 show the first 100 characters" ++
"\n -filter=length show the length of the string" ++
"\n -filter=text format as text (punctuation, capitalization)" ++
"\n -filter=code format as code (spacing, indentation)" ++
- "\n -filter=latexfile embed in a LaTeX file " ++
"\n" ++
- "\n-lang: grammar used when executing a grammar-dependent command." ++
+ "\n-lang, grammar used when executing a grammar-dependent command." ++
"\n The default is the last-imported grammar." ++
"\n" ++
- "\n-language: voice used by Festival as its --language flag in the sa command. " ++
+ "\n-language, voice used by Festival as its --language flag in the sa command. " ++
"\n The default is system-dependent. " ++
"\n" ++
- "\n-length: the maximum number of characters shown of a string. " ++
+ "\n-length, the maximum number of characters shown of a string. " ++
"\n The default is unlimited." ++
"\n" ++
- "\n-lexer: tokenization transforming a string into lexical units for a parser." ++
+ "\n-lexer, tokenization transforming a string into lexical units for a parser." ++
"\n The default is words." ++
"\n -lexer=words tokens are separated by spaces or newlines" ++
"\n -lexer=literals like words, but GF integer and string literals recognized" ++
@@ -380,14 +432,14 @@ txtHelpFile =
"\n -lexer=textlit like text, but treat unknown words as string literals" ++
"\n -lexer=codeC use a C-like lexer" ++
"\n" ++
- "\n-number: the maximum number of generated items in a list. " ++
+ "\n-number, the maximum number of generated items in a list. " ++
"\n The default is unlimited." ++
"\n" ++
- "\n-parser: Context-free parsing algorithm. The default is chart." ++
+ "\n-parser, Context-free parsing algorithm. The default is chart." ++
"\n -parser=earley Earley algorithm" ++
"\n -parser=chart bottom-up chart parser" ++
"\n" ++
- "\n-printer: format in which the grammar is printed. The default is gfc." ++
+ "\n-printer, format in which the grammar is printed. The default is gfc." ++
"\n -printer=gfc GFC grammar" ++
"\n -printer=gf GF grammar" ++
"\n -printer=old old GF grammar" ++
@@ -401,9 +453,9 @@ txtHelpFile =
"\n *-printer=xml XML: DTD for the pg command, object for st" ++
"\n -printer=old old GF: file readable by GF 1.2" ++
"\n" ++
- "\n-startcat: like -cat, but used in grammars (to avoid clash with keyword cat)" ++
+ "\n-startcat, like -cat, but used in grammars (to avoid clash with keyword cat)" ++
"\n" ++
- "\n-transform: transformation performed on a syntax tree. The default is identity." ++
+ "\n-transform, transformation performed on a syntax tree. The default is identity." ++
"\n -transform=identity no change" ++
"\n -transform=compute compute by using definitions in the grammar" ++
"\n -transform=typecheck return the term only if it is type-correct" ++
@@ -411,7 +463,7 @@ txtHelpFile =
"\n -transform=context solve metavariables by unique refinements as variables" ++
"\n -transform=delete replace the term by metavariable" ++
"\n" ++
- "\n-unlexer: untokenization transforming linearization output into a string." ++
+ "\n-unlexer, untokenization transforming linearization output into a string." ++
"\n The default is unwords." ++
"\n -unlexer=unwords space-separated token list (like unwords)" ++
"\n -unlexer=text format as text: punctuation, capitals, paragraph <p>" ++