From 99dad489619ffb44301205975a8b2acac39939e9 Mon Sep 17 00:00:00 2001 From: "John J. Camilleri" Date: Sun, 4 Nov 2018 15:11:35 +0100 Subject: Use Pandoc instead of txt2tags binary, much more configurable --- doc/gf-reference.t2t | 81 ++++++++++++++++++++++++++-------------------------- 1 file changed, 40 insertions(+), 41 deletions(-) (limited to 'doc') diff --git a/doc/gf-reference.t2t b/doc/gf-reference.t2t index aab828f0a..676a2088d 100644 --- a/doc/gf-reference.t2t +++ b/doc/gf-reference.t2t @@ -15,11 +15,11 @@ April 4, 2006 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 +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``). +help command with ``help``, and help on invoking +GF with ``gf -help``. ===A complete example=== @@ -31,10 +31,10 @@ phrases //one pizza// and //two pizzas//. File ``Order.gf``: ``` abstract Order = { -cat - Order ; +cat + Order ; Item ; -fun +fun One, Two : Item -> Order ; Pizza : Item ; } @@ -42,13 +42,13 @@ fun File ``OrderEng.gf`` (the top file): ``` --# -path=.:prelude -concrete OrderEng of Order = +concrete OrderEng of Order = open Res, Prelude in { flags startcat=Order ; -lincat - Order = SS ; +lincat + Order = SS ; Item = {s : Num => Str} ; -lin +lin One it = ss ("one" ++ it.s ! Sg) ; Two it = ss ("two" ++ it.s ! Pl) ; Pizza = regNoun "pizza" ; @@ -84,10 +84,10 @@ File named ``Foo.gf`` contains module named Each module has the structure ``` -moduletypename = +moduletypename = Inherits ** -- optional open Opens in -- optional - { Judgements } + { Judgements } ``` Inherits are names of modules of the same type. Inheritance can be restricted: @@ -112,15 +112,15 @@ 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 +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`` +``` +The forms +``param``, ``oper`` may appear in ``concrete`` as well, but are then not inherited to extensions. @@ -134,11 +134,11 @@ Comments have the forms A ``concrete`` can be opened like a ``resource``. It is translated as follows: ``` -cat C ---> oper C : Type = +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 = <>} +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``. @@ -155,7 +155,7 @@ 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 +data f : A -> C -- same as fun f : A -> C; data C=f lincat C = T -- define lin.type of cat C @@ -166,7 +166,7 @@ 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 +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 @@ -207,14 +207,14 @@ 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}-- 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 @@ -239,7 +239,7 @@ f a b -- : C if fun f : A -> B -> C ``` Higher-Order Abstract syntax (HOAS): functions as arguments: ``` -F a (\x -> c) -- : C if a : A, c : C (x : B), +F a (\x -> c) -- : C if a : A, c : C (x : B), fun F : A -> (B -> C) -> C ``` Tokens and token lists @@ -266,16 +266,16 @@ table { -- by pattern matching Pl => "mice" ; _ => "mouse" -- wildcard pattern } -table { - n => regn n "cat" -- variable 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"} +\\_ => "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 +case e of {...} -- same as table {...} ! e ``` Records ``` @@ -296,7 +296,7 @@ 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 ; y=e in t -- same as let x=d in let y=e in t let {...} in t -- same as let ... in t @@ -316,10 +316,10 @@ Typed expression ``` -- same as t, to help type inference ``` -Accessing bound variables in ``lin``: use fields ``$1, $2, $3,...``. +Accessing bound variables in ``lin``: use fields ``$1, $2, $3,...``. Example: ``` -fun F : (A : Set) -> (El A -> Prop) -> Prop ; +fun F : (A : Set) -> (El A -> Prop) -> Prop ; lin F A B = {s = ["for all"] ++ A.s ++ B.$1 ++ B.s} ``` @@ -367,7 +367,7 @@ oper 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 + 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 @@ -388,7 +388,7 @@ Flags can appear, with growing priority, Some common flags used in grammars: ``` -startcat=cat use this category as default +startcat=cat use this category as default lexer=literals int and string literals recognized lexer=code like program code @@ -407,7 +407,7 @@ 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``, +For the full set of values for ``FLAG``, use on-line ``h -FLAG``. @@ -415,7 +415,7 @@ use on-line ``h -FLAG``. ===File import search paths=== Colon-separated list of directories searched in the -given order: +given order: ``` --# -path=.:../abstract:../common:prelude ``` @@ -443,17 +443,17 @@ directories, colon-separated, in ``GF_LIB_PATH``. ===Alternative grammar formats=== -**Old GF** (before GF 2.0): +**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. +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. +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. @@ -477,7 +477,7 @@ on command line. This file can be the grammar file itself. ``` in Cat "example string" ``` -are preprocessed by using a parser given by the flag +are preprocessed by using a parser given by the flag ``` --# -resource=File ``` @@ -489,5 +489,4 @@ and the result is written to ``foo.gf``. [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. - +//The Journal of Functional Programming//, vol. 14:2. 2004, pp. 145-189. -- cgit v1.2.3 From 37e0754cf04a0601cc59796dd923fe59ea16f25f Mon Sep 17 00:00:00 2001 From: "John J. Camilleri" Date: Sun, 4 Nov 2018 21:12:32 +0100 Subject: Fix encoding on tutorial --- doc/tutorial/gf-tutorial.t2t | 54 ++++++++++++++++++++++---------------------- 1 file changed, 27 insertions(+), 27 deletions(-) (limited to 'doc') 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. -- cgit v1.2.3 From 14d35c8a31d96348d951375fbc9b73fddd8495b9 Mon Sep 17 00:00:00 2001 From: "John J. Camilleri" Date: Tue, 27 Nov 2018 22:51:44 +0100 Subject: Various fixes & cleanup in doc/ folder --- doc/Makefile | 15 -------- doc/gf-developers.t2t | 22 +---------- doc/gf-help-full.txt | 102 +++++++++++++++++++++++++++++++++++--------------- doc/gf-reference.pdf | Bin 51578 -> 0 bytes doc/txt2html.sh | 13 ------- 5 files changed, 73 insertions(+), 79 deletions(-) delete mode 100644 doc/gf-reference.pdf delete mode 100644 doc/txt2html.sh (limited to 'doc') diff --git a/doc/Makefile b/doc/Makefile index 5251cde8b..bb1be8de3 100644 --- a/doc/Makefile +++ b/doc/Makefile @@ -1,18 +1,3 @@ -resource: - gfdoc -txt2 ../lib/resource-1.0/abstract/*.gf - gfdoc -txt2 ../lib/resource-1.0/*/Paradigms*.gf - txt2tags --toc resource.txt -# cat resource-preamble resource.tex >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-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-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/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 -- cgit v1.2.3 From c8eb1010c5402b73ee6d1a90b2cbf05888deeedd Mon Sep 17 00:00:00 2001 From: "John J. Camilleri" Date: Tue, 27 Nov 2018 23:12:21 +0100 Subject: Remove faq. Update people page. Add SS to news. --- .gitignore | 2 +- doc/gf-faq.t2t | 91 ------------------------------------ doc/gf-people.html | 132 ----------------------------------------------------- doc/gf-people.md | 62 +++++++++++++++++++++++++ index.html | 8 ++-- 5 files changed, 68 insertions(+), 227 deletions(-) delete mode 100644 doc/gf-faq.t2t delete mode 100644 doc/gf-people.html create mode 100644 doc/gf-people.md (limited to 'doc') diff --git a/.gitignore b/.gitignore index 886ddc957..e1c409cc4 100644 --- a/.gitignore +++ b/.gitignore @@ -53,7 +53,7 @@ doc/tutorial/gf-tutorial.html doc/gf-bibliography.html doc/gf-developers.html doc/gf-editor-modes.html -doc/gf-faq.html +doc/gf-people.html doc/gf-reference.html doc/gf-shell-reference.html doc/icfp-2012.html 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-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..403a31369 --- /dev/null +++ b/doc/gf-people.md @@ -0,0 +1,62 @@ +--- +title: "Grammatical Framework: Authors and Acknowledgements" +--- + +## Current maintainers + +The current developers and maintainers 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/). + +For detailed data about contributors to the code repositories, 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 Institure, 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/index.html b/index.html index 129e12d79..2621782a1 100644 --- a/index.html +++ b/index.html @@ -39,6 +39,7 @@

