diff --git a/.gitignore b/.gitignore index 97875e85a..fed3570b0 100644 --- a/.gitignore +++ b/.gitignore @@ -43,3 +43,19 @@ src/runtime/python/build/ cabal.sandbox.config .stack-work DATA_DIR + +# Generated documentation (not exhaustive) +demos/index-numbers.html +demos/resourcegrammars.html +demos/translation.html +doc/tutorial/gf-tutorial.html +doc/gf-bibliography.html +doc/gf-developers.html +doc/gf-editor-modes.html +doc/gf-people.html +doc/gf-reference.html +doc/gf-shell-reference.html +doc/icfp-2012.html +download/*.html +gf-book/index.html +src/www/gf-web-api.html diff --git a/Makefile b/Makefile index e5a1f2fb3..80ecff061 100644 --- a/Makefile +++ b/Makefile @@ -20,6 +20,7 @@ doc: clean: cabal clean + bash bin/clean_html gf: cabal build rgl-none diff --git a/bin/_template.html b/bin/_template.html new file mode 100644 index 000000000..9e966857a --- /dev/null +++ b/bin/_template.html @@ -0,0 +1,132 @@ + + + + + +$for(author-meta)$ + +$endfor$ +$if(date-meta)$ + +$endif$ +$if(keywords)$ + +$endif$ + $if(title-prefix)$$title-prefix$ – $endif$$pagetitle$ +$for(css)$ + +$endfor$ + + +$if(math)$ + $math$ +$endif$ + +$for(header-includes)$ + $header-includes$ +$endfor$ + + +
+ +$if(title)$ +
+ + GF Logo + +

$title$

+$if(subtitle)$ +

$subtitle$

+$endif$ +$for(author)$ +

$author$

+$endfor$ +$if(date)$ +

$date$

+$endif$ +
+$endif$ +$if(toc)$ + +$endif$ +$body$ +
+ + + + + + + diff --git a/bin/clean_html b/bin/clean_html new file mode 100755 index 000000000..e2bf0e799 --- /dev/null +++ b/bin/clean_html @@ -0,0 +1,8 @@ +#!/bin/bash + +### This script finds all .t2t (txt2tags) files and deletes the corresponding html file + +find . -name '*.t2t' | while read t2t ; do + html="${t2t%.t2t}.html" + rm -f "$html" +done diff --git a/bin/update_html b/bin/update_html index 75f54b13e..ec82ec491 100755 --- a/bin/update_html +++ b/bin/update_html @@ -1,11 +1,114 @@ #!/bin/bash -### This script finds all .t2t (txt2tags) files and updates the corresponding -### .html file, if it is out-of-date. +# Path to directory where this script is +# https://stackoverflow.com/a/246128/98600 +DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null && pwd )" -find . -name '*.t2t' | while read t2t ; do - html="${t2t%.t2t}.html" - if [ "$t2t" -nt "$html" ] ; then - txt2tags -thtml "$t2t" +# Render txt2tags into html file +# Arguments: +# 1. txt2tags source file, e.g. download/index.t2t +# 2. html target file, e.g. download/index.html +function render_t2t_html { + t2t="$1" + html="$2" + tmp="$2.tmp" + relroot="$( dirname $t2t | sed -E 's/^.\///' | sed -E 's/[^/]+/../g' )" + + # First render with txt2tags to handle pre/post processing + txt2tags \ + --target=html \ + --no-headers \ + --quiet \ + --outfile="$tmp" \ + --infile="$t2t" + + # Capture first 3 lines of t2t file: title, author, date + # Documentation here: https://txt2tags.org/userguide/headerarea + l1=$(head -n 1 "$t2t") + l2=$(tail -n+2 "$t2t" | head -n 1) + l3=$(tail -n+3 "$t2t" | head -n 1) + title= + author= + date= + if [ -n "$l1" ] ; then + title="$l1" + if [ -n "$l2" ] ; then author="$l2" ; fi + if [ -n "$l3" ] ; then date="$l3" ; fi fi -done \ No newline at end of file + + # Run txt2tag's HTML through Pandoc for cleanup + pandoc \ + --from=html \ + --to=html5 \ + --standalone \ + --template="$DIR/_template.html" \ + --variable="rel-root:$relroot" \ + --metadata="title:$title" \ + --metadata="author:$author" \ + --metadata="date:$date" \ + "$tmp" \ + --output="$html" + rm -f "$tmp" + + # Final post-processing + if [ -f "$html" ] ; then + sed -i.bak "s/final-resource.tex - sed -i 's/\\docum/%\\docum/g' resource.tex - sed -i 's/ion\*{/ion{/g' resource.tex - sed -i 's/\\paragraph{}//g' resource.tex - sed -i 's/}\\\\/}/g' resource.tex - cat resource-preamble resource.tex >resource.tmp - mv resource.tmp resource.tex - latex resource.tex - latex resource.tex - dvipdf resource.dvi - gf-help-full.txt:: { echo ; echo ; echo ; } > $@ echo help -full -t2t | gf -run >> $@ diff --git a/doc/gf-developers.t2t b/doc/gf-developers.t2t index dbc7fe960..f90feb115 100644 --- a/doc/gf-developers.t2t +++ b/doc/gf-developers.t2t @@ -1,16 +1,8 @@ GF Developers Guide -Authors: Björn Bringert, Krasimir Angelov and Thomas Hallgren -Last update: %%mtime(%F, %H:%M) -% NOTE: this is a txt2tags file. -% Create an html file from this file using: -% txt2tags -t html gf-developers.t2t +2018-07-26 -%!style:../css/style.css -%!target:html %!options(html): --toc -%!encoding:utf-8 -%!postproc(html):

