diff --git a/grammars/database/RestaurantSwe.gf b/grammars/database/RestaurantSwe.gf index bb7f9d891..ab19d00a6 100644 --- a/grammars/database/RestaurantSwe.gf +++ b/grammars/database/RestaurantSwe.gf @@ -27,6 +27,6 @@ lin LucasCarton = pnReg ["Lucas-Carton"] neutrum nonmasculine ; --- - LaCoupole = pnReg ["La-Coupole"] neutrum nonmasculine ; - BurgerKing = pnS ["Burger King"] neutrum nonmasculine ; + BurgerKing = pnS (variants {["Burger King"] ; "BK"}) neutrum nonmasculine ; } diff --git a/lib/resource-0.6/german/MorphoGer.gf b/lib/resource-0.6/german/MorphoGer.gf index c96416abb..7ffc59524 100644 --- a/lib/resource-0.6/german/MorphoGer.gf +++ b/lib/resource-0.6/german/MorphoGer.gf @@ -336,6 +336,21 @@ oper VPart a => gewesen ! a } ; +-- auxiliary verbs + verbumAux : (_,_,_,_ : Str) -> Verbum = \konnen,kann,kannst,gekonnt -> + let gekonn = (adjReg gekonnt).s in + table { + VInf => konnen ; + VInd Sg P1 => kann ; + VInd Sg P2 => kannst ; + VInd Sg P3 => kann ; + VInd Pl P2 => konnen ; + VInd Pl _ => konnen ; + VImp Sg => nonExist ; + VImp Pl => nonExist ; + VPart a => gekonn ! a + } ; + -- The verb "have": verbumHaben : Verbum = let { diff --git a/lib/resource-0.6/german/StructuralGer.gf b/lib/resource-0.6/german/StructuralGer.gf index a0d1d10fe..86d9161b3 100644 --- a/lib/resource-0.6/german/StructuralGer.gf +++ b/lib/resource-0.6/german/StructuralGer.gf @@ -92,13 +92,13 @@ lin CanVV = - mkVerbSimple (verbSehen "können" "kann" "gekonnt") ** {isAux = True} ; --- + mkVerbSimple (verbumAux "können" "kann" "kannst" "gekonnt") ** {isAux = True} ; CanKnowVV = - mkVerbSimple (verbSehen "können" "kann" "gekonnt") ** {isAux = True} ; --- + mkVerbSimple (verbumAux "können" "kann" "kannst" "gekonnt") ** {isAux = True} ; MustVV = - mkVerbSimple (verbSehen "müssen" "muss" "gemusst") ** {isAux = True} ; --- + mkVerbSimple (verbumAux "müssen" "muss" "musst" "gemusst") ** {isAux = True} ; WantVV = - mkVerbSimple (verbSehen "wollen" "will" "gewollt") ** {isAux = True} ; --- + mkVerbSimple (verbumAux "wollen" "will" "willst" "gewollt") ** {isAux = True} ; EverywhereNP = ss "überall" ; 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 "" - 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 "" 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

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

" ++