@@ -75,9 +76,6 @@ -
  • PGF library API (Haskell runtime)
  • PGF library API (C runtime)
  • GF compiler API
  • @@ -227,6 +225,10 @@ least one, it may help you to get a first idea of what GF is.

    News

    +
    2018-12-03
    +
    + Sixth GF Summer School in Stellenbosch (South Africa), 3–14 December 2018 +
    2018-11-28
    GF 4.0.0 released. -- cgit v1.2.3 From b1611eccd82fa28d3a701a87291dc8d83537071e Mon Sep 17 00:00:00 2001 From: "John J. Camilleri" Date: Tue, 27 Nov 2018 23:27:16 +0100 Subject: Make refman look up-to-date ish --- doc/gf-refman.html | 59 +++++++++++++++++++++++++++++++++++------------------- 1 file changed, 38 insertions(+), 21 deletions(-) (limited to 'doc') diff --git a/doc/gf-refman.html b/doc/gf-refman.html index e7db8829a..687e3e490 100644 --- a/doc/gf-refman.html +++ b/doc/gf-refman.html @@ -1,15 +1,32 @@ - - + + -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
    • s, s1,...,sn, p1,...,pn : Str
    @@ -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
    +
    @@ -3181,7 +3198,7 @@ the abstract syntax. Compiler pragmas are a special form of comments prefixed with --#. Currently GF interprets the following pragmas.

    -
    operation type
    +
    @@ -3279,7 +3296,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
    +
    @@ -4579,6 +4596,6 @@ All other symbols are terminals.
    RHS item explanation
    -

    - - +
    + + -- cgit v1.2.3 From c7a14537c1a3b5b75c107fdfc2d1078da8e99df5 Mon Sep 17 00:00:00 2001 From: "John J. Camilleri" Date: Wed, 28 Nov 2018 15:42:11 +0100 Subject: Update top links and footer during hackathon --- bin/_template.html | 29 ++- doc/gf-lrec-2010.pdf | Bin 2898006 -> 0 bytes doc/gf-people.md | 7 +- doc/gf-quickstart.html | 158 --------------- doc/gf-reference.t2t | 492 ---------------------------------------------- download/index.md | 20 +- download/release-3.10.md | 16 ++ download/release-4.0.0.md | 16 -- index.html | 77 ++++---- 9 files changed, 91 insertions(+), 724 deletions(-) delete mode 100644 doc/gf-lrec-2010.pdf delete mode 100644 doc/gf-quickstart.html delete mode 100644 doc/gf-reference.t2t create mode 100644 download/release-3.10.md delete mode 100644 download/release-4.0.0.md (limited to 'doc') diff --git a/bin/_template.html b/bin/_template.html index 3cf10ba47..115683a73 100644 --- a/bin/_template.html +++ b/bin/_template.html @@ -64,34 +64,47 @@ $body$ Home -
    Use
    +
    Get started
    +
    Contribute +
    + +
    Repositories - +
    • GF Core
    • 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.md b/doc/gf-people.md index 403a31369..9e0177306 100644 --- a/doc/gf-people.md +++ b/doc/gf-people.md @@ -4,7 +4,7 @@ title: "Grammatical Framework: Authors and Acknowledgements" ## Current maintainers -The current developers and maintainers are +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/), @@ -12,7 +12,8 @@ The current developers and maintainers are [John J. Camilleri](http://johnjcamilleri.com), and [Inari Listenmaa](https://inariksit.github.io/). -For detailed data about contributors to the code repositories, see +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). @@ -43,7 +44,7 @@ reports, and other indirect contributions to the code. - [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 Institure, Luxembourg) +- 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) 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 - minibar - fridge magnets -
      - -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.t2t b/doc/gf-reference.t2t deleted file mode 100644 index 676a2088d..000000000 --- a/doc/gf-reference.t2t +++ /dev/null @@ -1,492 +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 with ``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/download/index.md b/download/index.md index 6bea6bba4..5ea18bf90 100644 --- a/download/index.md +++ b/download/index.md @@ -2,23 +2,23 @@ title: Grammatical Framework Download and Installation ... -**GF 4.0.0** was released on 28 November 2018. +**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-4.0.0.html). +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-4.0.0.pkg](gf-4.0.0.pkg) | GF,S,C,J,P | Double-click on the package icon | -| macOS | [gf-4.0.0-bin-intel-mac.tar.gz](gf-4.0.0-bin-intel-mac.tar.gz) | GF,S,C,J,P | `sudo tar -C /usr/local -zxf gf-4.0.0-bin-intel-mac.tar.gz` | -| Raspian 9.1 | [gf\_4.0.0-1\_armhf.deb](gf_4.0.0-1_armhf.deb) | GF,S,C,J,P | `sudo dpkg -i gf_4.0.0-1_armhf.deb` | -| Ubuntu (32-bit) | [gf\_4.0.0-1\_i386.deb](gf_4.0.0-1_i386.deb) | GF,S,C,J,P | `sudo dpkg -i gf_4.0.0-1_i386.deb` | -| Ubuntu (64-bit) | [gf\_4.0.0-1\_amd64.deb](gf_4.0.0-1_amd64.deb) | GF,S,C,J,P | `sudo dpkg -i gf_4.0.0-1_amd64.deb` | -| Windows | [gf-4.0.0-bin-windows.zip](gf-4.0.0-bin-windows.zip) | GF,S | `unzip gf-4.0.0-bin-windows.zip` | +| 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** 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-4.0.0.md b/download/release-4.0.0.md deleted file mode 100644 index 574f82f94..000000000 --- a/download/release-4.0.0.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -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/index.html b/index.html index 2621782a1..e7dd297b6 100644 --- a/index.html +++ b/index.html @@ -24,55 +24,43 @@ <div class="row"> - <div class="col-sm-6 col-md-3 offset-md-1"> - <h3>Use</h3> - <a href="download/index.html" class="btn btn-primary mb-2"> - <i class="fas fa-download mr-1"></i> - Download GF - </a> + <div class="col-sm-6 col-md-3"> + <h3>Get started</h3> <ul> - <li><a href="http://cloud.grammaticalframework.org/">GF Cloud</a></li> - <!-- <li><a href="demos/index.html">Other Demos</a></li> --> + <li><a href="https://www.youtube.com/watch?v=x1LFbDQhbso">Google Tech Talk</a></li> + <li> + <a href="http://cloud.grammaticalframework.org/"> + GF Cloud + <img src="http://www.grammaticalframework.org/src/www/P/gf-cloud.png" style="height:30px" class="ml-2"> + </a> + </li> + <li><a href="doc/tutorial/gf-tutorial.html">Tutorial</a></li> </ul> - <h4>Community</h4> - <ul> - <li><a href="http://groups.google.com/group/gf-dev">Mailing List</a></li> - <li><a href="https://github.com/GrammaticalFramework/gf-core/issues">Issue Tracker</a></li> - <li><a href="doc/gf-people.html">Authors</a></li> - <li><a href="http://school.grammaticalframework.org/2018/">Summer School</a></li> - </ul> + <a href="download/index.html" class="btn btn-primary mb-3"> + <i class="fas fa-download mr-1"></i> + Download GF + </a> </div> - <div class="col-sm-6 col-md-4"> - <h3>Learn</h3> + <div class="col-sm-6 col-md-3"> + <h3>Learn more</h3> - <a href="lib/doc/synopsis/index.html" class="btn btn-primary mb-2"> - <i class="fab fa-readme mr-1"></i> - RGL Library Synopsis - </a> <ul> - <li><a href="doc/tutorial/gf-tutorial.html">Tutorial</a></li> <li><a href="gf-book">The GF Book</a></li> <li><a href="doc/gf-refman.html">Reference Manual</a></li> <li><a href="doc/gf-shell-reference.html">Shell Reference</a></li> - <li><a href="doc/gf-quickstart.html">Quick Start</a></li> - <li><a href="doc/gf-reference.html">Quick Reference</a></li> - </ul> - - <h4>Other resources</h4> - <ul> - <li><a href="https://www.youtube.com/watch?v=x1LFbDQhbso">Google Tech Talk</a></li> <li><a href="http://www.molto-project.eu/sites/default/files/MOLTO_D2.3.pdf">Best Practices</a> <small>[PDF]</small></li> - <li><a href="doc/gf-lrec-2010.pdf">Library Tutorial</a> <small>[PDF]</small></li> </ul> + + <a href="lib/doc/synopsis/index.html" class="btn btn-primary mb-2"> + <i class="fab fa-readme mr-1"></i> + RGL Library Synopsis + </a> </div> - <div class="col-sm-6 col-md-4"> + + <div class="col-sm-6 col-md-3"> <h3>Develop</h3> - <a href="https://github.com/GrammaticalFramework/" class="btn btn-primary mb-2"> - <i class="fab fa-github mr-1"></i> - GF on GitHub - </a> <ul> <li><a href="doc/gf-developers.html">Developers Guide</a></li> <!-- <li><a href="/~hallgren/gf-experiment/browse/">Browse Source Code</a></li> --> @@ -84,6 +72,21 @@ <li><a href="doc/gf-editor-modes.html">Text Editor Support</a></li> </ul> </div> + + <div class="col-sm-6 col-md-3"> + <h3>Contribute</h3> + <ul> + <li><a href="http://groups.google.com/group/gf-dev">Mailing List</a></li> + <li><a href="https://github.com/GrammaticalFramework/gf-core/issues">Issue Tracker</a></li> + <li><a href="doc/gf-people.html">Authors</a></li> + <li><a href="http://school.grammaticalframework.org/2018/">Summer School</a></li> + </ul> + <a href="https://github.com/GrammaticalFramework/" class="btn btn-primary mb-2"> + <i class="fab fa-github mr-1"></i> + GF on GitHub + </a> + </div> + </div> <!-- <div class=links> @@ -231,8 +234,8 @@ least one, it may help you to get a first idea of what GF is. </dd> <dt class="col-sm-3 text-center">2018-11-28</dt> <dd class="col-sm-9"> - <strong>GF 4.0.0 released.</strong> - <a href="download/release-4.0.0.html">Release notes</a> + <strong>GF 3.10 released.</strong> + <a href="download/release-3.10.html">Release notes</a> </dd> <dt class="col-sm-3 text-center">2018-07-25</dt> <dd class="col-sm-9"> -- cgit v1.2.3 From 6278deb7a206ed8b0e9660eac3633a6ae7572783 Mon Sep 17 00:00:00 2001 From: "John J. Camilleri" <john@johnjcamilleri.com> Date: Wed, 28 Nov 2018 21:51:16 +0100 Subject: Page uses available width better, no jumping margins --- bin/_template.html | 2 +- doc/gf-refman.html | 2 +- index.html | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) (limited to 'doc') diff --git a/bin/_template.html b/bin/_template.html index 115683a73..abbd462d8 100644 --- a/bin/_template.html +++ b/bin/_template.html @@ -29,7 +29,7 @@ $for(header-includes)$ $endfor$ </head> <body> -<div class="container my-5"> +<div class="container-fluid my-5" style="max-width:1200px"> $if(title)$ <header id="title-block-header"> diff --git a/doc/gf-refman.html b/doc/gf-refman.html index 687e3e490..d052787f4 100644 --- a/doc/gf-refman.html +++ b/doc/gf-refman.html @@ -15,7 +15,7 @@ </style> </HEAD> <BODY> -<div class="container my-5"> +<div class="container-fluid my-5" style="max-width:1200px"> <P ALIGN="center"> <CENTER> diff --git a/index.html b/index.html index e7dd297b6..6c79ec1cf 100644 --- a/index.html +++ b/index.html @@ -14,7 +14,7 @@ </head> <body> -<div class="container"> +<div class="container-fluid" style="max-width:1200px"> <div class="m-4 text-center"> <img style="height:250px" src="doc/Logos/gf1.svg" alt="GF Logo"> @@ -55,7 +55,7 @@ <a href="lib/doc/synopsis/index.html" class="btn btn-primary mb-2"> <i class="fab fa-readme mr-1"></i> - RGL Library Synopsis + RGL Synopsis </a> </div> -- cgit v1.2.3