== Before you start == @@ -63,18 +55,6 @@ Other required tools included in the Haskell Platform are and [Happy http://www.haskell.org/happy/]. -%=== Darcs === -% -%To get the GF source code, you also need //Darcs//, version 2 or later. -%Darcs 2.10 is recommended (July 2015). -% -%//Darcs// -%is a distributed version control system, see http://darcs.net/ for -%more information. There are precompiled packages for many platforms -%available and source code if you want to compile it yourself. Darcs -%is also written in Haskell and so you can use GHC to compile it. - - === Git === To get the GF source code, you also need //Git//. diff --git a/doc/gf-faq.t2t b/doc/gf-faq.t2t deleted file mode 100644 index 016511cf0..000000000 --- a/doc/gf-faq.t2t +++ /dev/null @@ -1,91 +0,0 @@ -Grammatical Framework: Frequently Asked Quuestions -Aarne Ranta -%%date(%c) - -% NOTE: this is a txt2tags file. -% Create an html file from this file using: -% txt2tags gf-bibliography.t2t - -%!style:../css/style.css -%!target:html -%!options(html): --toc -%!postproc(html): <meta name = "viewport" content = "width = device-width"><TITLE> -%!postproc(html): #BR <br> -%!encoding:utf-8 -%!postproc(html): <H1> <H1><a href="../"><IMG src="../doc/Logos/gf0.png"></a> - - -===What has been done with GF?=== - -**Translation**: systems with any number of parallel languages, with input in one language and output in all the others. - -**Natural language generation** (NLG): translation from a formal language to natural languages. - -**Ontology verbalization** is a special case of NLG. - -**Language training**: grammar and vocabulary training systems. - -**Human-computer interaction**: natural language interfaces, spoken dialogue systems. - -**Linguistics**: comparisons between languages. - - - -===What parts does GF have?=== - -A **grammar compiler**, used for compiling grammars to parsing, generation, and translation code. - -A **run-time system**, used for parsing, generation and translation. The run-time system is available in several languages: -Haskell, Java, C, C++, Javascript, and Python. The point with this is that you can include GF-based parsing and generation in -larger programs written in any of these languages. - -A **resource grammar library**, containing the morphology and basic syntax of currently 26 languages. - -A **web application toolkit**, containing server-side (Haskell) and client-side (Javascript) libraries. - -An **integrated development environment**, the GF-Eclipse plug-in. - -A **shell**, i.e. a command interpreter for testing and developing GF grammars. This is the program started by the command ``gf`` in a terminal. - - - -===Is GF open-source?=== - - -===Can I use GF for commercial applications?=== - -Yes. Those parts of GF that you will need to distribute - the run-time system and the libraries - are licensed under LGPL and BSD; it's up to you to choose which. - - - -===When was GF started?=== - - -===Where does the name GF come from?=== - -GF = Grammatical Framework = LF + concrete syntax - -LF = Logical Framework - -Logical Frameworks are implementations of type theory, which have been built since the 1980's to support formalized mathematics. GF has its roots in -type theory, which is widely used in the semantics of natural language. Some of these ideas were first implemented in ALF, Another Logical Framework, -in 1992; the book //Type-Theoretical Grammar// (by A. Ranta, OUP 1994) has a chapter and an appendix on this. The first implementations did not have -a parser, and GF proper, started in 1998, was an implementation of yet another LF together with concrete syntax supporting generation and parsing. -Grammatical Framework was a natural name for this. We tried to avoid it in the beginning, because it sounded pretentious in its generality. But the -name was just too natural to be avoided. - - - -===Is GF backward compatible?=== - - - -===Do I need Haskell to use GF?=== - -No. GF is a language of its own, and you don't need to know Haskell. And if you download the GF binary, you don't need any Haskell tools. But if you want to -become a GF developer, then it's better you install GF from the latest source, and then you need the GHC Haskell compiler to compile GF. But even then, you -don't need to know Haskell yourself. - - -===What is a lock field?=== - diff --git a/doc/gf-help-full.txt b/doc/gf-help-full.txt index c10e60494..1b9c31705 100644 --- a/doc/gf-help-full.txt +++ b/doc/gf-help-full.txt @@ -68,9 +68,9 @@ metavariables and the type of the expression. Prints a set of strings in the .dot format (the graphviz format). The graph can be saved in a file by the wf command as usual. If the -view flag is defined, the graph is saved in a temporary file -which is processed by graphviz and displayed by the program indicated -by the flag. The target format is postscript, unless overridden by the -flag -format. +which is processed by 'dot' (graphviz) and displayed by the program indicated +by the view flag. The target format is png, unless overridden by the +flag -format. Results from multiple trees are combined to pdf with convert (ImageMagick). - Options: @@ -151,6 +151,7 @@ of a pipe. | ``-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 + | ``-trace`` | trace computations #NORMAL @@ -242,7 +243,7 @@ and thus cannot be a part of a pipe. ====e = empty==== #NOINDENT -``e`` = ``empty``: //empty the environment.// +``e`` = ``empty``: //empty the environment (except the command history).// #TINY @@ -281,6 +282,19 @@ but the resulting .gf file must be imported separately. #NORMAL +#VSPACE + +====eh = execute_history==== +#NOINDENT +``eh`` = ``execute_history``: //read commands from a file and execute them.// + +#TINY + +- Syntax: ``eh FILE`` + +#NORMAL + + #VSPACE ====gr = generate_random==== @@ -434,12 +448,14 @@ sequences; see example. | ``-list`` | show all forms and variants, comma-separated on one line (cf. l -all) | ``-multi`` | linearize to all languages (default) | ``-table`` | show all forms labelled by parameters + | ``-tabtreebank`` | show the tree and its linearizations on a tab-separated line | ``-treebank`` | show the tree and tag linearizations with language names | ``-bind`` | bind tokens separated by Prelude.BIND, i.e. &+ | ``-chars`` | lexer that makes every non-space character a token | ``-from_amharic`` | from unicode to GF Amharic transliteration | ``-from_ancientgreek`` | from unicode to GF ancient Greek transliteration | ``-from_arabic`` | from unicode to GF Arabic transliteration + | ``-from_arabic_unvocalized`` | from unicode to GF unvocalized Arabic transliteration | ``-from_cp1251`` | decode from cp1251 (Cyrillic used in Bulgarian resource) | ``-from_devanagari`` | from unicode to GF Devanagari transliteration | ``-from_greek`` | from unicode to GF modern Greek transliteration @@ -453,11 +469,14 @@ sequences; see example. | ``-from_urdu`` | from unicode to GF Urdu transliteration | ``-from_utf8`` | decode from utf8 (default) | ``-lexcode`` | code-like lexer + | ``-lexgreek`` | lexer normalizing ancient Greek accentuation + | ``-lexgreek2`` | lexer normalizing ancient Greek accentuation for text with vowel length annotations | ``-lexmixed`` | mixture of text and code, as in LaTeX (code between $...$, \(...)\, \[...\]) | ``-lextext`` | text-like lexer | ``-to_amharic`` | from GF Amharic transliteration to unicode | ``-to_ancientgreek`` | from GF ancient Greek transliteration to unicode | ``-to_arabic`` | from GF Arabic transliteration to unicode + | ``-to_arabic_unvocalized`` | from GF unvocalized Arabic transliteration to unicode | ``-to_cp1251`` | encode to cp1251 (Cyrillic used in Bulgarian resource) | ``-to_devanagari`` | from GF Devanagari transliteration to unicode | ``-to_greek`` | from GF modern Greek transliteration to unicode @@ -473,6 +492,7 @@ sequences; see example. | ``-to_utf8`` | encode to utf8 (default) | ``-unchars`` | unlexer that puts no spaces between tokens | ``-unlexcode`` | code-like unlexer + | ``-unlexgreek`` | unlexer de-normalizing ancient Greek accentuation | ``-unlexmixed`` | mixture of text and code (code between $...$, \(...)\, \[...\]) | ``-unlextext`` | text-like unlexer | ``-unwords`` | unlexer that puts a single space between tokens (default) @@ -513,6 +533,7 @@ trees where a function node is a metavariable. | ``-from_amharic`` | from unicode to GF Amharic transliteration | ``-from_ancientgreek`` | from unicode to GF ancient Greek transliteration | ``-from_arabic`` | from unicode to GF Arabic transliteration + | ``-from_arabic_unvocalized`` | from unicode to GF unvocalized Arabic transliteration | ``-from_cp1251`` | decode from cp1251 (Cyrillic used in Bulgarian resource) | ``-from_devanagari`` | from unicode to GF Devanagari transliteration | ``-from_greek`` | from unicode to GF modern Greek transliteration @@ -526,11 +547,14 @@ trees where a function node is a metavariable. | ``-from_urdu`` | from unicode to GF Urdu transliteration | ``-from_utf8`` | decode from utf8 (default) | ``-lexcode`` | code-like lexer + | ``-lexgreek`` | lexer normalizing ancient Greek accentuation + | ``-lexgreek2`` | lexer normalizing ancient Greek accentuation for text with vowel length annotations | ``-lexmixed`` | mixture of text and code, as in LaTeX (code between $...$, \(...)\, \[...\]) | ``-lextext`` | text-like lexer | ``-to_amharic`` | from GF Amharic transliteration to unicode | ``-to_ancientgreek`` | from GF ancient Greek transliteration to unicode | ``-to_arabic`` | from GF Arabic transliteration to unicode + | ``-to_arabic_unvocalized`` | from GF unvocalized Arabic transliteration to unicode | ``-to_cp1251`` | encode to cp1251 (Cyrillic used in Bulgarian resource) | ``-to_devanagari`` | from GF Devanagari transliteration to unicode | ``-to_greek`` | from GF modern Greek transliteration to unicode @@ -546,6 +570,7 @@ trees where a function node is a metavariable. | ``-to_utf8`` | encode to utf8 (default) | ``-unchars`` | unlexer that puts no spaces between tokens | ``-unlexcode`` | code-like unlexer + | ``-unlexgreek`` | unlexer de-normalizing ancient Greek accentuation | ``-unlexmixed`` | mixture of text and code (code between $...$, \(...)\, \[...\]) | ``-unlextext`` | text-like unlexer | ``-unwords`` | unlexer that puts a single space between tokens (default) @@ -666,10 +691,9 @@ command (flag -printer): fa finite automaton in graphviz format gsl Nuance speech recognition format haskell Haskell (abstract syntax) + java Java (abstract syntax) js JavaScript (whole grammar) jsgf JSGF speech recognition format - lambda_prolog LambdaProlog (abstract syntax) - lp_byte_code Bytecode for Teyjus (abstract syntax, experimental) pgf_pretty human-readable pgf prolog Prolog (whole grammar) python Python (whole grammar) @@ -753,6 +777,7 @@ To see transliteration tables, use command ut. | ``-from_amharic`` | from unicode to GF Amharic transliteration | ``-from_ancientgreek`` | from unicode to GF ancient Greek transliteration | ``-from_arabic`` | from unicode to GF Arabic transliteration + | ``-from_arabic_unvocalized`` | from unicode to GF unvocalized Arabic transliteration | ``-from_cp1251`` | decode from cp1251 (Cyrillic used in Bulgarian resource) | ``-from_devanagari`` | from unicode to GF Devanagari transliteration | ``-from_greek`` | from unicode to GF modern Greek transliteration @@ -766,11 +791,14 @@ To see transliteration tables, use command ut. | ``-from_urdu`` | from unicode to GF Urdu transliteration | ``-from_utf8`` | decode from utf8 (default) | ``-lexcode`` | code-like lexer + | ``-lexgreek`` | lexer normalizing ancient Greek accentuation + | ``-lexgreek2`` | lexer normalizing ancient Greek accentuation for text with vowel length annotations | ``-lexmixed`` | mixture of text and code, as in LaTeX (code between $...$, \(...)\, \[...\]) | ``-lextext`` | text-like lexer | ``-to_amharic`` | from GF Amharic transliteration to unicode | ``-to_ancientgreek`` | from GF ancient Greek transliteration to unicode | ``-to_arabic`` | from GF Arabic transliteration to unicode + | ``-to_arabic_unvocalized`` | from GF unvocalized Arabic transliteration to unicode | ``-to_cp1251`` | encode to cp1251 (Cyrillic used in Bulgarian resource) | ``-to_devanagari`` | from GF Devanagari transliteration to unicode | ``-to_greek`` | from GF modern Greek transliteration to unicode @@ -786,6 +814,7 @@ To see transliteration tables, use command ut. | ``-to_utf8`` | encode to utf8 (default) | ``-unchars`` | unlexer that puts no spaces between tokens | ``-unlexcode`` | code-like unlexer + | ``-unlexgreek`` | unlexer de-normalizing ancient Greek accentuation | ``-unlexmixed`` | mixture of text and code (code between $...$, \(...)\, \[...\]) | ``-unlextext`` | text-like unlexer | ``-unwords`` | unlexer that puts a single space between tokens (default) @@ -799,13 +828,14 @@ To see transliteration tables, use command ut. - Examples: - | ``l (EAdd 3 4) | ps -code`` | linearize code-like output - | ``ps -lexer=code | p -cat=Exp`` | parse code-like input + | ``l (EAdd 3 4) | ps -unlexcode`` | linearize code-like output + | ``ps -lexcode | p -cat=Exp`` | parse code-like input | ``gr -cat=QCl | l | ps -bind`` | linearization output from LangFin | ``ps -to_devanagari "A-p"`` | show Devanagari in UTF8 terminal | ``rf -file=Hin.gf | ps -env=quotes -to_devanagari`` | convert translit to UTF8 | ``rf -file=Ara.gf | ps -from_utf8 -env=quotes -from_arabic`` | convert UTF8 to transliteration | ``ps -to=chinese.trans "abc"`` | apply transliteration defined in file chinese.trans + | ``ps -lexgreek "a)gavoi` a)'nvrwpoi' tines*"`` | normalize ancient greek accentuation #NORMAL @@ -828,7 +858,6 @@ are type checking and semantic computation. - Options: | ``-compute`` | compute by using semantic definitions (def) - | ``-paraphrase`` | paraphrase by using semantic definitions (def) | ``-largest`` | sort trees from largest to smallest, in number of nodes | ``-nub`` | remove duplicate trees | ``-smallest`` | sort trees from smallest to largest, in number of nodes @@ -838,12 +867,10 @@ are type checking and semantic computation. - Flags: | ``-number`` | take at most this many trees - | ``-transfer`` | syntactic transfer by applying function, recursively in subtrees - Examples: | ``pt -compute (plus one two)`` | compute value - | ``p "4 dogs love 5 cats" | pt -transfer=digits2numeral | l`` | four...five... #NORMAL @@ -990,8 +1017,6 @@ This command requires a source grammar to be in scope, imported with 'import -re 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. - Syntax: ``so (-grep=STRING)* TYPE?`` - Options: @@ -1002,6 +1027,12 @@ of a pipe. | ``-grep`` | substring used for filtering (the command can have many of these) +- Examples: + + | ``so Det`` | show all opers that create a Det + | ``so -grep=Prep`` | find opers relating to Prep + | ``so | wf -file=/tmp/opers`` | write the list of opers to a file + #NORMAL @@ -1113,6 +1144,7 @@ This command must be a line of its own, and thus cannot be a part of a pipe. | ``-amharic`` | Amharic | ``-ancientgreek`` | ancient Greek | ``-arabic`` | Arabic + | ``-arabic_unvocalized`` | unvocalized Arabic | ``-devanagari`` | Devanagari | ``-greek`` | modern Greek | ``-hebrew`` | unvocalized Hebrew @@ -1137,35 +1169,41 @@ This command must be a line of its own, and thus cannot be a part of a pipe. #TINY Prints a dependency tree in the .dot format (the graphviz format, default) +or LaTeX (flag -output=latex) or the CoNLL/MaltParser format (flag -output=conll for training, malt_input for unanalysed input). By default, the last argument is the head of every abstract syntax function; moreover, the head depends on the head of the function above. The graph can be saved in a file by the wf command as usual. If the -view flag is defined, the graph is saved in a temporary file -which is processed by graphviz and displayed by the program indicated -by the flag. The target format is png, unless overridden by the -flag -format. +which is processed by dot (graphviz) and displayed by the program indicated +by the view flag. The target format is png, unless overridden by the +flag -format. Results from multiple trees are combined to pdf with convert (ImageMagick). +See also 'vp -showdep' for another visualization of dependencies. - Options: | ``-v`` | show extra information + | ``-conll2latex`` | convert conll to latex - Flags: - | ``-file`` | configuration file for labels per fun, format 'fun l1 ... label ... l2' - | ``-format`` | format of the visualization file (default "png") - | ``-output`` | output format of graph source (default "dot") - | ``-view`` | program to open the resulting file (default "open") + | ``-abslabels`` | abstract configuration file for labels, format per line 'fun label*' + | ``-cnclabels`` | concrete configuration file for labels, format per line 'fun {words|*} pos label head' + | ``-file`` | same as abslabels (abstract configuration file) + | ``-format`` | format of the visualization file using dot (default "png") + | ``-output`` | output format of graph source (latex, conll, dot (default but deprecated)) + | ``-view`` | program to open the resulting graph file (default "open") | ``-lang`` | the language of analysis - Examples: | ``gr | vd`` | generate a tree and show dependency tree in .dot - | ``gr | vd -view=open`` | generate a tree and display dependency tree on a Mac - | ``gr -number=1000 | vd -file=dep.labels -output=malt`` | generate training treebank - | ``gr -number=100 | vd -file=dep.labels -output=malt_input`` | generate test sentences + | ``gr | vd -view=open`` | generate a tree and display dependency tree on with Mac's 'open' + | ``gr | vd -view=open -output=latex`` | generate a tree and display latex dependency tree with Mac's 'open' + | ``gr -number=1000 | vd -abslabels=Lang.labels -cnclabels=LangSwe.labels -output=conll`` | generate a random treebank + | ``rf -file=ex.conll | vd -conll2latex | wf -file=ex.tex`` | convert conll file to latex #NORMAL @@ -1182,15 +1220,16 @@ flag -format. Prints a parse tree in the .dot format (the graphviz format). The graph can be saved in a file by the wf command as usual. If the -view flag is defined, the graph is saved in a temporary file -which is processed by graphviz and displayed by the program indicated -by the flag. The target format is png, unless overridden by the -flag -format. +which is processed by dot (graphviz) and displayed by the program indicated +by the view flag. The target format is png, unless overridden by the +flag -format. Results from multiple trees are combined to pdf with convert (ImageMagick). - Options: | ``-showcat`` | show categories in the tree nodes (default) | ``-nocat`` | don't show categories + | ``-showdep`` | show dependency labels | ``-showfun`` | show function names in the tree nodes | ``-nofun`` | don't show function names (default) | ``-showleaves`` | show the leaves of the tree (default) @@ -1198,6 +1237,8 @@ flag -format. - Flags: + | ``-lang`` | the language to visualize + | ``-file`` | configuration file for dependency labels with -deps, format per line 'fun label*' | ``-format`` | format of the visualization file (default "png") | ``-view`` | program to open the resulting file (default "open") | ``-nodefont`` | font for tree nodes (default: Times -- graphviz standard font) @@ -1210,7 +1251,8 @@ flag -format. - Examples: | ``p "John walks" | vp`` | generate a tree and show parse tree as .dot script - | ``gr | vp -view="open"`` | generate a tree and display parse tree on a Mac + | ``gr | vp -view=open`` | generate a tree and display parse tree on a Mac + | ``p "she loves us" | vp -view=open -showdep -file=uddeps.labels -nocat`` | show a visual variant of a dependency tree #NORMAL @@ -1227,9 +1269,9 @@ flag -format. Prints a set of trees in the .dot format (the graphviz format). The graph can be saved in a file by the wf command as usual. If the -view flag is defined, the graph is saved in a temporary file -which is processed by graphviz and displayed by the program indicated -by the flag. The target format is postscript, unless overridden by the -flag -format. +which is processed by dot (graphviz) and displayed by the command indicated +by the view flag. The target format is postscript, unless overridden by the +flag -format. Results from multiple trees are combined to pdf with convert (ImageMagick). With option -mk, use for showing library style function names of form 'mkC'. diff --git a/doc/gf-lrec-2010.pdf b/doc/gf-lrec-2010.pdf deleted file mode 100644 index 83d1a58cf..000000000 Binary files a/doc/gf-lrec-2010.pdf and /dev/null differ diff --git a/doc/gf-people.html b/doc/gf-people.html deleted file mode 100644 index 37e430ae7..000000000 --- a/doc/gf-people.html +++ /dev/null @@ -1,132 +0,0 @@ -<!DOCTYPE html> -<html> - -<head> -<title>GF People - - - - - - - -
-[GF] - -

Grammatical Framework: Authors and Acknowledgements

- -
- -The current developers and maintainers are -Krasimir Angelov, -Thomas Hallgren, -and -Aarne Ranta. Bug reports should be -posted via the -GF bug tracker. - - -

- -Also the following people have contributed code to some of the versions: - -

- -
Grégoire Détrez (University of Gothenburg) -
Ramona Enache (University of Gothenburg) -
-Björn Bringert (University of Gothenburg) -
-HÃ¥kan Burden (University of Gothenburg) -
-Hans-Joachim Daniels (Karlsruhe) -
-Markus Forsberg (Chalmers) -
-Kristofer Johannisson (University of Gothenburg) -
-Janna Khegai (Chalmers) -
-Peter Ljunglöf (University of Gothenburg) -
-Petri Mäenpää (Nokia) -
- - -At least the following colleagues are thanked for suggestions, -bug reports, and other indirect contributions to the code. (Notice: -these are early contributors - the list has not been updated since 2004 or so). - -

- -Stefano Berardi (Torino), - -Pascal Boldini (Paris), - -Paul Callaghan (Durham), - -Lauri Carlson (Helsinki), - -Koen Claessen (Chalmers), - -Robin Cooper (Gothenburg), - -Thierry Coquand (Chalmers), - -Marc -Dymetman (XRCE), - -Bertrand Grégoire (Tudor Institure, Luxembourg), - -Reiner Hähnle (Chalmers), - -Gérard Huet (INRIA), - -Patrik Jansson (Chalmers), - -Bernard Jaulin (Paris), - - -Lauri Karttunen (PARC), - -Matti Kinnunen (Nokia), - -Veronika -Lux (XRCE), - -Per Martin-Löf (Stockholm), - -Bengt Nordström (Chalmers), - - -Martin Okrslar (CIS), - -Jianmin Pang (Durham), - -Sylvain -Pogodalla (XRCE), - -Loïc Pottier (INRIA), - - -Annie Zaenen (PARC) - -

- -The GF logo was designed by Uula Ranta. - -

- -From 2001 to 2004, GF enjoyed funding from the -Vinnova foundation, within the - -Interactive Languge Technology project. - - - - - diff --git a/doc/gf-people.md b/doc/gf-people.md new file mode 100644 index 000000000..9e0177306 --- /dev/null +++ b/doc/gf-people.md @@ -0,0 +1,63 @@ +--- +title: "Grammatical Framework: Authors and Acknowledgements" +--- + +## Current maintainers + +The current maintainers of GF are + +[Krasimir Angelov](http://www.chalmers.se/cse/EN/organization/divisions/computing-science/people/angelov-krasimir), +[Thomas Hallgren](http://www.cse.chalmers.se/~hallgren/), +[Aarne Ranta](http://www.cse.chalmers.se/~aarne/), +[John J. Camilleri](http://johnjcamilleri.com), and +[Inari Listenmaa](https://inariksit.github.io/). + +This page is otherwise not up to date. +For detailed data about contributors to the code repositories since 2007, see +[here (gf-core)](https://github.com/GrammaticalFramework/gf-core/graphs/contributors) +and +[here (gf-rgl)](https://github.com/GrammaticalFramework/gf-rgl/graphs/contributors). + +## Previous contributors + +The following people have contributed code to some of the versions: + +- Grégoire Détrez (University of Gothenburg) +- Ramona Enache (University of Gothenburg) +- [Björn Bringert](http://www.cse.chalmers.se/alumni/bringert) (University of Gothenburg) +- Håkan Burden (University of Gothenburg) +- Hans-Joachim Daniels (Karlsruhe) +- [Markus Forsberg](http://www.cs.chalmers.se/~markus) (Chalmers) +- [Kristofer Johannisson](http://www.cs.chalmers.se/~krijo) (University of Gothenburg) +- [Janna Khegai](http://www.cs.chalmers.se/~janna) (Chalmers) +- [Peter Ljunglöf](http://www.cse.chalmers.se/~peb) (University of Gothenburg) +- Petri Mäenpää (Nokia) + +At least the following colleagues are thanked for suggestions, bug +reports, and other indirect contributions to the code. + +- [Stefano Berardi](http://www.di.unito.it/~stefano/) (Torino) +- Pascal Boldini (Paris) +- [Paul Callaghan](http://www.dur.ac.uk/~dcs0pcc/) (Durham) +- Lauri Carlson (Helsinki) +- [Koen Claessen](http://www.cse.chalmers.se/~koen) (Chalmers) +- [Robin Cooper](http://www.cling.gu.se/~cooper) (Gothenburg) +- [Thierry Coquand](http://www.cse.chalmers.se/~coquand) (Chalmers) +- [Marc Dymetman](http://www.xrce.xerox.com/people/dymetman/dymetman.html) (XRCE) +- Bertrand Grégoire (Tudor Institute, Luxembourg) +- [Reiner Hähnle](http://www.cse.chalmers.se/~reiner) (Chalmers) +- [Gérard Huet](http://pauillac.inria.fr/~huet/) (INRIA) +- [Patrik Jansson](http://www.cse.chalmers.se/~patrikj) (Chalmers) +- Bernard Jaulin (Paris) +- [Lauri Karttunen](http://www.xrce.xerox.com/people/karttunen/karttunen.html) (PARC) +- Matti Kinnunen (Nokia) +- [Veronika Lux](http://www.xrce.xerox.com/people/lux/) (XRCE) +- Per Martin-Löf (Stockholm) +- [Bengt Nordström](http://www.cse.chalmers.se/~bengt) (Chalmers) +- [Martin Okrslar](http://www.cis.uni-muenchen.de/studenten/stud_homepages/okrslar/reklame.html) (CIS) +- Jianmin Pang (Durham) +- [Sylvain Pogodalla](http://www.xrce.xerox.com/people/pogodalla/index.fr.html) (XRCE) +- [Loïc Pottier](http://www.inria.fr/Loic.Pottier) (INRIA) +- [Annie Zaenen](http://www2.parc.com/istl/members/zaenen/) (PARC) + +The GF logo was designed by Uula Ranta. diff --git a/doc/gf-quickstart.html b/doc/gf-quickstart.html deleted file mode 100644 index 787c23ce6..000000000 --- a/doc/gf-quickstart.html +++ /dev/null @@ -1,158 +0,0 @@ - - - -GF Quickstart - - - - - - - -

- -

-Aarne Ranta -

-October 2011 for GF 3.3 - -

- -

Grammatical Framework Quick Start

- -
- -This Quick Start shows a few examples of how GF can be used. -We assume that you have downloaded and installed GF, so that -the command gf works for you. See download and install -instructions here. - -

Want to try without downloading?

- -Using GF translation with an existing grammar. - -

- -Writing GF grammars in the cloud, without installing GF. - - - - -

Using GF for translation and generation

- -When you have downloaded and installed GF: -
    -
  1. Copy the files -Food.gf, -FoodEng.gf, and -FoodIta.gf. -Or go to GF/examples/tutorial/food/, if you have downloaded the -GF sources. - -
  2. Start GF with the shell command (without the prompt $) -
    -  $ gf FoodIta.gf FoodEng.gf
    -
    -Alternatively, start GF with gf and give the GF command import FoodIta.gf FoodEng.gf. - -
  3. Translation. Try your first translation by giving the GF command -
    -  parse "this cheese is very very Italian" | linearize
    -
    -Notice that the parser accept the tabulator for word completion. - -
  4. Generation. Random-generate sentences in two languages: -
    -  generate_random | linearize
    -
    - -
  5. Other commands. Use the help command -
    -  help
    -
    -
  6. More examples. Go to GF/examples/phrasebook or some other -subdirectory of GF/examples/. Or try a resource grammar by, for instance, -
    -  import alltenses/LangEng.gfo alltenses/LangGer.gfo
    -
    -  parse -lang=Eng "I love you" | linearize -treebank
    -
    -The resource grammars are found relative to the value of GF_LIB_PATH, which -you may have to set; see here for instructions. - - - -
- - - -

Grammar development

- -Add words to the Food -grammars and try the above commands again. For instance, add the following lines: -
-  Bread : Kind ;          -- in Food.gf
-  Bread = {s = "bread"} ; -- in FoodEng.gf
-  Bread = {s = "pane"} ;  -- in FoodIta.gf
-
-and start GF again with the same command. Now you can even translate -this bread is very Italian. - -To lear more on GF commands and -grammar development, go to the one of the tutorials: - -To learn about how GF is used for easily writing grammars for 16 languages, consult the - - - - -

Run-time grammars and web applications

- -GF has its own "machine language", PGF (Portable Grammar Format), -which is recommended for use in applications at run time. To produce a PGF file from -the two grammars above, do -
-  gf -make FoodIta.gf FoodEng.gf
-  wrote Food.pgf
-
-You can use this in Haskell and Java programs, and also on web services, such as - - -The quickest way to provide a GF web service is to start GF with the -server option: -
-  $ gf -server
-  This is GF version 3.3
-  Built on linux/i386 with ghc-7.0, flags: interrupt server cclazy
-  Document root = /usr/local/share/gf-3.3/www
-  Starting HTTP server, open http://localhost:41296/ in your web browser.
-
-You can view it locally by pointing your -browser to the URL shown. You can add your own .pgf grammar to the service by -copying it over to the documentRoot directory. Just push "reload" in -your browser after each such update. - -

- -To build more customized web application, consult the -developer wiki. - - -

User group

- -You are welcome to join the User Group -to get help and discuss GF-related issues! - - - - - - diff --git a/doc/gf-reference.pdf b/doc/gf-reference.pdf deleted file mode 100644 index 6eed355b8..000000000 Binary files a/doc/gf-reference.pdf and /dev/null differ diff --git a/doc/gf-reference.t2t b/doc/gf-reference.t2t deleted file mode 100644 index aab828f0a..000000000 --- a/doc/gf-reference.t2t +++ /dev/null @@ -1,493 +0,0 @@ -GF Quick Reference -Aarne Ranta -April 4, 2006 - -% NOTE: this is a txt2tags file. -% Create an html file from this file using: -% txt2tags -thtml gf-reference.t2t - -%!style:../css/style.css -%!target:html -%!options: --toc -%!postproc(html): <meta name = "viewport" content = "width = device-width"><TITLE> -%!postproc(html): <H1> <H1><a href="../"><IMG src="../doc/Logos/gf0.png"></a> - -This is a quick reference on GF grammars. It aims to -cover all forms of expression available when writing -grammars. It assumes basic knowledge of GF, which -can be acquired from the -[GF Tutorial http://www.grammaticalframework.org/doc/tutorial/gf-tutorial.html]. -Help on GF commands is obtained on line by the -help command (``help``), and help on invoking -GF with (``gf -help``). - - -===A complete example=== - -This is a complete example of a GF grammar divided -into three modules in files. The grammar recognizes the -phrases //one pizza// and //two pizzas//. - -File ``Order.gf``: -``` -abstract Order = { -cat - Order ; - Item ; -fun - One, Two : Item -> Order ; - Pizza : Item ; -} -``` -File ``OrderEng.gf`` (the top file): -``` ---# -path=.:prelude -concrete OrderEng of Order = - open Res, Prelude in { -flags startcat=Order ; -lincat - Order = SS ; - Item = {s : Num => Str} ; -lin - One it = ss ("one" ++ it.s ! Sg) ; - Two it = ss ("two" ++ it.s ! Pl) ; - Pizza = regNoun "pizza" ; -} -``` -File ``Res.gf``: -``` -resource Res = open Prelude in { -param Num = Sg | Pl ; -oper regNoun : Str -> {s : Num => Str} = - \dog -> {s = table { - Sg => dog ; - _ => dog + "s" - } - } ; -} -``` -To use this example, do -``` - % gf -- in shell: start GF - > i OrderEng.gf -- in GF: import grammar - > p "one pizza" -- parse string - > l Two Pizza -- linearize tree -``` - - - -===Modules and files=== - -One module per file. -File named ``Foo.gf`` contains module named -``Foo``. - -Each module has the structure -``` -moduletypename = - Inherits ** -- optional - open Opens in -- optional - { Judgements } -``` -Inherits are names of modules of the same type. -Inheritance can be restricted: -``` - Mo[f,g], -- inherit only f,g from Mo - Lo-[f,g] -- inheris all but f,g from Lo -``` -Opens are possible in ``concrete`` and ``resource``. -They are names of modules of these two types, possibly -qualified: -``` - (M = Mo), -- refer to f as M.f or Mo.f - (Lo = Lo) -- refer to f as Lo.f -``` -Module types and judgements in them: -``` -abstract A -- cat, fun, def, data -concrete C of A -- lincat, lin, lindef, printname -resource R -- param, oper - -interface I -- like resource, but can have - oper f : T without definition -instance J of I -- like resource, defines opers - that I leaves undefined -incomplete -- functor: concrete that opens - concrete CI of A = one or more interfaces - open I in ... -concrete CJ of A = -- completion: concrete that - CI with instantiates a functor by - (I = J) instances of open interfaces -``` -The forms -``param``, ``oper`` -may appear in ``concrete`` as well, but are then -not inherited to extensions. - -All modules can moreover have ``flags`` and comments. -Comments have the forms -``` --- till the end of line -{- any number of lines between -} ---# used for compiler pragmas -``` -A ``concrete`` can be opened like a ``resource``. -It is translated as follows: -``` -cat C ---> oper C : Type = -lincat C = T T ** {lock_C : {}} - -fun f : G -> C ---> oper f : A* -> C* = \g -> -lin f = t t g ** {lock_C = <>} -``` -An ``abstract`` can be opened like an ``interface``. -Any ``concrete`` of it then works as an ``instance``. - - - -===Judgements=== - -``` -cat C -- declare category C -cat C (x:A)(y:B x) -- dependent category C -cat C A B -- same as C (x : A)(y : B) -fun f : T -- declare function f of type T -def f = t -- define f as t -def f p q = t -- define f by pattern matching -data C = f | g -- set f,g as constructors of C -data f : A -> C -- same as - fun f : A -> C; data C=f - -lincat C = T -- define lin.type of cat C -lin f = t -- define lin. of fun f -lin f x y = t -- same as lin f = \x y -> t -lindef C = \s -> t -- default lin. of cat C -printname fun f = s -- printname shown in menus -printname cat C = s -- printname shown in menus -printname f = s -- same as printname fun f = s - -param P = C | D Q R -- define parameter type P - with constructors - C : P, D : Q -> R -> P -oper h : T = t -- define oper h of type T -oper h = t -- omit type, if inferrable - -flags p=v -- set value of flag p -``` -Judgements are terminated by semicolons (``;``). -Subsequent judgments of the same form may share the -keyword: -``` -cat C ; D ; -- same as cat C ; cat D ; -``` -Judgements can also share RHS: -``` -fun f,g : A -- same as fun f : A ; g : A -``` - - -===Types=== - -Abstract syntax (in ``fun``): -``` -C -- basic type, if cat C -C a b -- basic type for dep. category -(x : A) -> B -- dep. functions from A to B -(_ : A) -> B -- nondep. functions from A to B -(p,q : A) -> B -- same as (p : A)-> (q : A) -> B -A -> B -- same as (_ : A) -> B -Int -- predefined integer type -Float -- predefined float type -String -- predefined string type -``` -Concrete syntax (in ``lincat``): -``` -Str -- token lists -P -- parameter type, if param P -P => B -- table type, if P param. type -{s : Str ; p : P}-- record type -{s,t : Str} -- same as {s : Str ; t : Str} -{a : A} **{b : B}-- record type extension, same as - {a : A ; b : B} -A * B * C -- tuple type, same as - {p1 : A ; p2 : B ; p3 : C} -Ints n -- type of n first integers -``` -Resource (in ``oper``): all those of concrete, plus -``` -Tok -- tokens (subtype of Str) -A -> B -- functions from A to B -Int -- integers -Strs -- list of prefixes (for pre) -PType -- parameter type -Type -- any type -``` -As parameter types, one can use any finite type: -``P`` defined in ``param P``, -``Ints n``, and record types of parameter types. - - - -===Expressions=== - -Syntax trees = full function applications -``` -f a b -- : C if fun f : A -> B -> C -1977 -- : Int -3.14 -- : Float -"foo" -- : String -``` -Higher-Order Abstract syntax (HOAS): functions as arguments: -``` -F a (\x -> c) -- : C if a : A, c : C (x : B), - fun F : A -> (B -> C) -> C -``` -Tokens and token lists -``` -"hello" -- : Tok, singleton Str -"hello" ++ "world" -- : Str -["hello world"] -- : Str, same as "hello" ++ "world" -"hello" + "world" -- : Tok, computes to "helloworld" -[] -- : Str, empty list -``` -Parameters -``` -Sg -- atomic constructor -VPres Sg P2 -- applied constructor -{n = Sg ; p = P3} -- record of parameters -``` -Tables -``` -table { -- by full branches - Sg => "mouse" ; - Pl => "mice" - } -table { -- by pattern matching - Pl => "mice" ; - _ => "mouse" -- wildcard pattern - } -table { - n => regn n "cat" -- variable pattern - } -table Num {...} -- table given with arg. type -table ["ox"; "oxen"] -- table as course of values -\\_ => "fish" -- same as table {_ => "fish"} -\\p,q => t -- same as \\p => \\q => t - -t ! p -- select p from table t -case e of {...} -- same as table {...} ! e -``` -Records -``` -{s = "Liz"; g = Fem} -- record in full form -{s,t = "et"} -- same as {s = "et";t= "et"} -{s = "Liz"} ** -- record extension: same as - {g = Fem} {s = "Liz" ; g = Fem} - -<a,b,c> -- tuple, same as {p1=a;p2=b;p3=c} -``` -Functions -``` -\x -> t -- lambda abstract -\x,y -> t -- same as \x -> \y -> t -\x,_ -> t -- binding not in t -``` -Local definitions -``` -let x : A = d in t -- let definition -let x = d in t -- let defin, type inferred -let x=d ; y=e in t -- same as - let x=d in let y=e in t -let {...} in t -- same as let ... in t - -t where {...} -- same as let ... in t -``` -Free variation -``` -variants {x ; y} -- both x and y possible -variants {} -- nothing possible -``` -Prefix-dependent choices -``` -pre {"a" ; "an" / v} -- "an" before v, "a" otherw. -strs {"a" ; "i" ;"o"}-- list of condition prefixes -``` -Typed expression -``` -<t:T> -- same as t, to help type inference -``` -Accessing bound variables in ``lin``: use fields ``$1, $2, $3,...``. -Example: -``` -fun F : (A : Set) -> (El A -> Prop) -> Prop ; -lin F A B = {s = ["for all"] ++ A.s ++ B.$1 ++ B.s} -``` - - -===Pattern matching=== - -These patterns can be used in branches of ``table`` and -``case`` expressions. Patterns are matched in the order in -which they appear in the grammar. -``` -C -- atomic param constructor -C p q -- param constr. applied to patterns -x -- variable, matches anything -_ -- wildcard, matches anything -"foo" -- string -56 -- integer -{s = p ; y = q} -- record, matches extensions too -<p,q> -- tuple, same as {p1=p ; p2=q} -p | q -- disjunction, binds to first match -x@p -- binds x to what p matches -- p -- negation -p + "s" -- sequence of two string patterns -p* -- repetition of a string pattern -``` - -===Sample library functions=== - -``` --- lib/prelude/Predef.gf -drop : Int -> Tok -> Tok -- drop prefix of length -take : Int -> Tok -> Tok -- take prefix of length -tk : Int -> Tok -> Tok -- drop suffix of length -dp : Int -> Tok -> Tok -- take suffix of length -occur : Tok -> Tok -> PBool -- test if substring -occurs : Tok -> Tok -> PBool -- test if any char occurs -show : (P:Type) -> P ->Tok -- param to string -read : (P:Type) -> Tok-> P -- string to param -toStr : (L:Type) -> L ->Str -- find "first" string - --- lib/prelude/Prelude.gf -param Bool = True | False -oper - SS : Type -- the type {s : Str} - ss : Str -> SS -- construct SS - cc2 : (_,_ : SS) -> SS -- concat SS's - optStr : Str -> Str -- string or empty - strOpt : Str -> Str -- empty or string - bothWays : Str -> Str -> Str -- X++Y or Y++X - init : Tok -> Tok -- all but last char - last : Tok -> Tok -- last char - prefixSS : Str -> SS -> SS - postfixSS : Str -> SS -> SS - infixSS : Str -> SS -> SS -> SS - if_then_else : (A : Type) -> Bool -> A -> A -> A - if_then_Str : Bool -> Str -> Str -> Str -``` - - -===Flags=== - -Flags can appear, with growing priority, -- in files, judgement ``flags`` and without dash (``-``) -- as flags to ``gf`` when invoked, with dash -- as flags to various GF commands, with dash - - -Some common flags used in grammars: -``` -startcat=cat use this category as default - -lexer=literals int and string literals recognized -lexer=code like program code -lexer=text like text: spacing, capitals -lexer=textlit text, unknowns as string lits - -unlexer=code like program code -unlexer=codelit code, remove string lit quotes -unlexer=text like text: punctuation, capitals -unlexer=textlit text, remove string lit quotes -unlexer=concat remove all spaces -unlexer=bind remove spaces around "&+" - -optimize=all_subs best for almost any concrete -optimize=values good for lexicon concrete -optimize=all usually good for resource -optimize=noexpand for resource, if =all too big -``` -For the full set of values for ``FLAG``, -use on-line ``h -FLAG``. - - - -===File import search paths=== - -Colon-separated list of directories searched in the -given order: -``` ---# -path=.:../abstract:../common:prelude -``` -This can be (in order of increasing priority), as -first line in the file, as flag to ``gf`` -when invoked, or as flag to the ``i`` command. -The prefix ``--#`` is used only in files. - -GF attempts to satisfy an ``import`` command by searching for the -import filename in the above search paths, initially qualified -relative to the current working directory. If the file is not found in -that initial expansion, the search paths are re-qualified relative to -the directories given in the ``GF_LIB_PATH`` environment variable. If -``GF_LIB_PATH`` is not defined, its default value is -``/usr/local/share/gf-3.9/lib`` (assuming you have GF version 3.9). - -If your GF resource grammar libraries are installed somewhere else, -you will want to set ``GF_LIB_PATH`` to point there instead. In a -pinch, you can point to the ``GF/lib/src/`` folder in your clone of -the GF source code repository. - -Developers of resource grammars may find it useful to define multiple -directories, colon-separated, in ``GF_LIB_PATH``. - - -===Alternative grammar formats=== - -**Old GF** (before GF 2.0): -all judgements in any kinds of modules, -division into files uses ``include``s. -A file ``Foo.gf`` is recognized as the old format -if it lacks a module header. - -**Context-free** (file ``foo.cf``). The form of rules is e.g. -``` -Fun. S ::= NP "is" AP ; -``` -If ``Fun`` is omitted, it is generated automatically. -Rules must be one per line. The RHS can be empty. - -**Extended BNF** (file ``foo.ebnf``). The form of rules is e.g. -``` -S ::= (NP+ ("is" | "was") AP | V NP*) ; -``` -where the RHS is a regular expression of categories -and quoted tokens: ``"foo", CAT, T U, T|U, T*, T+, T?``, or empty. -Rule labels are generated automatically. - - -**Probabilistic grammars** (not a separate format). -You can set the probability of a function ``f`` (in its value category) by -``` ---# prob f 0.009 -``` -These are put into a file given to GF using the ``probs=File`` flag -on command line. This file can be the grammar file itself. - -**Example-based grammars** (file ``foo.gfe``). Expressions of the form -``` -in Cat "example string" -``` -are preprocessed by using a parser given by the flag -``` ---# -resource=File -``` -and the result is written to ``foo.gf``. - - -===References=== - -[GF Homepage http://www.grammaticalframework.org/] - -A. Ranta, Grammatical Framework: A Type-Theoretical Grammar Formalism. -//The Journal of Functional Programming//, vol. 14:2. 2004, pp. 145-189. - diff --git a/doc/gf-refman.html b/doc/gf-refman.html index edfb2c625..31456b09a 100644 --- a/doc/gf-refman.html +++ b/doc/gf-refman.html @@ -1,15 +1,32 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> -<HTML> +<!DOCTYPE html> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> <HEAD> -<TITLE>GF Language Reference Manual - -

GF Language Reference Manual

+ GF Language Reference Manual + + + + + + +
+ +

+

+ + GF Logo + +

GF Language Reference Manual

Aarne Ranta, Krasimir Angelov
June 2014, GF 3.6
-

-

-
+

@@ -482,7 +499,7 @@ to reuse abstract and concrete modules as resources. The following table gives, for all module types, the possible module types of their extends and opens, as well as the forms of judgement legal in that module type.

-
+
@@ -553,7 +570,7 @@ system, replacing modules by types and functions. This model could actually be developed towards treating modules in GF as first-class objects; so far, however, this step has not been motivated by any practical needs.

-
module type extends
+
@@ -918,7 +935,7 @@ The table moreover indicates whether the judgement has a default value, and whether it contributes to the name base, i.e. introduces a new name to the scope.

-
module object and type
+
@@ -1658,7 +1675,7 @@ inherited modules.

Here are some flags commonly included in grammars.

-
judgement where
+
@@ -1721,7 +1738,7 @@ Type and other expressions have a system of precedences. The following ta summarizes all expression forms, from the highest to the lowest precedence. Some expressions are moreover left- or right-associative.

-
flag value
+
@@ -2128,7 +2145,7 @@ where GF provides three predefined categories for abstract syntax, with predefined expressions:

-
prec expression example
+
@@ -2264,7 +2281,7 @@ Expressions of type Str have the following canonical forms:
  • the empty token list, []
  • concatenation, s ++ t, where s,t : Str
  • prefix-dependent choice, - pre {p1 => s1 ; ... ; pn => sn ; _ => s }, where + pre {p1 => s1 ; ... ; pn => sn ; _ => s }, where @@ -3016,7 +3033,7 @@ The following predefined operations are defined in the resource module prelude/Predef.gf. Their implementations are defined as a part of the GF grammar compiler.

    -
  • category expressions
    +
    @@ -3202,7 +3219,7 @@ the abstract syntax. Compiler pragmas are a special form of comments prefixed with --#. Currently GF interprets the following pragmas.

    -
    operation type
    +
    @@ -3300,7 +3317,7 @@ The rules have the form where an RHS can be any regular expression built from quoted strings and category symbols, in the following ways:

    -
    pragma explanation
    +
    @@ -4600,6 +4617,6 @@ All other symbols are terminals.
    RHS item explanation
    -

    - - + + + diff --git a/doc/tutorial/gf-tutorial.t2t b/doc/tutorial/gf-tutorial.t2t index 2e3f086f7..581c99ec1 100644 --- a/doc/tutorial/gf-tutorial.t2t +++ b/doc/tutorial/gf-tutorial.t2t @@ -8,7 +8,7 @@ December 2010 for GF 3.2 % txt2tags --toc -ttex gf-tutorial.txt %!target:html -%!encoding: iso-8859-1 +%!encoding: utf-8 %!options: --toc %!postproc(tex) : "\\subsection\*" "\\newslide" @@ -836,8 +836,8 @@ Finnish and an Italian concrete syntaxes: lin Hello recip = {s = "terve" ++ recip.s} ; World = {s = "maailma"} ; - Mum = {s = "äiti"} ; - Friends = {s = "ystävät"} ; + Mum = {s = "äiti"} ; + Friends = {s = "ystävät"} ; } concrete HelloIta of Hello = { @@ -925,7 +925,7 @@ Default of the language flag (``-lang``): the last-imported concrete syntax. **Multilingual generation**: ``` > parse -lang=HelloEng "hello friends" | linearize - terve ystävät + terve ystävät ciao amici hello friends ``` @@ -1335,7 +1335,7 @@ Just (?) replace English words with their dictionary equivalents: Phrase, Item, Kind, Quality = {s : Str} ; lin - Is item quality = {s = item.s ++ "è" ++ quality.s} ; + Is item quality = {s = item.s ++ "è" ++ quality.s} ; This kind = {s = "questo" ++ kind.s} ; That kind = {s = "quel" ++ kind.s} ; QKind quality kind = {s = kind.s ++ quality.s} ; @@ -1446,11 +1446,11 @@ linearizations in different languages: > gr -number=2 | l -treebank Is (That Cheese) (Very Boring) - quel formaggio è molto noioso + quel formaggio è molto noioso that cheese is very boring Is (That Cheese) Fresh - quel formaggio è fresco + quel formaggio è fresco that cheese is fresh ``` @@ -1472,14 +1472,14 @@ answer given in another language. You can interrupt the quiz by entering a line consisting of a dot ('.'). this fish is warm - questo pesce è caldo + questo pesce è caldo > Yes. Score 1/1 this cheese is Italian - questo formaggio è noioso - > No, not questo formaggio è noioso, but - questo formaggio è italiano + questo formaggio è noioso + > No, not questo formaggio è noioso, but + questo formaggio è italiano Score 1/2 this fish is expensive @@ -1756,7 +1756,7 @@ Simultaneous extension and opening: lincat Question = SS ; lin - QIs item quality = ss (item.s ++ "è" ++ quality.s) ; + QIs item quality = ss (item.s ++ "è" ++ quality.s) ; Pizza = ss "pizza" ; } ``` @@ -2364,10 +2364,10 @@ in English, with special care taken of variations with the suffix + Implement the German **Umlaut** operation on word stems. The operation changes the vowel of the stressed stem syllable as follows: -//a// to //ä//, //au// to //äu//, //o// to //ö//, and //u// to //ü//. You +//a// to //ä//, //au// to //äu//, //o// to //ö//, and //u// to //ü//. You can assume that the operation only takes syllables as arguments. Test the -operation to see whether it correctly changes //Arzt// to //Ärzt//, -//Baum// to //Bäum//, //Topf// to //Töpf//, and //Kuh// to //Küh//. +operation to see whether it correctly changes //Arzt// to //Ärzt//, +//Baum// to //Bäum//, //Topf// to //Töpf//, and //Kuh// to //Küh//. @@ -2480,10 +2480,10 @@ The command ``morpho_quiz = mq`` generates inflection exercises. Welcome to GF Morphology Quiz. ... - réapparaître : VFin VCondit Pl P2 - réapparaitriez - > No, not réapparaitriez, but - réapparaîtriez + réapparaître : VFin VCondit Pl P2 + réapparaitriez + > No, not réapparaitriez, but + réapparaîtriez Score 0/1 ``` To create a list for later use, use the command ``morpho_list = ml`` @@ -2563,7 +2563,7 @@ We need only number variation for the copula. ``` copula : Number -> Str = \n -> case n of { - Sg => "è" ; + Sg => "è" ; Pl => "sono" } ; ``` @@ -3305,13 +3305,13 @@ we can write a **functor instantiation**, oper wine_N = mkN "Wein" ; pizza_N = mkN "Pizza" "Pizzen" feminine ; - cheese_N = mkN "Käse" "Käsen" masculine ; + cheese_N = mkN "Käse" "Käsen" masculine ; fish_N = mkN "Fisch" ; fresh_A = mkA "frisch" ; - warm_A = mkA "warm" "wärmer" "wärmste" ; + warm_A = mkA "warm" "wärmer" "wärmste" ; italian_A = mkA "italienisch" ; expensive_A = mkA "teuer" ; - delicious_A = mkA "köstlich" ; + delicious_A = mkA "köstlich" ; boring_A = mkA "langweilig" ; } ``` @@ -3362,11 +3362,11 @@ Lexicon instance cheese_N = mkN "juusto" ; fish_N = mkN "kala" ; fresh_A = mkA "tuore" ; - warm_A = mkA "lämmin" ; + warm_A = mkA "lämmin" ; italian_A = mkA "italialainen" ; expensive_A = mkA "kallis" ; delicious_A = mkA "herkullinen" ; - boring_A = mkA "tylsä" ; + boring_A = mkA "tylsä" ; } ``` Functor instantiation @@ -3626,7 +3626,7 @@ Goals: - semantic definitions These concepts are inherited from **type theory** (more precisely: -constructive type theory, or Martin-Löf type theory). +constructive type theory, or Martin-Löf type theory). Type theory is the basis **logical frameworks**. @@ -4639,7 +4639,7 @@ output. Therefore it can be a part of a pipe and read and write files. The simplest way to translate is to ``echo`` input to the program: ``` % echo "this wine is delicious" | ./trans Food.pgf - questo vino è delizioso + questo vino è delizioso ``` The result is given in all languages except the input language. diff --git a/doc/txt2html.sh b/doc/txt2html.sh deleted file mode 100644 index 801541e95..000000000 --- a/doc/txt2html.sh +++ /dev/null @@ -1,13 +0,0 @@ -#!/bin/sh - -FILES="darcs.txt transfer-reference.txt transfer-tutorial.txt \ - transfer.txt" - -for f in $FILES; do - h=`basename "$f" ".txt"`.html - if [ "$f" -nt "$h" ]; then - txt2tags $f - else - echo "$h is newer than $f, skipping" - fi -done diff --git a/download/encoding-change.t2t b/download/encoding-change.t2t index b5d7d4059..0a56977de 100644 --- a/download/encoding-change.t2t +++ b/download/encoding-change.t2t @@ -1,10 +1,6 @@ GF character encoding changes Thomas Hallgren -%%mtime(%F) - -%!style:../css/style.css -%!postproc(html): <meta charset="UTF-8"><meta name = "viewport" content = "width = device-width"> <TITLE> -%!postproc(html): <H1> <H1><a href="../"><IMG src="../doc/Logos/gf0.png"></a> +2013-12-18 ==Changes to character encodings in GF grammar files == diff --git a/download/index-3.1.6.t2t b/download/index-3.1.6.t2t index ee2ebbc85..2c04291ee 100644 --- a/download/index-3.1.6.t2t +++ b/download/index-3.1.6.t2t @@ -16,7 +16,7 @@ GF 3.1.6 released 23 April 2010. - Windows (zipped executable): [``gf-3.1.6-bin-i486-windows.zip`` gf-3.1.6-bin-i486-windows.zip] (1.6 MB) -- Ubuntu Linux (gzipped executable): +- Ubuntu Linux (gzipped executable): [``gf-3.1.6-bin-i486-linux.gz`` gf-3.1.6-bin-i486-linux.gz] (1.7 MB) - compiled library package: @@ -25,7 +25,7 @@ GF 3.1.6 released 23 April 2010. - full source package (GF system, libraries, examples, documentation): [``gf-3.1.6-src.tar.gz`` gf-3.1.6-src.tar.gz] (11 MB) - + GF is also on [Hackage http://hackage.haskell.org/package/gf] @@ -40,7 +40,7 @@ What's new? See the [release notes release-3.1.6.html]. ==Installation instructions== -The Windows package is installed by just unpacking it anywhere. +The Windows package is installed by just unpacking it anywhere. It finds the libraries relative to the ``.exe`` file. To install a binary package for MacOS X or Linux: uncompress the executable and diff --git a/download/index-3.10.md b/download/index-3.10.md new file mode 100644 index 000000000..5ea18bf90 --- /dev/null +++ b/download/index-3.10.md @@ -0,0 +1,186 @@ +--- +title: Grammatical Framework Download and Installation +... + +**GF 3.10** was released on 28 November 2018. +It is the first version of GF which _does not include the RGL_. + +What's new? See the [release notes](release-3.10.html). + +## Binary packages + +All binary releases are now hosted on [GitHub](https://github.com/GrammaticalFramework/gf-core/releases). + +| Platform | Download | Features | How to install | +|:----------------|:-------------------------------------------------------------|:-----------|:-----------------------------------------------------------| +| macOS | [gf-3.10.pkg](gf-3.10.pkg) | GF,S,C,J,P | Double-click on the package icon | +| macOS | [gf-3.10-bin-intel-mac.tar.gz](gf-3.10-bin-intel-mac.tar.gz) | GF,S,C,J,P | `sudo tar -C /usr/local -zxf gf-3.10-bin-intel-mac.tar.gz` | +| Raspian 9.1 | [gf\_3.10-1\_armhf.deb](gf_3.10-1_armhf.deb) | GF,S,C,J,P | `sudo dpkg -i gf_3.10-1_armhf.deb` | +| Ubuntu (32-bit) | [gf\_3.10-1\_i386.deb](gf_3.10-1_i386.deb) | GF,S,C,J,P | `sudo dpkg -i gf_3.10-1_i386.deb` | +| Ubuntu (64-bit) | [gf\_3.10-1\_amd64.deb](gf_3.10-1_amd64.deb) | GF,S,C,J,P | `sudo dpkg -i gf_3.10-1_amd64.deb` | +| Windows | [gf-3.10-bin-windows.zip](gf-3.10-bin-windows.zip) | GF,S | `unzip gf-3.10-bin-windows.zip` | + +**Features** + +- GF = GF shell and grammar compiler +- S = `gf -server` mode +- C = C run-time system +- J/P = Java/Python binding to the C run-time system + +### Notes + +The Windows package is installed by just unpacking it anywhere. You will +probably need to set the `PATH` and `GF_LIB_PATH` environment variables, +see Inari's notes on [Installing GF on Windows](http://www.grammaticalframework.org/~inari/gf-windows.html#toc3). + +The Ubuntu `.deb` packages should work on Ubuntu 16.04 and 17.04 and +similar Linux distributions. + +The Raspian `.deb` package was created on a Raspberry Pi 3 and will +probably work on other ARM-based systems running Debian 9 (stretch) or +similar Linux distributions. + +The packages for macOS (Mac OS X) should work on at least 10.11 and +10.12 (El Capitan and Sierra). + +The Mac OS and Linux `.tar.gz` packages are designed to be installed in +`/usr/local`. You can install them in other locations, but then you need +to set the `GF_LIB_PATH` environment variable: + +``` +export GF_LIB_PATH=/usr/local/share/gf-3.9/lib +``` + +where `/usr/local` should be replaced with the path to the location +where you unpacked the package. + +## Installing the latest release from source + +[GF is on Hackage](http://hackage.haskell.org/package/gf), so under +normal circumstances the prodedure is fairly simple: + +1. Install a recent version of the [Haskell + Platform](http://hackage.haskell.org/platform), e.g. version 7.10.3 + (see note 2 below) +2. `cabal update` +3. On Linux: install some C libraries from your Linux distribution (see + note 1 below) +4. `cabal install gf` + +You can also download full source packages from GitHub: + +- [GF releases](https://github.com/GrammaticalFramework/gf-core/releases) +- [RGL releases](https://github.com/GrammaticalFramework/gf-rgl/releases) + +### Notes + +**Installation location** + +The above steps installs GF for a single user. The executables are put +in `$HOME/.cabal/bin` (or, with recent versions of the Haskell platform +on Mac OS X, in `$HOME/Library/Haskell/bin`), so it is a good idea to +put a line in your `.bash_profile` or `.profile` to add that directory +to you path: + +``` +PATH=$HOME/.cabal/bin:$PATH +``` + +or + +``` +PATH=$HOME/Library/Haskell/bin:$PATH +``` + +**Build tools** + +*TODO* Alex, Happy + +**Haskeline** + +GF uses [`haskeline`](http://hackage.haskell.org/package/haskeline), which +on Linux depends on some non-Haskell libraries that won't be installed +automatically by cabal, and therefore need to be installed manually. +Here is one way to do this: + +- On Ubuntu: `sudo apt-get install libghc-haskeline-dev` +- On Fedora: `sudo yum install ghc-haskeline-devel` + +**GHC version** + +The GF source code has been updated to compile with GHC +8.2.1. Using older versions of GHC (e.g. 8.0.x and 7.10.3) should still +work too. + +## Installing from the latest developer source code + +If you haven't already, clone our repository with: + +``` +git clone https://github.com/GrammaticalFramework/gf-core.git +``` + +If you've already cloned the repository previously, update with: + +``` +git pull +``` + +Then install with: + +``` +cabal install +``` + +or + +``` +stack install +``` + +The above notes for installing from source apply also in these cases. +For more info on working with the GF source code, see the +[GF Developers Guide](../doc/gf-developers.html). + +## Installing the RGL + +RGL releases are hosted on [GitHub](https://github.com/GrammaticalFramework/gf-rgl/releases). + +### Download pre-compiled + +TODO ... + +### Download release & compile + +TODO ... + +### Download latest developer version & compile + +Similar to the steps above, you need to + +``` +git clone https://github.com/GrammaticalFramework/gf-core.git +``` + +And then run + +``` +make +``` + +For more details about building the RGL, see [this page](https://github.com/GrammaticalFramework/gf-rgl/blob/master/README.md). + +## Older releases + +- [GF 3.9](index-3.9.html) (August 2017) +- [GF 3.8](index-3.8.html) (June 2016) +- [GF 3.7.1](index-3.7.1.html) (October 2015) +- [GF 3.7](index-3.7.html) (June 2015) +- [GF 3.6](index-3.6.html) (June 2014) +- [GF 3.5](index-3.5.html) (August 2013) +- [GF 3.4](index-3.4.html) (January 2013) +- [GF 3.3.3](index-3.3.3.html) (March 2012) +- [GF 3.3](index-3.3.html) (October 2011) +- [GF 3.2.9](index-3.2.9.html) source-only snapshot (September 2011) +- [GF 3.2](index-3.2.html) (December 2010) +- [GF 3.1.6](index-3.1.6.html) (April 2010) diff --git a/download/index-3.2.9.t2t b/download/index-3.2.9.t2t index f43ca30b0..61fa11a45 100644 --- a/download/index-3.2.9.t2t +++ b/download/index-3.2.9.t2t @@ -1,11 +1,6 @@ Grammatical Framework Download and Installation -%!style:../css/style.css -%!postproc(html): <TD><B> <TH> -%!postproc(html): </B></TD> </TH> -%!postproc(html): <H1> <H1><a href="../"><IMG src="../doc/Logos/gf0.png"></a> - **GF 3.2.9** source-only snapshot was released on 12 September 2011. What's new? Faster grammar compilation! @@ -77,9 +72,3 @@ The above notes for installing from source apply also in this case. - [GF 3.2 index-3.2.html] (December 2011). - [GF 3.1.6 index-3.1.6.html] (April 2010). - [GF 3.1 old-index.html] (December 2009). - - --------------------- - -[www.grammaticalframework.org http://www.grammaticalframework.org] - diff --git a/download/index-3.2.t2t b/download/index-3.2.t2t index c71cbcbb8..a1ffc8a0f 100644 --- a/download/index-3.2.t2t +++ b/download/index-3.2.t2t @@ -1,11 +1,6 @@ Grammatical Framework Download and Installation -%!style:../css/style.css -%!postproc(html): <TD><B> <TH> -%!postproc(html): </B></TD> </TH> -%!postproc(html): <H1> <H1><a href="../"><IMG src="../doc/Logos/gf0.png"></a> - **GF 3.2** was released on 23 December 2010. What's new? See the [Release notes release-3.2.html]. @@ -27,7 +22,7 @@ More packages might be added later. ===Notes=== -The Windows package is installed by just unpacking it anywhere. +The Windows package is installed by just unpacking it anywhere. It finds the libraries relative to the ``.exe`` file. The ``.deb`` packages work on Ubuntu 10.04 and 10.10. @@ -105,8 +100,3 @@ Subsequently: ``` The above notes for installing from source apply also in this case. - --------------------- - -[www.grammaticalframework.org http://www.grammaticalframework.org] - diff --git a/download/index-3.3.3.t2t b/download/index-3.3.3.t2t index 071041676..dfc77f84c 100644 --- a/download/index-3.3.3.t2t +++ b/download/index-3.3.3.t2t @@ -1,12 +1,6 @@ Grammatical Framework Download and Installation -%!style:../css/style.css -%!postproc(html): <TITLE> <meta name = "viewport" content = "width = device-width"><TITLE> -%!postproc(html): <TD><B> <TH> -%!postproc(html): </B></TD> </TH> -%!postproc(html): <H1> <H1><a href="../"><IMG src="../doc/Logos/gf0.png"></a> - **GF 3.3.3** was released on 3 March 2012. What's new? See the [Release notes release-3.3.3.html]. @@ -24,7 +18,7 @@ What's new? See the [Release notes release-3.3.3.html]. ===Notes=== -The Windows package is installed by just unpacking it anywhere. +The Windows package is installed by just unpacking it anywhere. It finds the libraries relative to the ``.exe`` file. %The ``.deb`` packages work on Ubuntu 10.04 and 10.10. @@ -127,9 +121,3 @@ For more info, see the [GF Developers Guide ../doc/gf-developers.html]. - [GF 3.2 index-3.2.html] (December 2010). - [GF 3.1.6 index-3.1.6.html] (April 2010). - [GF 3.1 old-index.html] (December 2009). - - --------------------- - -[www.grammaticalframework.org http://www.grammaticalframework.org] - diff --git a/download/index-3.3.t2t b/download/index-3.3.t2t index 5c6cdb053..1f04d407a 100644 --- a/download/index-3.3.t2t +++ b/download/index-3.3.t2t @@ -1,11 +1,6 @@ Grammatical Framework Download and Installation -%!style:../css/style.css -%!postproc(html): <TD><B> <TH> -%!postproc(html): </B></TD> </TH> -%!postproc(html): <H1> <H1><a href="../"><IMG src="../doc/Logos/gf0.png"></a> - **GF 3.3** was released on 27 October 2011. What's new? See the [Release notes release-3.3.html]. @@ -27,7 +22,7 @@ More packages might be added later. ===Notes=== -The Windows package is installed by just unpacking it anywhere. +The Windows package is installed by just unpacking it anywhere. It finds the libraries relative to the ``.exe`` file. %The ``.deb`` packages work on Ubuntu 10.04 and 10.10. @@ -115,9 +110,3 @@ The above notes for installing from source apply also in this case. - [GF 3.2 index-3.2.html] (December 2010). - [GF 3.1.6 index-3.1.6.html] (April 2010). - [GF 3.1 old-index.html] (December 2009). - - --------------------- - -[www.grammaticalframework.org http://www.grammaticalframework.org] - diff --git a/download/index-3.4.t2t b/download/index-3.4.t2t index b4edbfc01..278b3cb14 100644 --- a/download/index-3.4.t2t +++ b/download/index-3.4.t2t @@ -1,13 +1,6 @@ Grammatical Framework Download and Installation -%!style:../css/style.css -%!postproc(html): </HEAD> <STYLE>body { color: #333; } li>code,p>code,pre { color: #730; }</STYLE></HEAD> -%!postproc(html): <TITLE> <meta name = "viewport" content = "width = device-width"><TITLE> -%!postproc(html): <TD><B> <TH> -%!postproc(html): </B></TD> </TH> -%!postproc(html): <H1> <H1><a href="../"><IMG src="../doc/Logos/gf0.png"></a> - **GF 3.4** was released on 31 January 2013. What's new? See the [Release notes release-3.4.html]. @@ -20,14 +13,11 @@ What's new? See the [Release notes release-3.4.html]. | Fedora (32-bit) | [Fedora RPMs /~hallgren/tmp/Fedora/] | ``sudo rpm -i ...`` | Ubuntu (32-bit) | [gf_3.4-1_i386.deb gf_3.4-1_i386.deb] | ``sudo dpkg -i gf_3.4-1_i386.deb`` | Ubuntu (64-bit) | [gf_3.4-1_amd64.deb gf_3.4-1_amd64.deb] | ``sudo dpkg -i gf_3.4-1_amd64.deb`` -| Windows | [gf-3.4-bin-windows.zip gf-3.4-bin-windows.zip] | -%| ... | ... | ... - -%More binary packages might be added later. +| Windows | [gf-3.4-bin-windows.zip gf-3.4-bin-windows.zip] | - ===Notes=== -%The Windows package is installed by just unpacking it anywhere. +%The Windows package is installed by just unpacking it anywhere. %It finds the libraries relative to the ``.exe`` file. The ``.deb`` packages work on Ubuntu 12.04, 12.10 and 13.04. @@ -153,8 +143,3 @@ For more info on working with the GF source code, see the - [GF 3.2 index-3.2.html] (December 2010). - [GF 3.1.6 index-3.1.6.html] (April 2010). - [GF 3.1 old-index.html] (December 2009). - - --------------------- - -[www.grammaticalframework.org http://www.grammaticalframework.org] diff --git a/download/index-3.5.t2t b/download/index-3.5.t2t index 9f1bbe4b2..0c1b2cafa 100644 --- a/download/index-3.5.t2t +++ b/download/index-3.5.t2t @@ -1,13 +1,6 @@ Grammatical Framework Download and Installation -%!style:../css/style.css -%!postproc(html): </HEAD> <STYLE>body { color: #333; } li>code,p>code,pre { color: #730; }</STYLE></HEAD> -%!postproc(html): <TITLE> <meta name = "viewport" content = "width = device-width"><TITLE> -%!postproc(html): <TD><B> <TH> -%!postproc(html): </B></TD> </TH> -%!postproc(html): <H1> <H1><a href="../"><IMG src="../doc/Logos/gf0.png"></a> - **GF 3.5** was released on 6 August 2013. What's new? See the [Release notes release-3.5.html]. @@ -157,8 +150,3 @@ For more info on working with the GF source code, see the - [GF 3.2 index-3.2.html] (December 2010). - [GF 3.1.6 index-3.1.6.html] (April 2010). - [GF 3.1 old-index.html] (December 2009). - - --------------------- - -[www.grammaticalframework.org http://www.grammaticalframework.org] diff --git a/download/index-3.6.t2t b/download/index-3.6.t2t index 4ba7f67fd..9c4482e4d 100644 --- a/download/index-3.6.t2t +++ b/download/index-3.6.t2t @@ -1,13 +1,6 @@ Grammatical Framework Download and Installation -%!style:../css/style.css -%!postproc(html): </HEAD> <STYLE>body { color: #333; } li>code,p>code,pre { color: #730; }</STYLE></HEAD> -%!postproc(html): <TITLE> <meta name = "viewport" content = "width = device-width"><TITLE> -%!postproc(html): <H1> <H1><a href="../"><IMG src="../doc/Logos/gf0.png"></a> -%!postproc(html): <TD><I> <TD><small> -%!postproc(html): </I></TD> </small></TD> - **GF 3.6** was released on 23 June 2014. What's new? See the [Release notes release-3.6.html]. @@ -177,8 +170,3 @@ For more info on working with the GF source code, see the - [GF 3.2 index-3.2.html] (December 2010). - [GF 3.1.6 index-3.1.6.html] (April 2010). - [GF 3.1 old-index.html] (December 2009). - - --------------------- - -[www.grammaticalframework.org http://www.grammaticalframework.org] diff --git a/download/index-3.7.1.t2t b/download/index-3.7.1.t2t index 0bbba65a9..b87f7d38c 100644 --- a/download/index-3.7.1.t2t +++ b/download/index-3.7.1.t2t @@ -1,12 +1,6 @@ Grammatical Framework Download and Installation -%!style:../css/notes.css -%!postproc(html): <TITLE> <meta name = "viewport" content = "width = device-width"><TITLE> -%!postproc(html): <H1> <H1><a href="../"><IMG src="../doc/Logos/gf0.png"></a> -%!postproc(html): <TD><I> <TD><small> -%!postproc(html): </I></TD> </small></TD> - **GF 3.7.1** was released on 2 October 2015. What's new? See the [Release notes release-3.7.1.html]. @@ -46,7 +40,7 @@ The ``.deb`` packages work on Ubuntu 12.04, 14.04 and 15.04. The packages for Mac OS X should work on at least 10.9, 10.10 and 10.11 (Mavericks, Yosemite and El Capitan). -(*) **Note** that for compatibility with OS X 10.11, +(*) **Note** that for compatibility with OS X 10.11, ``gf-3.7.1.pkg`` will install the ``gf`` executable in ``/usr/local/bin`` instead of ``/usr/bin``, so make sure ``/usr/local/bin`` is in your ``$PATH``. Also, if you still have an older version of GF installed in ``/usr/bin``, @@ -180,8 +174,3 @@ For more info on working with the GF source code, see the - [GF 3.2 index-3.2.html] (December 2010). - [GF 3.1.6 index-3.1.6.html] (April 2010). - [GF 3.1 old-index.html] (December 2009). - - --------------------- - -[www.grammaticalframework.org http://www.grammaticalframework.org] diff --git a/download/index-3.7.t2t b/download/index-3.7.t2t index d234336e4..c59d04ebd 100644 --- a/download/index-3.7.t2t +++ b/download/index-3.7.t2t @@ -1,13 +1,6 @@ Grammatical Framework Download and Installation -%!style:../css/style.css -%!postproc(html): </HEAD> <STYLE>body { color: #333; } li>code,p>code,pre { color: #730; }</STYLE></HEAD> -%!postproc(html): <TITLE> <meta name = "viewport" content = "width = device-width"><TITLE> -%!postproc(html): <H1> <H1><a href="../"><IMG src="../doc/Logos/gf0.png"></a> -%!postproc(html): <TD><I> <TD><small> -%!postproc(html): </I></TD> </small></TD> - **GF 3.7** was released on 25 June 2015. What's new? See the [Release notes release-3.7.html]. @@ -173,8 +166,3 @@ For more info on working with the GF source code, see the - [GF 3.2 index-3.2.html] (December 2010). - [GF 3.1.6 index-3.1.6.html] (April 2010). - [GF 3.1 old-index.html] (December 2009). - - --------------------- - -[www.grammaticalframework.org http://www.grammaticalframework.org] diff --git a/download/index-3.8.t2t b/download/index-3.8.t2t index 1222cdff1..9cafd548c 100644 --- a/download/index-3.8.t2t +++ b/download/index-3.8.t2t @@ -1,12 +1,6 @@ Grammatical Framework Download and Installation -%!style:../css/notes.css -%!postproc(html): <TITLE> <meta name = "viewport" content = "width = device-width"><TITLE> -%!postproc(html): <H1> <H1><a href="../"><IMG src="../doc/Logos/gf0.png"></a> -%!postproc(html): <TD><I> <TD><small> -%!postproc(html): </I></TD> </small></TD> - **GF 3.8** was released on 22 June 2016. What's new? See the [Release notes release-3.8.html]. @@ -49,7 +43,7 @@ Linux distributions. The packages for Mac OS X should work on at least 10.9, 10.10 and 10.11 (Mavericks, Yosemite and El Capitan). -(*) **Note** that for compatibility with OS X 10.11, +(*) **Note** that for compatibility with OS X 10.11, ``gf-3.8.pkg`` will install the ``gf`` executable in ``/usr/local/bin`` instead of ``/usr/bin``, so make sure ``/usr/local/bin`` is in your ``$PATH``. Also, if you still have an older version of GF installed in ``/usr/bin``, @@ -171,8 +165,3 @@ For more info on working with the GF source code, see the - [GF 3.2 index-3.2.html] (December 2010). - [GF 3.1.6 index-3.1.6.html] (April 2010). - [GF 3.1 old-index.html] (December 2009). - - --------------------- - -[www.grammaticalframework.org http://www.grammaticalframework.org] diff --git a/download/index-3.9.t2t b/download/index-3.9.t2t new file mode 100644 index 000000000..aa5b1c5de --- /dev/null +++ b/download/index-3.9.t2t @@ -0,0 +1,192 @@ +Grammatical Framework Download and Installation + + +**GF 3.9** was released on 11 August 2017. + +What's new? See the [Release notes release-3.9.html]. + + +== Binary packages == + +|| Platform | Download | Features | How to install +| macOS | [gf-3.9.pkg gf-3.9.pkg] | //GF+S+C+J+P// | Double-click on the package icon +| macOS | [gf-3.9-bin-intel-mac.tar.gz gf-3.9-bin-intel-mac.tar.gz] | //GF+S+C+J+P// | ``sudo tar -C /usr/local -zxf gf-3.9-bin-intel-mac.tar.gz`` +%| Fedora (32-bit) | [Fedora RPMs /~hallgren/tmp/Fedora/] | //GF+S+C+J+P// | ``sudo rpm -i ...`` +| Raspian 9.1 | [gf_3.9-1_armhf.deb gf_3.9-1_armhf.deb] | //GF+S+C+J+P// | ``sudo dpkg -i gf_3.9-1_armhf.deb`` +| Ubuntu (32-bit) | [gf_3.9-1_i386.deb gf_3.9-1_i386.deb] | //GF+S+C+J+P// | ``sudo dpkg -i gf_3.9-1_i386.deb`` +| Ubuntu (64-bit) | [gf_3.9-1_amd64.deb gf_3.9-1_amd64.deb] | //GF+S+C+J+P// | ``sudo dpkg -i gf_3.9-1_amd64.deb`` +| Windows | [gf-3.9-bin-windows.zip gf-3.9-bin-windows.zip] | //GF+S// | ``unzip gf-3.9-bin-windows.zip`` + +%| MINGW | [gf-3.9-bin-i686-MINGW32_NT-6.1.tar.gz gf-3.9-bin-i686-MINGW32_NT-6.1.tar.gz] | //GF+S+C// | ``tar -C / gf-3.9-bin-i686-MINGW32_NT-6.1.tar.gz`` +%| ... | ... | ... | ... + +Features: GF = GF shell and grammar compiler and the Resource Grammar Library, +S = ``gf -server`` mode, +C = C run-time system, +J/P = Java/Python binding to the C run-time system + +%More binary packages might be added later. + +===Notes=== + +The Windows package is installed by just unpacking it anywhere. +%It finds the libraries relative to the ``.exe`` file. +You will probably need to set the ``PATH`` and ``GF_LIB_PATH`` environment +variables, see Inari's notes on +[Installing GF on Windows http://www.grammaticalframework.org/~inari/gf-windows.html#toc3]. + +%The new experimental MINGW package is for use in the +%[MINGW http://www.mingw.org] environment in Windows. Unpack it in the MSYS shell +%(which is started with ``C:\MinGW\msys\1.0\msys.bat``). +%It should work out of the box without any additional settings. + +The Ubuntu ``.deb`` packages should work on Ubuntu 16.04 and 17.04 and similar +Linux distributions. + +The Raspian ``.deb`` package was created on a Raspberry Pi 3 and will probably +work on other ARM-based systems running Debian 9 (stretch) or similar +Linux distributions. + +The packages for macOS (Mac OS X) should work on at +least 10.11 and 10.12 (El Capitan and Sierra). + +%(*) **Note** that for compatibility with OS X 10.11 and newer, +%``gf-3.9.pkg`` will install the ``gf`` executable in ``/usr/local/bin`` +%instead of ``/usr/bin``, so make sure ``/usr/local/bin`` is in your ``$PATH``. +%Also, if you still have an older version of GF installed in ``/usr/bin``, +%remove it and/or make sure ``/usr/local/bin`` comes before ``/usr/bin`` +%in your ``$PATH`` so you don't accidentally run the old version. + +The Mac OS and Linux ``.tar.gz`` packages are designed to be installed in +``/usr/local``. +You can install them in other locations, but then you need to set the +``GF_LIB_PATH`` environment variable: + +``` + export GF_LIB_PATH=/usr/local/share/gf-3.9/lib +``` + +where ``/usr/local`` should be replaced with the path to the location where you +unpacked the package. + + +==Installing the latest release from source== + +[GF is on Hackage http://hackage.haskell.org/package/gf], so under normal +circumstances the prodedure is fairly simple: + ++ Install a recent version of the + [Haskell Platform http://hackage.haskell.org/platform], + e.g. version 7.10.3 (see note 2 below) ++ ``cabal update`` ++ On Linux: install some C libraries from your Linux distribution + (see note 1 below) ++ ``cabal install gf`` + + +You can also download the full source package from here: +[``gf-3.9.tar.gz`` gf-3.9.tar.gz]. + +=== Notes === + +The above steps installs GF for a single user. +% and does not require root privileges. +The executables are put in ``$HOME/.cabal/bin`` +(or, with recent versions of the Haskell platform on Mac OS X, +in ``$HOME/Library/Haskell/bin``), so it is a good +idea to put a line in your ``.bash_profile`` or ``.profile`` +to add that directory to you path: + +``` + PATH=$HOME/.cabal/bin:$PATH +``` +or +``` + PATH=$HOME/Library/Haskell/bin:$PATH +``` + +**Note 1**. +GF uses [``haskeline`` http://hackage.haskell.org/package/haskeline], which +on Linux depends on some non-Haskell libraries that +won't be installed automatically by cabal, and therefore need to be installed +manually. Here is one way to do this: + +- On Ubuntu: ``sudo apt-get install libghc-haskeline-dev`` +- On Fedora: ``sudo yum install ghc-haskeline-devel`` + + +**Note 2**. +The GF source code has been updated to compile with GHC 8.2.1. Using older +versions of GHC (e.g. 8.0.x and 7.10.3) should still work too. + +%=== Known problems === +% +%There seems to be a bug in some versions of Cabal that can cause +% +%``` +% Distribution/Simple/PackageIndex.hs:124:8-13: Assertion failed +%``` +% +%if the same version of GF is +%already installed. If you encounter this, you can use ``ghc-pkg unregister gf`` +%to remove the installed version of GF and ``ghc-pkg list gf`` to verify that +%it is gone. + +==Installing from the latest developer source code== + +The first time: +%, assuming you already have the Haskell Platform and darcs + +``` + git clone https://github.com/GrammaticalFramework/gf-core.git + cd gf-core + cabal install +``` + +and + +``` + git clone https://github.com/GrammaticalFramework/gf-rgl.git + cd gf-rgl + make +``` + +Subsequently: + +``` + cd gf-core + git pull + cabal install +``` + +and + +``` + cd gf-rgl + git pull + make +``` + +The above notes for installing from source apply also in these cases. +For more info on working with the GF source code, see the +[GF Developers Guide ../doc/gf-developers.html]. + +==Using Stack== + +You can also use [Stack https://www.haskellstack.org] to compile GF, just replace ``cabal install`` above +with ``stack install`` (assuming you already have Stack set up). + +==Older releases== + +- [GF 3.8 index-3.8.html] (June 2016) +- [GF 3.7.1 index-3.7.1.html] (October 2015) +- [GF 3.7 index-3.7.html] (June 2015) +- [GF 3.6 index-3.6.html] (June 2014) +- [GF 3.5 index-3.5.html] (August 2013) +- [GF 3.4 index-3.4.html] (January 2013). +- [GF 3.3.3 index-3.3.3.html] (March 2012). +- [GF 3.3 index-3.3.html] (October 2011). +- [GF 3.2.9 index-3.2.9.html] source-only snapshot (September 2011). +- [GF 3.2 index-3.2.html] (December 2010). +- [GF 3.1.6 index-3.1.6.html] (April 2010). +- [GF 3.1 old-index.html] (December 2009). diff --git a/download/index.t2t b/download/index.t2t index 281c874cf..aa5b1c5de 100644 --- a/download/index.t2t +++ b/download/index.t2t @@ -1,12 +1,6 @@ Grammatical Framework Download and Installation -%!style:../css/notes.css -%!postproc(html): <TITLE> <meta name = "viewport" content = "width = device-width"><TITLE> -%!postproc(html): <H1> <H1><a href="../"><IMG src="../doc/Logos/gf0.png"></a> -%!postproc(html): <TD><I> <TD><small> -%!postproc(html): </I></TD> </small></TD> - **GF 3.9** was released on 11 August 2017. What's new? See the [Release notes release-3.9.html]. @@ -22,6 +16,7 @@ What's new? See the [Release notes release-3.9.html]. | Ubuntu (32-bit) | [gf_3.9-1_i386.deb gf_3.9-1_i386.deb] | //GF+S+C+J+P// | ``sudo dpkg -i gf_3.9-1_i386.deb`` | Ubuntu (64-bit) | [gf_3.9-1_amd64.deb gf_3.9-1_amd64.deb] | //GF+S+C+J+P// | ``sudo dpkg -i gf_3.9-1_amd64.deb`` | Windows | [gf-3.9-bin-windows.zip gf-3.9-bin-windows.zip] | //GF+S// | ``unzip gf-3.9-bin-windows.zip`` + %| MINGW | [gf-3.9-bin-i686-MINGW32_NT-6.1.tar.gz gf-3.9-bin-i686-MINGW32_NT-6.1.tar.gz] | //GF+S+C// | ``tar -C / gf-3.9-bin-i686-MINGW32_NT-6.1.tar.gz`` %| ... | ... | ... | ... @@ -195,8 +190,3 @@ with ``stack install`` (assuming you already have Stack set up). - [GF 3.2 index-3.2.html] (December 2010). - [GF 3.1.6 index-3.1.6.html] (April 2010). - [GF 3.1 old-index.html] (December 2009). - - --------------------- - -[www.grammaticalframework.org http://www.grammaticalframework.org] diff --git a/download/release-3.1.6.t2t b/download/release-3.1.6.t2t index aec8bb650..c3500665a 100644 --- a/download/release-3.1.6.t2t +++ b/download/release-3.1.6.t2t @@ -5,13 +5,13 @@ GF Version 3.1.6 Release Notes =Installation= The binaries now work out of the box for each platform and support -completions (file names and parsing), because readline has been +completions (file names and parsing), because readline has been changed to haskeline. To compile from source, GHC 6.12 is now required. But GHC is not needed if the binary executables are used. -Binaries (``.gfo`` and ``.pgf`` files) compiled with GF 3.1 are incompatible +Binaries (``.gfo`` and ``.pgf`` files) compiled with GF 3.1 are incompatible with 3.1.6 and must either be removed; alternatively, the ``-src`` flag can be used when compiling. @@ -24,8 +24,8 @@ Grammar language - improved support for dependent types (see ``SUMO``, ``nqueens`` in ``examples``) -Shell commands and options (see ``help`` in GF for more information) -- ``eb``: example-based grammar file conversion +Shell commands and options (see ``help`` in GF for more information) +- ``eb``: example-based grammar file conversion (see ``examples/animals/QuestionI.gf``) - ``vd = visualize_dependency``: show dependency tree - ``vp = visualize_parse``: show parse tree @@ -57,8 +57,3 @@ Internal Javascript generation is not updated to the new PGF format. [GF 3.1 old-index.html] should still be used for building Javascript applications. - - - - - diff --git a/download/release-3.10.md b/download/release-3.10.md new file mode 100644 index 000000000..574f82f94 --- /dev/null +++ b/download/release-3.10.md @@ -0,0 +1,16 @@ +--- +title: GF 4.0.0 Release Notes +date: 28 November 2018 +... + +## Installation + +See the [download page](index.html). + +## What's new + +- In this release, the GF "core" (compiler and runtimes) have been split from the RGL. + +### Other + +- A lot of repository cleanup diff --git a/download/release-3.2.t2t b/download/release-3.2.t2t index 3ad975697..60800adc9 100644 --- a/download/release-3.2.t2t +++ b/download/release-3.2.t2t @@ -1,9 +1,6 @@ GF Version 3.2 Release Notes December 2010 -%!style:../css/style.css -%!postproc(html): <H1> <H1><IMG src="../doc/Logos/gf0.png"> - ==Installation== See the [download page http://www.grammaticalframework.org/download/index.html]. @@ -34,8 +31,3 @@ See the [download page http://www.grammaticalframework.org/download/index.html]. - GF compiler: GPL - Run-time libraries and Resource Grammar Library: LGPL + BSD - - --------------------- - -[www.grammaticalframework.org http://www.grammaticalframework.org] diff --git a/download/release-3.3.3.t2t b/download/release-3.3.3.t2t index 99387df01..c0f5fba98 100644 --- a/download/release-3.3.3.t2t +++ b/download/release-3.3.3.t2t @@ -1,10 +1,6 @@ GF Version 3.3.3 Release Notes March 2012 -%!style:../css/style.css -%!postproc(html): <TITLE> <meta name = "viewport" content = "width = device-width"><TITLE> -%!postproc(html): <H1> <H1><IMG src="../doc/Logos/gf0.png"> - ==Installation== See the [download page http://www.grammaticalframework.org/download/index.html]. @@ -25,8 +21,3 @@ See the [download page http://www.grammaticalframework.org/download/index.html]. - Fix for a bug that prevented the shell commands ``abstract_info``, ``generate_random`` and ``generate_trees`` from working properly. - Various other small improvements and bug fixes. - - --------------------- - -[www.grammaticalframework.org http://www.grammaticalframework.org] diff --git a/download/release-3.3.t2t b/download/release-3.3.t2t index 00dd1bece..6c007afb5 100644 --- a/download/release-3.3.t2t +++ b/download/release-3.3.t2t @@ -1,17 +1,13 @@ GF Version 3.3 Release Notes October 2011 -%!style:../css/style.css -%!postproc(html): <TITLE> <meta name = "viewport" content = "width = device-width"><TITLE> -%!postproc(html): <H1> <H1><IMG src="../doc/Logos/gf0.png"> - ==Installation== See the [download page http://www.grammaticalframework.org/download/index.html]. ==New features== -- Source language extension: it is now possible to override the oper definitions in an interface, by using the +- Source language extension: it is now possible to override the oper definitions in an interface, by using the header syntax ``instance Foo of Bar - [f,g,h]``. - New functionalities in GF shell commands (more information with ``help`` command-name). - ``aw`` = ``align_words`` option ``-giza`` prints word alignments in Giza++ format. @@ -29,8 +25,3 @@ See the [download page http://www.grammaticalframework.org/download/index.html]. and the web-based grammar editor. - Faster grammar compilation (also included in the GF 3.2.9 source-only snapshot). - - --------------------- - -[www.grammaticalframework.org http://www.grammaticalframework.org] diff --git a/download/release-3.4.t2t b/download/release-3.4.t2t index a317f7fd0..fa1f18a0a 100644 --- a/download/release-3.4.t2t +++ b/download/release-3.4.t2t @@ -1,10 +1,6 @@ GF Version 3.4 Release Notes January 2013 -%!style:../css/style.css -%!postproc(html): <TITLE> <meta charset="UTF-8"><meta name = "viewport" content = "width = device-width"> <TITLE> -%!postproc(html): <H1> <H1><a href="../"><IMG src="../doc/Logos/gf0.png"></a> - ==Installation== See the [download page http://www.grammaticalframework.org/download/index.html]. @@ -46,8 +42,3 @@ See the [download page http://www.grammaticalframework.org/download/index.html]. - Some new functionality in the web-based grammar editor, e.g. preliminary support for public grammars. - Various other small improvements and bug fixes. - - --------------------- - -[www.grammaticalframework.org http://www.grammaticalframework.org] diff --git a/download/release-3.5.t2t b/download/release-3.5.t2t index c05c36f26..c9ffe568c 100644 --- a/download/release-3.5.t2t +++ b/download/release-3.5.t2t @@ -1,10 +1,6 @@ GF 3.5 Release Notes August 2013 -%!style:../css/style.css -%!postproc(html): <TITLE> <meta charset="UTF-8"><meta name = "viewport" content = "width = device-width"> <TITLE> -%!postproc(html): <H1> <H1><a href="../"><IMG src="../doc/Logos/gf0.png"></a> - ==Installation== See the [download page http://www.grammaticalframework.org/download/index.html]. @@ -70,7 +66,3 @@ of GF 3.4. [``network-2.4.1.1`` https://github.com/haskell/network/commit/f2168b1f8978b4ad9c504e545755f0795ac869ce]. - Various other small improvements and bug fixes. %- [...] - --------------------- - -[www.grammaticalframework.org http://www.grammaticalframework.org] diff --git a/download/release-3.6.t2t b/download/release-3.6.t2t index 084756a42..aa75f5d6a 100644 --- a/download/release-3.6.t2t +++ b/download/release-3.6.t2t @@ -1,10 +1,6 @@ GF 3.6 Release Notes June 2014 -%!style:../css/style.css -%!postproc(html): <TITLE> <meta charset="UTF-8"><meta name = "viewport" content = "width = device-width"> <TITLE> -%!postproc(html): <H1> <H1><a href="../"><IMG src="../doc/Logos/gf0.png"></a> - ==Installation== See the [download page http://www.grammaticalframework.org/download/index.html]. @@ -26,7 +22,7 @@ Closed [issues http://code.google.com/p/grammatical-framework/issues/list]: as ``--# -coding=``//enc//, instead of ``flags coding=``//enc//. See the separate document [GF character encoding changes encoding-change.html] for more details. -- Record update: in record objects (but not types) of form ``r ** s``, the values assigned +- Record update: in record objects (but not types) of form ``r ** s``, the values assigned in ``s`` now overwrite those in ``r``. In previous versions, record extensions with overlapping assignments in ``r`` and ``s`` were not supported, and their behaviour was unpredictable. @@ -107,8 +103,3 @@ Closed [issues http://code.google.com/p/grammatical-framework/issues/list]: - ``c-wordforword``: this works as ``c-translate`` but does a word-for-word lookup to create a (potentially very low quality) translation that can be used if all else fails. - - --------------------- - -[www.grammaticalframework.org http://www.grammaticalframework.org] diff --git a/download/release-3.7.1.t2t b/download/release-3.7.1.t2t index 8b2a27aca..c31ee0d93 100644 --- a/download/release-3.7.1.t2t +++ b/download/release-3.7.1.t2t @@ -1,10 +1,6 @@ GF 3.7.1 Release Notes October 2015 -%!style:../css/notes.css -%!postproc(html): <TITLE> <meta charset="UTF-8"><meta name = "viewport" content = "width = device-width"> <TITLE> -%!postproc(html): <H1> <H1><a href="../"><IMG src="../doc/Logos/gf0.png"></a> - ==Installation== See the [download page http://www.grammaticalframework.org/download/index.html]. @@ -18,10 +14,10 @@ Over 170 changes have been pushed to the source repository since ====New features and notable changes==== -- GF shell: ``cc -trace`` (preliminary): you can now do things like - +- GF shell: ``cc -trace`` (preliminary): you can now do things like + ``cc -trace mkV "debug"`` - + to see a trace of all opers with their arguments and results during the computation of ``mkV "debug"``. @@ -29,7 +25,7 @@ Over 170 changes have been pushed to the source repository since from the GF shell by starting GF with ``gf -cshell`` or ``gf -crun``. Only limited functionality is available when running the shell in these modes (use the ``help`` command in the shell for details): - + - You can only import ``.pgf`` files, not source files. - The ``-retain`` flag can not be used and the commands that require it to work are not available. @@ -77,8 +73,3 @@ Over 170 changes have been pushed to the source repository since you can leave ``&+`` uninterpreted instead of gluing the adjacent tokens. This means that the output is left in a format that can be parsed in a subsequent request. - - --------------------- - -[www.grammaticalframework.org http://www.grammaticalframework.org] diff --git a/download/release-3.7.t2t b/download/release-3.7.t2t index 8b9badf50..73c52d974 100644 --- a/download/release-3.7.t2t +++ b/download/release-3.7.t2t @@ -1,10 +1,6 @@ GF 3.7 Release Notes June 2015 -%!style:../css/style.css -%!postproc(html): <TITLE> <meta charset="UTF-8"><meta name = "viewport" content = "width = device-width"> <TITLE> -%!postproc(html): <H1> <H1><a href="../"><IMG src="../doc/Logos/gf0.png"></a> - ==Installation== See the [download page http://www.grammaticalframework.org/download/index.html]. @@ -40,7 +36,7 @@ Over 800 changes have been pushed to the source repository since ``BIND``, ``SOFT_BIND``, ``SOFT_SPACE``, ``CAPIT``, ``ALL_CAPIT`` and ``nonExist``. - It is now possible to define callbacks for literals from the Haskell - binding to the C runtime. This is used for instance in + binding to the C runtime. This is used for instance in the Wide Coverage translator on the Web. @@ -103,8 +99,3 @@ Over 800 changes have been pushed to the source repository since unused for 24 hours, to keep memory use down in long running servers. - PGF service: limit the number of parallel calls to the C run-time parse function to 4 by default. The limit can be changed with the ``-j`` flag. - - --------------------- - -[www.grammaticalframework.org http://www.grammaticalframework.org] diff --git a/download/release-3.8.t2t b/download/release-3.8.t2t index 669f1235b..05b7b7303 100644 --- a/download/release-3.8.t2t +++ b/download/release-3.8.t2t @@ -1,10 +1,6 @@ GF 3.8 Release Notes June 2016 -%!style:../css/notes.css -%!postproc(html): <TITLE> <meta charset="UTF-8"><meta name = "viewport" content = "width = device-width"> <TITLE> -%!postproc(html): <H1> <H1><a href="../"><IMG src="../doc/Logos/gf0.png"></a> - ==Installation== See the [download page http://www.grammaticalframework.org/download/index.html]. @@ -25,7 +21,7 @@ Roughly 400 changes have been pushed to the source repository since [universal dependency http://universaldependencies.org/] diagrams in various formats, see ``help vd``. - The C runtime now includes an experimental library for managing - and querying ontologies built on top of the abstract syntax of + and querying ontologies built on top of the abstract syntax of a grammar. Since the ontology is based on an abstract syntax, it is language independent by design. For now the library is only used in the GF Offline Translator. The library uses @@ -100,7 +96,3 @@ Roughly 400 changes have been pushed to the source repository since translations in the domain they cover. You can change the order in which the selected grammars are tried by dragging them up and down in the list. - --------------------- - -[www.grammaticalframework.org http://www.grammaticalframework.org] diff --git a/download/release-3.9.t2t b/download/release-3.9.t2t index fc1e71447..c6277adfb 100644 --- a/download/release-3.9.t2t +++ b/download/release-3.9.t2t @@ -1,10 +1,6 @@ GF 3.9 Release Notes August 2017 -%!style:../css/notes.css -%!postproc(html): <TITLE> <meta charset="UTF-8"><meta name = "viewport" content = "width = device-width"> <TITLE> -%!postproc(html): <H1> <H1><a href="../"><IMG src="../doc/Logos/gf0.png"></a> - ==Installation== See the [download page http://www.grammaticalframework.org/download/index.html]. @@ -36,7 +32,7 @@ very innefficient for some grammars. - A new .NET binding for the GF runtime is available. -- The API in the Java binding is extended and it covers more from +- The API in the Java binding is extended and it covers more from the full functionality of the C runtime. @@ -66,8 +62,3 @@ the full functionality of the C runtime. - PGF service: support for language-specific depencency configurations in ``command=deptree``. - - --------------------- - -[www.grammaticalframework.org http://www.grammaticalframework.org] diff --git a/index.html b/index.html index bc621311c..4ec6d1b8a 100644 --- a/index.html +++ b/index.html @@ -1,418 +1,379 @@ -<!DOCTYPE html> -<HTML> -<HEAD> -<TITLE>GF - Grammatical Framework - - - - - - - + + + + - + GF - Grammatical Framework + -
    - -

    Grammatical Framework

    - A programming language for multilingual grammar applications + + + + + + + + +
    + +
    + GF Logo +

    Grammatical Framework

    +

    A programming language for multilingual grammar applications

    - + +
    +
    +
    +
    +
    +
    - - + + +