1
0
forked from GitHub/gf-core

Remove HTML files from VC which should be generated from txt2tags

If these pages disappear from the web via www.grammaticalframework.org
then this commit may need to be reversed
This commit is contained in:
John J. Camilleri
2018-06-12 15:53:58 +02:00
parent 27b49e0a8b
commit 5aa2a212bb
8 changed files with 0 additions and 1939 deletions

View File

@@ -1,43 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<META NAME="generator" CONTENT="http://txt2tags.sf.net">
<TITLE>Portable Numeral Translator</TITLE>
</HEAD><BODY BGCOLOR="white" TEXT="black">
<P ALIGN="center"><CENTER><H1>Portable Numeral Translator</H1>
<FONT SIZE="4">
<I>15 August 2008</I><BR>
</FONT></CENTER>
<P>
Here is the first GF application for the iPhone. It translates
numerals from digits into number words in 15 languages. It works for
numerals in the range 1-999,999. You can use the demo online in your iPhone's
browser, or download and install it by using FileMagnet (from AppStore).
</P>
<P>
The demo should work in any web browser supporting JavaScript, but it has been
specially dimensioned for the iPhone screen. It is an application of a general
technology, namely the compilation of GF grammars to JavaScript. Thus you can
easily build similar applications from your own grammars.
</P>
<P>
The
<A HREF="http://www.cs.chalmers.se/~bringert/gf/translate/">full numeral translator</A>, which
works in 88 language and permits arbitrary cross translations, cannot yet be ported
to the iPhone because of memory problems.
</P>
<P>
The current version has some encoding/font issues in Hebrew and Hindi.
</P>
<P>
<A HREF="numbers/numbers.html">Use the translator online</A>
</P>
<P>
<A HREF="numbers.tgz">Download the translator</A>. To install: unpack the file and move
the directory <CODE>numbers</CODE> to your FileMagnet uploader.
</P>
<!-- html code generated by txt2tags 2.4 (http://txt2tags.sf.net) -->
<!-- cmdline: txt2tags -thtml index-numbers.txt -->
</BODY></HTML>

View File

@@ -1,875 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<META NAME="generator" CONTENT="http://txt2tags.org">
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">
<LINK REL="stylesheet" TYPE="text/css" HREF="../css/style.css">
<meta name = "viewport" content = "width = device-width"><TITLE>Grammatical Framework Bibliography</TITLE>
</HEAD><BODY BGCOLOR="white" TEXT="black">
<CENTER>
<H1><a href="../"><IMG src="../doc/Logos/gf0.png"></a>Grammatical Framework Bibliography</H1>
<FONT SIZE="4"><I>Aarne Ranta</I></FONT><BR>
<FONT SIZE="4">Tue Nov 27 16:47:06 2012</FONT>
</CENTER>
<P></P>
<HR NOSHADE SIZE=1>
<P></P>
<UL>
<LI><A HREF="#toc1">Publications on GF</A>
<LI><A HREF="#toc2">Background for GF</A>
</UL>
<P></P>
<HR NOSHADE SIZE=1>
<P></P>
<A NAME="toc1"></A>
<H2>Publications on GF</H2>
<P>
In reverse temporal order:
</P>
<P>
H. Burden and R. Heldal.
Natural Language Generation from Class Diagrams.
<I>Proceedings of the 8th International Workshop on Model-Driven Engineering, Verification and Validation (MoDeVVa 2011)</I>,
Wellington, New Zealand,
ACM,
2011.
<A HREF="http://www.grammaticalframework.org/doc/archive/a9-burden.pdf">Draft PDF</A>
<br>
<I>Using GF to verbalize platform-independent requirement specifications as a part of a software engineering tool chain.</I>
</P>
<P>
C. España-Bonet, R. Enache, A. Slaski, A. Ranta, L. Màrquez, and M. Gonzàlez.
Patent translation within the MOLTO project.
Proceedings of the 4th Workshop on Patent Translation,
MT Summit XIII, Xiamen, China, September 23, 2011.
<A HREF="http://www.lsi.upc.edu/~cristinae/CV/docs/MTS11PatEspanaetal.pdf">PDF</A>
<br>
<I>First steps to a hybrid GF-SMT system.</I>
</P>
<P>
Seyed M. Montazeri, Nivir Roy, and Gerardo Schneider.
From Contracts in Structured English to CL Specifications.
<I>5th International Workshop on Formal Languages and Analysis of Contract-Oriented Software (FLACOS'11)</I>,
volume 68 of EPTCS, pages 55-69,
Málaga, Spain, 22-23 September 2011.
<A HREF="http://dx.doi.org/10.4204/EPTCS.68.6">PDF/DOI</A>
<br>
<I>Formal analysis of contracts written in controlled English.</I>
</P>
<P>
S. Virk, M. Humayoun, and A. Ranta.
An Open-Source Punjabi Resource Grammar.
Proceedings of RANLP-2011, Recent Advances in Natural Language Processing,
Hissar, Bulgaria, 12-14 September, 2011.
pp. 70-76.
<A HREF="http://lml.bas.bg/~iva/ranlp2011/RANLR2011_Proceedings.PDF">PDF</A>
<br>
<I>Punjabi syntax, building on Humayoun and Ranta 2010.</I>
</P>
<P>
D. Dannélls, M. Damova, R.Enache, M. Chechev.
A Framework for Improved Access to Museum Databases in the Semantic Web.
Proceedings of the Workshop on Language Technologies for Digital Humanities and Cultural Heritage,
RANLP-2011, Recent Advances in Natural Language Processing,
Hissar, Bulgaria, 12-14 September, 2011,
pp 8-15
<A HREF="http://publications.lib.chalmers.se/cpl/record/index.xsql?pubid=145395">PDF</A>
<br>
<I>Representing and verbalizing in GF of an Cultural Heritage ontology.</I>
</P>
<P>
A. Ranta.
Translating between Language and Logic: What Is Easy and What is Difficult?
In N. Bjørner and V. Sofronie-Stokkermans (eds.),
<I>CADE-23. Automated Deduction</I>,
LNCS/LNAI 6803,
pp. 5-25,
2011.
<A HREF="http://www.springerlink.com/content/42n685777k846810/">PDF at Springer</A>
<A HREF="http://www.cse.chalmers.se/~aarne/articles/cade2011.pdf">Draft PDF</A>
<br>
<I>Invited talk at the CADE conference, showing how GF can help writing natural language interfaces</I>
<I>to proof systems, and also exploring how to make the language richer, e.g. how to get from</I>
<I>"for all numbers x, x is even or x is odd" to "every number is even or odd".</I>
</P>
<P>
A. Ranta.
<I>Grammatical Framework: Programming with Multilingual Grammars</I>,
CSLI Publications, Stanford, 2011.
<A HREF="http://www.grammaticalframework.org/gf-book/">Book web page</A>
<br>
<I>Meant as the standard reference and textbook on GF.</I>
</P>
<P>
O. Caprotti, K. Angelov, R. Enache, T. Hallgren, A. Ranta.
The MOLTO Phrasebook.
Swedish Language Technology Conference SLTC 2010.
<A HREF="http://publications.lib.chalmers.se/cpl/record/index.xsql?pubid=131251">PDF</A>
<br>
<I>Tourist Phrasebook grammar, available in 14 European languages.</I>
</P>
<P>
G. Détrez and R. Enache.
A Framework for Multilingual Applications on the Android Platform
Swedish Language Technology Conference SLTC 2010.
<A HREF="http://www.grammaticalframework.org/doc/archive/sltc10_submission_24.pdf">PDF</A>
<br>
<I>A description of the Java implementation of the GF runtime system, which makes it possible</I>
to create grammar-based applications running on an Android phone.//
</P>
<P>
Normunds Gruzitis and Guntis Barzdins.
Towards a More Natural Multilingual Controlled Language Interface to OWL,
<I>9th International Conference on Computational Semantics (IWCS)</I>,
pp. 335-339,
2011.
<A HREF="http://www.aclweb.org/anthology/W/W11/W11-0138.pdf">PDF</A>
<br>
<I>Access to ontologies in English and Latvian.</I>
</P>
<P>
M. Humayoun and A. Ranta.
Developing Punjabi Morphology, Corpus and Lexicon.
<I>The 24th Pacific Asia conference on Language, Information and Computation (PACLIC24)</I>,
2010.
<br>
<I>Yet another South-East Asian language, spoken by 88 million people.</I>
</P>
<P>
J. Camilleri, Gordon J. Pace, and Mike Rosner.
Playing Nomic using a Controlled Natural Language.
<I>CNL 2010, Controlled Natural Language</I>,
Marettimo,
2010.
<br>
<I>Using GF for defining the rules of a game.</I>
</P>
<P>
R. Enache and K. Angelov
Typeful Ontologies with Direct Multilingual Verbalization.
<I>CNL 2010, Controlled Natural Language</I>,
Marettimo,
2010.
<br>
<I>Investigating the benefits of using GF as a language for representing ontologies.</I>
<A HREF="http://www.grammaticalframework.org/doc/archive/cnl2010_submission_2.pdf">PDF</A>
</P>
<P>
S. Virk, M. Humayoun, and A. Ranta.
An Open Source Urdu Resource Grammar.
<I>Proceedings of the 8th Workshop on Asian Language Resources (Coling 2010 workshop)</I>,
2010.
<br>
<I>The national language of Pakistan, spoken by 60 million people; almost the same as Hindi.</I>
</P>
<P>
A. Ranta, K. Angelov, and T. Hallgren.
Tools for multilingual grammar-based translation on the web.
<I>Proceedings of the ACL 2010 System Demonstrations</I>,
ACM Digital Library,
2010.
<A HREF="http://www.aclweb.org/anthology-new/P/P10/P10-4012.pdf">PDF</A>
<br>
<I>An overview of GF for developers and users of translation systems.</I>
</P>
<P>
D. Dannélls and J. Camilleri.
Verb Morphology of Hebrew and Maltese - Towards an Open Source Type Theoretical Resource Grammar in GF.
<I>Proceedings of the Language Resources (LRs) and Human Language Technologies (HLT) for Semitic Languages Status, Updates, and Prospects, LREC-2010 Workshop</I>,
Malta, pp. 57-61.
2010.
<A HREF="http://spraakdata.gu.se/svedd/pub/lrec10.pdf">PDF</A>
<br>
<I>A study of Semitic non-concatenative morphology from the GF point of view.</I>
</P>
<P>
M. Humayoun and C. Raffalli.
MathNat - Mathematical Text in a Controlled Natural Language.
<I>Special issue: Natural Language Processing and its Applications. Journal on Research in Computing Science</I>, Volume 46.
2010.
<br>
<I>Natural language interface to a proof system, implemented in GF.</I>
</P>
<P>
D. Dannélls.
Discourse Generation from Formal Specifications Using the Grammatical Framework, GF.
<I>Special issue: Natural Language Processing and its Applications. Journal on Research in Computing Science (RCS)</I>,
volume 46. pp. 167-178,
2010.
<br>
<I>Interfacing GF with ontology, with a natural language generation perspective.</I>
</P>
<P>
R. Enache, A. Ranta, and K. Angelov.
An Open-Source Computational Grammar of Romanian.
A. Gelbukh (ed.), <I>CiCLING-2010</I>,
LNCS 6008,
2010.
<br>
<I>A Romance language different enough not to follow the Romance functor.</I>
</P>
<P>
K. Angelov and A. Ranta.
Implementing Controlled Languages in GF.
N. Fuchs (ed.), <I>CNL-2009 Controlled Natural Languages</I>,
LNCS/LNAI 5972,
2010.
</P>
<P>
K. Angelov, B. Bringert and A. Ranta.
PGF: A Portable Run-time Format for Type-theoretical Grammars,
<I>Journal of Logic, Language and Information</I>,
19(2),
pp. 201-228,
2009.
<A HREF="http://www.springerlink.com/content/y32q021028747k70/">SpringerLink</A>
</P>
<P>
A. Ranta.
The GF Resource Grammar Library.
<I>Linguistic Issues in Language Technology</I>,
2 (2),
2009.
<A HREF="http://elanguage.net/journals/index.php/lilt/article/viewFile/214/158">PDF</A>
<br>
<I>A systematic presentation of the library from the linguistic point of view.</I>
</P>
<P>
A. Ranta.
Grammatical Framework: A Multilingual Grammar Formalism,
<I>Language and Linguistics Compass</I>,
Vol. 3, <A HREF="http://www.blackwell-compass.com/subject/linguistics/article_view?parent=section&amp;last_results=section%3Dlnco-computational&amp;sortby=date&amp;section=lnco-computational&amp;browse_id=lnco_articles_bpl155&amp;article_id=lnco_articles_bpl155">on-line</A>
2009.
<br>
<I>An overview of GF for readers with a general academic brackground.</I>
</P>
<P>
A. Ranta and K. Angelov.
Implementing Controlled Languages in GF.
<I>CNL-2009</I>,
<I>CEUR Workshop Proceedings</I>,
vol. 448,
<A HREF="http://sunsite.informatik.rwth-aachen.de/Publications/CEUR-WS/Vol-448/">on-line</A>,
2009.
<br>
<I>Makes a case for using GF in controlled language implementation, illustrated by Attempto Controlled English ported to French, German, and Swedish; longer version in 2010.</I>
</P>
<P>
A. Ranta. Grammars as Software Libraries.
In Y. Bertot, G. Huet, J-J. Lévy, and G. Plotkin (eds.),
<I>From Semantics to Computer Science</I>,
Cambridge University Press, Cambridge,
pp. 281-308,
2009.
<A HREF="http://www.cse.chalmers.se/~aarne/articles/libraries-kahn.pdf">pdf (preliminary version)</A>
<br>
<I>Grammar-libraries from the software engineering point of view, with an example application to mathematical language.</I>
</P>
<P>
K. Angelov.
Incremental Parsing in Parallel Multiple Context-Free Grammars.
EACL 2009.
<br>
<I>Describes the algorithm used in parsing with GF.</I>
</P>
<P>
A. Ranta, B. Bringert, and K. Angelov.
The GF Grammar Development Environment.
System demo. Proceedings of <I>EACL-2009</I>,
2009.
<A HREF="http://www.aclweb.org/anthology-new/E/E09/E09-2015.pdf">PDF</A>
<br>
<I>An overview of GF from the grammarian's point of view.</I>
</P>
<P>
B. Bringert, K. Angelov, and A. Ranta.
Grammatical Framework Web Service,
System demo. Proceedings of <I>EACL-2009</I>,
2009.
<A HREF="http://www.aclweb.org/anthology-new/E/E09/E09-2003.pdf">PDF</A>
<br>
<I>An overview of how to build web services on top of PGF using the Google Web Toolkit.</I>
</P>
<P>
A. Ranta and K. Angelov.
Implementing Controlled Languages in GF,
To appear in the proceedings of <I>CNL-2009</I>, LNCS, Springer,
2009.
<br>
<I>On the use of GF for controlled languages, exemplified by an implementation of Attempto Controlled English then ported to three other language.</I>
</P>
<P>
R. Cooper and A. Ranta.
Natural Languages as Collections of Resources.
In <I>Language in Flux: Dialogue Coordination, Language Variation, Change</I>,
ed. by R. Cooper and R. Kempson, pp. 109-120. London: College Publications,
2008.
<br>
<I>The resource grammar idea applied to language learning and evolution.</I>
</P>
<P>
Moisés Salvador Meza Moreno and B. Bringert.
Interactive Multilingual Web Applications with Grammatical Framework.
In B. Nordström and A. Ranta (eds),
<I>Advances in Natural Language Processing (GoTAL 2008)</I>,
LNCS/LNAI 5221, Springer,
2008.
<br>
<I>Shows how GF compiled to JavaScript is used in dynamic multilingual web pages.</I>
</P>
<P>
Peter Ljunglöf and Staffan Larsson.
A grammar formalism for specifying ISU-based dialogue systems.
In B. Nordström and A. Ranta (eds),
<I>Advances in Natural Language Processing (GoTAL 2008)</I>,
LNCS/LNAI 5221, Springer,
2008.
<A HREF="http://www.ling.gu.se/~peb/pubs/LjunglofLarsson-2008a.pdf">pdf</A>
<br>
<I>Explains how GoDiS dialogue systems are specified by GF grammars.</I>
</P>
<P>
K. Angelov.
Type-Theoretical Bulgarian Grammar.
In B. Nordström and A. Ranta (eds),
<I>Advances in Natural Language Processing (GoTAL 2008)</I>,
LNCS/LNAI 5221, Springer,
2008.
<br>
<I>Explains the implementation of a Bulgarian resource grammar in GF.</I>
</P>
<P>
B. Bringert.
High-precision Domain-specific Interlingua-based Speech Translation
with Grammatical Framework.
<I>Coling 2008 Workshop on Speech Translation for Medical and Other Safety-Critical Applications</I>,
Manchester, UK, August 23,
2008.
<br>
<I>Shows how to build spoken language translators based on GF grammars and their compilation to Nuance.</I>
</P>
<P>
A. Ranta.
How predictable is Finnish morphology? An experiment on lexicon construction.
In J. Nivre, M. Dahllöf and B. Megyesi (eds),
<I>Resourceful Language Technology: Festschrift in Honor of Anna Sågvall Hein</I>,
University of Uppsala,
2008.
Available from <A HREF="http://publications.uu.se/abstract.xsql?dbid=8933">series homepage</A>
<br>
<I>Presents an experiment on smart paradigms in Finnish.</I>
</P>
<P>
A. Ranta.
Example-based grammar writing.
To appear in L. Borin and S. Larsson (eds),
Festschrift for Robin Cooper,
2007.
<br>
<I>Presents and discusses the ideas of grammar composition and example-based grammar writing.</I>
</P>
<P>
B. Bringert.
Rapid Development of Dialogue Systems by Grammar Compilation.
<I>8th SIGdial Workshop on Discourse and Dialogue</I>,
Antwerp, Belgium, September 1-2,
2007.
<A HREF="http://www.cse.chalmers.se/~bringert/publ/gf-voicexml/gf-voicexml.pdf">pdf</A>
<br>
<I>Shows how to build a web-based spoken dialogue system by generating VoiceXML and JavaScript.</I>
</P>
<P>
A. El Dada and A. Ranta.
Implementing an Open Source Arabic Resource Grammar in GF.
In M. Mughazy (ed),
<I>Perspectives on Arabic Linguistics XX. Papers from the Twentieth Annual Symposium on Arabic Linguistics, Kalamazoo, March 26</I>
John Benjamins Publishing Company.
2007.
<br>
<I>An outline of the Arabic resource grammar project, focusing on linguistic aspects.</I>
</P>
<P>
A. El Dada.
Implementation of the Arabic Numerals and their Syntax in GF.
Computational Approaches to Semitic Languages: Common Issues and Resources,
ACL-2007 Workshop,
June 28, 2007, Prague.
2007.
<br>
<I>A case study with the resource grammar, focusing on the morphosyntax</I>
<I>and agreement of constructions with numerals.</I>
</P>
<P>
A. Ranta.
Modular Grammar Engineering in GF.
<I>Research on Language and Computation</I>,
5:133-158, 2007.
Draft available as <A HREF="http://www.cse.chalmers.se/~aarne/articles/multieng3.pdf">pdf</A>.
<br>
<I>Adapts library-based software engineering methods to grammar writing</I>
<I>and introduces the module system of GF.</I>
</P>
<P>
A. Ranta.
The GF Grammar Compiler.
<I>Workshop on New Directions in Type-theoretic Grammars</I>,
Dublin, August 2007 (ESSLLI workshop).
2007.
<A HREF="http://www.cse.chalmers.se/~aarne/articles/ar-compiler.pdf">pdf</A>
<br>
<I>Describes the compilation of GF source code to lower-level run-time formats.</I>
</P>
<P>
M. Humayoun, H. Hammarström, and A. Ranta.
Urdu Morphology, Orthography and Lexicon Extraction.
<I>CAASL-2: The Second Workshop on Computational Approaches to Arabic Script-based Languages</I>,
July 21-22, 2007, LSA 2007 Linguistic Institute, Stanford University.
2007.
<br>
<I>Fairly complete open-source Urdu morphology and elemenraty syntax in GF.</I>
</P>
<P>
N. Perera and A. Ranta.
Dialogue System Localization with the GF Resource Grammar Library.
<I>SPEECHGRAM 2007: ACL Workshop on Grammar-Based Approaches to Spoken Language Processing</I>,
June 29, 2007, Prague.
2007.
<A HREF="http://www.cse.chalmers.se/~aarne/articles/perera-ranta.pdf">pdf</A>
<br>
<I>An experiment in porting an in-car dialogue system from two to six languages.</I>
</P>
<P>
B. Bringert.
Speech Recognition Grammar Compilation in Grammatical Framework
<I>SPEECHGRAM 2007: ACL Workshop on Grammar-Based Approaches to Spoken Language Processing</I>,
June 29, 2007, Prague.
2007.
<br>
<I>Generation of speech recognition language models from GF in several formats:</I>
<I>GSL (Nuance), SRGS, JSGF, and HTK SLF, with embedded semantic interpretation.</I>
</P>
<P>
A. Ranta.
Features in Abstract and Concrete Syntax.
<I>The 2nd International Workshop on Typed Feature Structure Grammars</I>,
Tartu, 24 May 2007 (NODALIDA workshop).
2007.
<A HREF="http://www.cse.chalmers.se/~aarne/articles/ranta-tfsg2007.pdf">pdf</A>
<br>
<I>Explores the design choices of incorporating features in a GF-like grammar,</I>
<I>with comparisons to feature-based unification grammars.</I>
</P>
<P>
O. Caprotti and M. Seppälä.
Multilingual Delivery of Online Tests in mathematics.
Proceedings of Online Educa Berlin 2006. 29 November - 1 December 2006.
Berlin, Germany.
2006.
<A HREF="http://webalt.math.helsinki.fi/content/e16/e301/e785/MultilingualDeliveryofOnlineTestsinMathematics_eng.pdf">pdf</A>
<br>
<I>This papers shows screenshots of multilingual generation in the</I>
<I>WebALT project, using GF and the resource grammar library.</I>
</P>
<P>
J. Khegai.
Language engineering in Grammatical Framework (GF).
Phd thesis, Computer Science, Chalmers University of Technology,
2006.
<A HREF="http://www.cse.chalmers.se/~janna/Janna_Khegai_phd.pdf">pdf</A>
<br>
<I>Collection of articles and technical reports on multilingual authoring</I>
<I>and the Russian resource grammar.</I>
</P>
<P>
B. Bringert and A. Ranta.
A Pattern for Almost Compositional Functions.
<I>ICFP 2006, The 11th ACM SIGPLAN International Conference on Functional Programming, Portland, Oregon, September 18-20, 2006</I>,
2006.
<A HREF="http://www.cse.chalmers.se/~bringert/publ/composOp/composOp.pdf">pdf</A>.
<br>
<I>A method of generic programming useful for compiler construction</I>
<I>and transfer-based translation.</I>
</P>
<P>
M. Forsberg, H. Hammarstrom, and A. Ranta.
Morphological Lexicon Extraction from Raw Text Data.
<I>FinTAL 2006</I>,
Turku, August 23-25, 2006.
Springer LNCS/LNAI 4139,
pp. 488-499,
2006.
<br>
<I>A method for automatical production of morphological lexica based</I>
<I>on inflection engines such as those of GF resource grammar library.</I>
</P>
<P>
A. Ranta.
Type Theory and Universal Grammar.
<I>Philosophia Scientiae, Constructivism: Mathematics, Logic, Philosophy and Linguistics</I>,
cahier spécial 6,
pp. 115-131,
2006.
<br>
<I>A philosophical study of the medieval thesis that</I>
<I>grammar is the same in all languages and the difference is only in words.</I>
</P>
<P>
J. Khegai.
GF parallel resource grammars and Russian.
In proceedings of ACL2006
(The joint conference of the International Committee on Computational
Linguistics and the Association for Computational Linguistics) (pp. 475-482),
Sydney, Australia, July 2006.
<br>
<I>Gives an outline of the Russian resource grammar project.</I>
</P>
<P>
J. Khegai.
Grammatical Framework (GF) for MT in sublanguage domains.
Proceedings of 11th Annual conference of the European Association for
Machine Translation, , Oslo.
pp. 95-104,
2005.
<br>
<I>Shows how GF is used in controlled language translation.</I>
</P>
<P>
W. Ng'ang'a.
Multilingual content development for eLearning in Africa.
eLearning Africa: 1st Pan-African Conference on ICT for Development,
Education and Training. 24-26 May 2006, Addis Ababa, Ethiopia.
2006.
<A HREF="http://webalt.math.helsinki.fi/content/e16/e301/e583/MultilingualContentDevelopmentforeLearninginAfrica-final1_eng.pdf">pdf</A>
<br>
<I>Presents a programme for producing educational material in African languages</I>
<I>via multilingual generation in GF.</I>
</P>
<P>
R. Jonson.
Generating statistical language models from interpretation grammars in dialogue system.
In Proceedings of EACL'06, Trento, Italy.
2006.
<br>
<I>Uses GF grammars to generate statistical language models for speech recognition.</I>
</P>
<P>
A. El Dada and A. Ranta.
Arabic Resource Grammar.
<I>Arabic Language Processing (JETALA)</I>,
5-6 June 2006, IERA, Rabat, Morocco,
2006.
<br>
<I>An outline of the Arabic resource grammar project, focusing on software aspects.</I>
</P>
<P>
D. A. Burke and K. Johannisson.
Translating Formal Software Specifications to Natural Language. A Grammar-Based Approach.
In P. Blache, E. Stabler, J. Busquets and R. Moot (eds),
Logical Aspects of Computational Linguistics (LACL 2005),
Springer LNAI 3402,
pp. 51-66,
2005.
<br>
<I>A paper explaining how a multilingual GF grammar is completed with</I>
<I>Natural Language Generation techniques to improve text quality.</I>
</P>
<P>
B. Bringert, R. Cooper, P. Ljunglöf, A. Ranta,
Multimodal Dialogue System Grammars.
<I>Proceedings of DIALOR'05, Ninth Workshop on the Semantics and Pragmatics of Dialogue, Nancy, France, June 9-11, 2005</I>,
2005.
<A HREF="http://www.cse.chalmers.se/~bringert/publ/mm-grammars-dialor/mm-grammars-dialor.pdf">pdf</A>.
<br>
<I>Shows how mouse clicks can be integrated in GF grammars</I>
<I>alongside with speech input.</I>
</P>
<P>
K. Johannisson,
Formal and Informal Software Specifications.
PhD thesis,
Computer Science, Göteborg University,
2005.
[<A HREF="http://www.cse.chalmers.se/~krijo/thesis/thesisA4.pdf">http://www.cse.chalmers.se/~krijo/thesis/thesisA4.pdf</A>]
<br>
<I>Collection of articles in the GF-KeY project, with an introduction.</I>
</P>
<P>
P. Ljunglöf.
Expressivity and Complexity of the Grammatical Framework.
PhD thesis, Computer Science,
Göteborg University,
2004.
<A HREF="http://www.cse.chalmers.se/~peb/pubs/Ljunglof-2004a.pdf">pdf</A>
<br>
<I>Language-theoretical study of GF and its parsing problem.</I>
</P>
<P>
A. Ranta.
Grammatical Framework: A Type-Theoretical Grammar Formalism.
<I>Journal of Functional Programming</I>, 14(2),
pp. 145-189,
2004.
Draft available as <A HREF="http://www.cse.chalmers.se/~aarne/articles/gf-jfp.ps.gz">ps.gz</A>.
<br>
<I>Theoretical paper explaining the GF formalism and its implementation.</I>
<I>The standard reference on GF, but doesn't cover the module system.</I>
</P>
<P>
A. Ranta.
Computational semantics in type theory.
<I>Mathematics and Social Sciences</I>, 165,
pp. 31-57,
2004.
Draft available as <A HREF="http://www.cse.chalmers.se/~aarne/articles/3formsem.pdf">pdf</A>.
<br>
// Shows how Montague-style grammars are implemented in GF and extends//
<I>this to type-theoretical grammars for anaphoric expressions.</I>
</P>
<P>
H. Hammarström and A. Ranta.
Cardinal Numerals Revisited in GF.
<I>Workshop on Numerals in the World's Languages</I>.
Dept. of Linguistics Max Planck Institute for Evolutionary Anthropology, Leipzig,
2004.
<br>
<I>An overview of the numeral grammar project, covering 88 languages.</I>
</P>
<P>
A. Ranta.
Grammatical Framework Tutorial.
In A. Beckmann and N. Preining, editors,
<I>ESSLLI 2003 Course Material I</I>,
<I>Collegium Logicum</I>,
volume V,
pp. 1-86.
Kurt Gödel Society,
Vienna,
2004.
<br>
<I>A revised version of the on-line GF tutorial, v1.0.</I>
</P>
<P>
J. Khegai and A. Ranta.
Building and Using a Russian Resource Grammar in GF.
In A. Gelbukh (ed),
<I>Intelligent Text Processing and Computational Linguistics (CICLing-2004)</I>,
Seoul, Korea, February 2003,
Springer LNCS 945,
pp. 38-41,
2004.
<A HREF="http://www.cse.chalmers.se/~aarne/articles/mexico.ps.gz">ps.gz</A>.
<br>
<I>An introduction to the GF resource grammar project, with Russian as prime example.</I>
</P>
<P>
A. Ranta and R. Cooper.
Dialogue Systems as Proof Editors.
<I>Journal of Logic, Language and Information</I>, 13,
pp. 225-240,
2004.
Conference version (IJCAR/ICoS-3, Siena, June 2001) available as
<A HREF="http://www.cse.chalmers.se/~aarne/articles/dialogue3.ps.gz">ps.gz</A>.
<I>Shows a close analogy between task-oriented dialogue systems</I>
<I>and metavariable-based proof editors.</I>
</P>
<P>
J. Khegai and A. Ranta.
Building and Using a Russian Resource Grammar in GF.
In A. Gelbukh (ed),
<I>Intelligent Text Processing and Computational Linguistics (CICLing-2004)</I>,
Seoul, Korea, February 2003,
Springer LNCS 945,
pp. 38-41,
2004.
<A HREF="http://www.cse.chalmers.se/~aarne/articles/mexico.ps.gz">ps.gz</A>.
<br>
<I>Explains how the GF GUI is used in syntax editing and discusses</I>
<I>how new grammars are created.</I>
</P>
<P>
R. Hähnle, K. Johannisson, and A. Ranta.
An Authoring Tool for Informal and Formal Requirements Specifications.
In R. D. Kutsche and H. Weber (eds),
<I>ETAPS/FASE-2002: Fundamental Approaches to Software Engineering</I>,
Springer LNCS,
vol. 2306,
pp. 233--248,
2002.
<A HREF="http://www.cse.chalmers.se/~krijo/GF/FASE.pdf">pdf</A>
<br>
<I>Describes a GF-based authoring tool for object-oriented</I>
<I>specifications in OCL and English. Carries out in full</I>
<I>the work proposed in the position paper (Hähnle &amp; Ranta 2001).</I>
</P>
<P>
K. Johannisson and A.Ranta,
Formal Verification of Multilingual Instructions.
<I>Proceedings of the Joint Winter Meeting 2001</I>.
Departments of Computer Science and Computer Engineering,
Chalmers University of Technology and Göteborg University.
2001.
<A HREF="http://www.cse.chalmers.se/~aarne/articles/aarne+krijo.ps.gz">ps.gz</A>.
<br>
<I>Instructions for an alarm system in four languages, verified in the proof editor Alfa.</I>
</P>
<P>
R. Hähnle and A. Ranta,
Connecting OCL with the Rest of the World.
<I>ETAPS 2001 Workshop on Transformations in UML (WTUML)</I>,
Genova,
2001.
<A HREF="http://www.cse.chalmers.se/~reiner/papers/wtuml.ps.gz">ps.gz</A>.
<br>
<I>A position paper explaining how GF can be used to help in object-oriented</I>
<I>modelling, with some examples on natural-language interaction with</I>
<I>OCL (Object Constraint Language)</I>.
</P>
<P>
T. Hallgren, "The Correctness of Insertion Sort",
Manuscript, Chalmers University, Göteborg, 2001.
Available in
<A HREF="http://www.cse.chalmers.se/~hallgren/Papers/insertion_sort.ps">ps</A>
<br>
<I>A seven-page text generated by GF-Alfa</I>.
</P>
<P>
A. Ranta. "Bescherelle bricolé",
<A HREF="../../GF2.0/doc/BeschBric.ps.gz">ps.gz</A>,
2001.
<br>
<I>A machine-generated book on French conjugation implemented in GF.</I>
</P>
<P>
T. Hallgren and A. Ranta,
An Extensible Proof Text Editor.
In M. Parigot and A. Voronkov (eds),
<I>Logic for Programming and Automated Reasoning (LPAR'2000)</I>,
LNCS/LNAI 1955,
pp. 70-84,
Springer Verlag, Heidelberg,
2000.
<A HREF="http://www.cse.chalmers.se/~aarne/articles/lpar2000.ps.gz">ps.gz</A>.
<br>
<I>Describes an interface to the proof editor Alfa written in GF</I>.
</P>
<P>
M. Dymetman, V. Lux, and A. Ranta,
XML and multilingual document authoring: converging trends.
<I>Proceedings of the The 18th International Conference on Computational Linguistics (COLING 2000)</I>,
pp. 243-249,
Saarbruecken,
2000.
<A HREF="http://www.cse.chalmers.se/~aarne/articles/coling2000.ps.gz">ps.gz</A>.
<br>
<I>Relates GF not only with XML but also with definite clause grammars</I>.
</P>
<P>
P. Mäenpää and A. Ranta.
The type theory and type checker of GF.
<I>Colloquium on Principles, Logics, and Implementations of High-Level Programming Languages, Workshop on Logical Frameworks and Meta-languages, Paris, 28 September 1999</I>.
1999.
<A HREF="href=http://www.cse.chalmers.se/~aarne/papers/lfm1999.ps.gz">ps.gz</A>.
<br>
<I>Concise theoretical presentation of GF, using the old notation prior to v0.9</I>.
</P>
<A NAME="toc2"></A>
<H2>Background for GF</H2>
<P>
In alphabetical order:
</P>
<P>
L. Magnusson.
<I>The Implementation of ALF - a Proof Editor based on Martin-Löf's</I>
<I>Monomorphic Type Theory with Explicit Substitutions</I>.
PhD Thesis, Department of Computing Science,
Chalmers University of Technology and Göteborg University,
1994.
<br>
<I>Back in 1992 the most wonderful program in the world, ALF is</I>
<I>a model that GF directly follows: GF is Yet ALF.</I>
</P>
<P>
P. Martin-Löf.
<I>Intuitionistic Type Theory</I>.
Bibliopolis, Naples, 1984.
<br>
<I>A very accessible book (if you have access to it!) on type theory directly from the source.</I>
</P>
<P>
B. Nordström, K. Petersson, and J. Smith.
<I>Programming in Martin-Löf's Type Theory: an Introduction</I>.
Oxford University Press, 1990.
The book is out of print, but a free version can be picked up from
<A HREF="http://www.cse.chalmers.se/Cs/Research/Logic/book/">www.cse.chalmers.se/Cs/Research/Logic/book/</A>
<br>
<I>Standard reference on the subject</I>.
</P>
<P>
A. Ranta.
<I>Type Theoretical Grammar</I>.
Oxford University Press, Oxford,
1994.
<br>
<I>Monograph on type theory in linguistics. Includes an introduction</I>
<I>to type theory. Focused on semantics, in particular anaphora. A first,</I>
<I>very rudimentary implementation of linearization in the proof system ALF.</I>
</P>
<P>
A. Ranta.
Syntactic categories in the language of mathematics.
In P. Dybjer, B. Nordström, and J. Smith, eds.,
<I>Types for Proofs and Programs</I>,
pp. 162-182,
Lecture Notes in Computer Science
996,
Springer-Verlag,
Heidelberg,
1995.
<A HREF="http://www.cse.chalmers.se/~aarne/articles/baastad.ps.gz">ps.gz</A>
<br>
<I>Predecessor of GF: grammar defined in type theory and implemented in ALF</I>.
</P>
<P>
A. Ranta.
Context-relative syntactic categories and the formalization of mathematical text.
In S. Berardi and M. Coppo, eds.,
<I>Types for Proofs and Programs</I>,
pp. 231-248,
Lecture Notes in Computer Science
1158,
Springer-Verlag,
Heidelberg,
1996.
<A HREF="http://www.cse.chalmers.se/~aarne/articles/torino.ps.gz">ps.gz</A>.
<br>
<I>Extending the theory of the previous paper. The implementation in ALF</I>
<I>eventually became so heavy that the need arose for GF.</I>
</P>
<P>
A. Ranta.
Structures grammaticales dans le français mathématique.
<I>Mathématiques, informatique et Sciences Humaines.</I>,
vol. 138 pp. 5-56 and 139 pp. 5-36,
1997.
<br>
<I>A rather comprehensive French grammar presented in a type-theoretical style.</I>
</P>
<P>
A. Ranta.
Syntactic calculus with dependent types.
<I>Journal of Logic, Language and Information</I>, vol. 4,
pp. 413-431, 1998.
<br>
<I>Interprets Lambek Calculus in type theory and defines some extensions</I>.
</P>
<!-- html code generated by txt2tags 2.6 (http://txt2tags.org) -->
<!-- cmdline: txt2tags -thtml ./doc/gf-bibliography.t2t -->
</BODY></HTML>

View File

@@ -1,664 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<META NAME="generator" CONTENT="http://txt2tags.org">
<LINK REL="stylesheet" TYPE="text/css" HREF="../css/style.css">
<meta name = "viewport" content = "width = device-width"><TITLE>GF Quick Reference</TITLE>
</HEAD><BODY BGCOLOR="white" TEXT="black">
<CENTER>
<H1><a href="../"><IMG src="../doc/Logos/gf0.png"></a>GF Quick Reference</H1>
<FONT SIZE="4"><I>Aarne Ranta</I></FONT><BR>
<FONT SIZE="4">April 4, 2006</FONT>
</CENTER>
<P></P>
<HR NOSHADE SIZE=1>
<P></P>
<UL>
<LI><A HREF="#toc1">A complete example</A>
<LI><A HREF="#toc2">Modules and files</A>
<LI><A HREF="#toc3">Judgements</A>
<LI><A HREF="#toc4">Types</A>
<LI><A HREF="#toc5">Expressions</A>
<LI><A HREF="#toc6">Pattern matching</A>
<LI><A HREF="#toc7">Sample library functions</A>
<LI><A HREF="#toc8">Flags</A>
<LI><A HREF="#toc9">File paths</A>
<LI><A HREF="#toc10">Alternative grammar formats</A>
<LI><A HREF="#toc11">References</A>
</UL>
<P></P>
<HR NOSHADE SIZE=1>
<P></P>
<P>
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
<A HREF="http://www.grammaticalframework.org/doc/tutorial/gf-tutorial.html">GF Tutorial</A>.
Help on GF commands is obtained on line by the
help command (<CODE>help</CODE>), and help on invoking
GF with (<CODE>gf -help</CODE>).
</P>
<A NAME="toc1"></A>
<H3>A complete example</H3>
<P>
This is a complete example of a GF grammar divided
into three modules in files. The grammar recognizes the
phrases <I>one pizza</I> and <I>two pizzas</I>.
</P>
<P>
File <CODE>Order.gf</CODE>:
</P>
<PRE>
abstract Order = {
cat
Order ;
Item ;
fun
One, Two : Item -&gt; Order ;
Pizza : Item ;
}
</PRE>
<P>
File <CODE>OrderEng.gf</CODE> (the top file):
</P>
<PRE>
--# -path=.:prelude
concrete OrderEng of Order =
open Res, Prelude in {
flags startcat=Order ;
lincat
Order = SS ;
Item = {s : Num =&gt; Str} ;
lin
One it = ss ("one" ++ it.s ! Sg) ;
Two it = ss ("two" ++ it.s ! Pl) ;
Pizza = regNoun "pizza" ;
}
</PRE>
<P>
File <CODE>Res.gf</CODE>:
</P>
<PRE>
resource Res = open Prelude in {
param Num = Sg | Pl ;
oper regNoun : Str -&gt; {s : Num =&gt; Str} =
\dog -&gt; {s = table {
Sg =&gt; dog ;
_ =&gt; dog + "s"
}
} ;
}
</PRE>
<P>
To use this example, do
</P>
<PRE>
% gf -- in shell: start GF
&gt; i OrderEng.gf -- in GF: import grammar
&gt; p "one pizza" -- parse string
&gt; l Two Pizza -- linearize tree
</PRE>
<A NAME="toc2"></A>
<H3>Modules and files</H3>
<P>
One module per file.
File named <CODE>Foo.gf</CODE> contains module named
<CODE>Foo</CODE>.
</P>
<P>
Each module has the structure
</P>
<PRE>
moduletypename =
Inherits ** -- optional
open Opens in -- optional
{ Judgements }
</PRE>
<P>
Inherits are names of modules of the same type.
Inheritance can be restricted:
</P>
<PRE>
Mo[f,g], -- inherit only f,g from Mo
Lo-[f,g] -- inheris all but f,g from Lo
</PRE>
<P>
Opens are possible in <CODE>concrete</CODE> and <CODE>resource</CODE>.
They are names of modules of these two types, possibly
qualified:
</P>
<PRE>
(M = Mo), -- refer to f as M.f or Mo.f
(Lo = Lo) -- refer to f as Lo.f
</PRE>
<P>
Module types and judgements in them:
</P>
<PRE>
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
</PRE>
<P>
The forms
<CODE>param</CODE>, <CODE>oper</CODE>
may appear in <CODE>concrete</CODE> as well, but are then
not inherited to extensions.
</P>
<P>
All modules can moreover have <CODE>flags</CODE> and comments.
Comments have the forms
</P>
<PRE>
-- till the end of line
{- any number of lines between -}
--# used for compiler pragmas
</PRE>
<P>
A <CODE>concrete</CODE> can be opened like a <CODE>resource</CODE>.
It is translated as follows:
</P>
<PRE>
cat C ---&gt; oper C : Type =
lincat C = T T ** {lock_C : {}}
fun f : G -&gt; C ---&gt; oper f : A* -&gt; C* = \g -&gt;
lin f = t t g ** {lock_C = &lt;&gt;}
</PRE>
<P>
An <CODE>abstract</CODE> can be opened like an <CODE>interface</CODE>.
Any <CODE>concrete</CODE> of it then works as an <CODE>instance</CODE>.
</P>
<A NAME="toc3"></A>
<H3>Judgements</H3>
<PRE>
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 -&gt; C -- same as
fun f : A -&gt; 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 -&gt; t
lindef C = \s -&gt; 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 -&gt; R -&gt; 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
</PRE>
<P>
Judgements are terminated by semicolons (<CODE>;</CODE>).
Subsequent judgments of the same form may share the
keyword:
</P>
<PRE>
cat C ; D ; -- same as cat C ; cat D ;
</PRE>
<P>
Judgements can also share RHS:
</P>
<PRE>
fun f,g : A -- same as fun f : A ; g : A
</PRE>
<A NAME="toc4"></A>
<H3>Types</H3>
<P>
Abstract syntax (in <CODE>fun</CODE>):
</P>
<PRE>
C -- basic type, if cat C
C a b -- basic type for dep. category
(x : A) -&gt; B -- dep. functions from A to B
(_ : A) -&gt; B -- nondep. functions from A to B
(p,q : A) -&gt; B -- same as (p : A)-&gt; (q : A) -&gt; B
A -&gt; B -- same as (_ : A) -&gt; B
Int -- predefined integer type
Float -- predefined float type
String -- predefined string type
</PRE>
<P>
Concrete syntax (in <CODE>lincat</CODE>):
</P>
<PRE>
Str -- token lists
P -- parameter type, if param P
P =&gt; 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
</PRE>
<P>
Resource (in <CODE>oper</CODE>): all those of concrete, plus
</P>
<PRE>
Tok -- tokens (subtype of Str)
A -&gt; B -- functions from A to B
Int -- integers
Strs -- list of prefixes (for pre)
PType -- parameter type
Type -- any type
</PRE>
<P>
As parameter types, one can use any finite type:
<CODE>P</CODE> defined in <CODE>param P</CODE>,
<CODE>Ints n</CODE>, and record types of parameter types.
</P>
<A NAME="toc5"></A>
<H3>Expressions</H3>
<P>
Syntax trees = full function applications
</P>
<PRE>
f a b -- : C if fun f : A -&gt; B -&gt; C
1977 -- : Int
3.14 -- : Float
"foo" -- : String
</PRE>
<P>
Higher-Order Abstract syntax (HOAS): functions as arguments:
</P>
<PRE>
F a (\x -&gt; c) -- : C if a : A, c : C (x : B),
fun F : A -&gt; (B -&gt; C) -&gt; C
</PRE>
<P>
Tokens and token lists
</P>
<PRE>
"hello" -- : Tok, singleton Str
"hello" ++ "world" -- : Str
["hello world"] -- : Str, same as "hello" ++ "world"
"hello" + "world" -- : Tok, computes to "helloworld"
[] -- : Str, empty list
</PRE>
<P>
Parameters
</P>
<PRE>
Sg -- atomic constructor
VPres Sg P2 -- applied constructor
{n = Sg ; p = P3} -- record of parameters
</PRE>
<P>
Tables
</P>
<PRE>
table { -- by full branches
Sg =&gt; "mouse" ;
Pl =&gt; "mice"
}
table { -- by pattern matching
Pl =&gt; "mice" ;
_ =&gt; "mouse" -- wildcard pattern
}
table {
n =&gt; regn n "cat" -- variable pattern
}
table Num {...} -- table given with arg. type
table ["ox"; "oxen"] -- table as course of values
\\_ =&gt; "fish" -- same as table {_ =&gt; "fish"}
\\p,q =&gt; t -- same as \\p =&gt; \\q =&gt; t
t ! p -- select p from table t
case e of {...} -- same as table {...} ! e
</PRE>
<P>
Records
</P>
<PRE>
{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}
&lt;a,b,c&gt; -- tuple, same as {p1=a;p2=b;p3=c}
</PRE>
<P>
Functions
</P>
<PRE>
\x -&gt; t -- lambda abstract
\x,y -&gt; t -- same as \x -&gt; \y -&gt; t
\x,_ -&gt; t -- binding not in t
</PRE>
<P>
Local definitions
</P>
<PRE>
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
</PRE>
<P>
Free variation
</P>
<PRE>
variants {x ; y} -- both x and y possible
variants {} -- nothing possible
</PRE>
<P>
Prefix-dependent choices
</P>
<PRE>
pre {"a" ; "an" / v} -- "an" before v, "a" otherw.
strs {"a" ; "i" ;"o"}-- list of condition prefixes
</PRE>
<P>
Typed expression
</P>
<PRE>
&lt;t:T&gt; -- same as t, to help type inference
</PRE>
<P>
Accessing bound variables in <CODE>lin</CODE>: use fields <CODE>$1, $2, $3,...</CODE>.
Example:
</P>
<PRE>
fun F : (A : Set) -&gt; (El A -&gt; Prop) -&gt; Prop ;
lin F A B = {s = ["for all"] ++ A.s ++ B.$1 ++ B.s}
</PRE>
<A NAME="toc6"></A>
<H3>Pattern matching</H3>
<P>
These patterns can be used in branches of <CODE>table</CODE> and
<CODE>case</CODE> expressions. Patterns are matched in the order in
which they appear in the grammar.
</P>
<PRE>
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
&lt;p,q&gt; -- 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
</PRE>
<A NAME="toc7"></A>
<H3>Sample library functions</H3>
<PRE>
-- lib/prelude/Predef.gf
drop : Int -&gt; Tok -&gt; Tok -- drop prefix of length
take : Int -&gt; Tok -&gt; Tok -- take prefix of length
tk : Int -&gt; Tok -&gt; Tok -- drop suffix of length
dp : Int -&gt; Tok -&gt; Tok -- take suffix of length
occur : Tok -&gt; Tok -&gt; PBool -- test if substring
occurs : Tok -&gt; Tok -&gt; PBool -- test if any char occurs
show : (P:Type) -&gt; P -&gt;Tok -- param to string
read : (P:Type) -&gt; Tok-&gt; P -- string to param
toStr : (L:Type) -&gt; L -&gt;Str -- find "first" string
-- lib/prelude/Prelude.gf
param Bool = True | False
oper
SS : Type -- the type {s : Str}
ss : Str -&gt; SS -- construct SS
cc2 : (_,_ : SS) -&gt; SS -- concat SS's
optStr : Str -&gt; Str -- string or empty
strOpt : Str -&gt; Str -- empty or string
bothWays : Str -&gt; Str -&gt; Str -- X++Y or Y++X
init : Tok -&gt; Tok -- all but last char
last : Tok -&gt; Tok -- last char
prefixSS : Str -&gt; SS -&gt; SS
postfixSS : Str -&gt; SS -&gt; SS
infixSS : Str -&gt; SS -&gt; SS -&gt; SS
if_then_else : (A : Type) -&gt; Bool -&gt; A -&gt; A -&gt; A
if_then_Str : Bool -&gt; Str -&gt; Str -&gt; Str
</PRE>
<A NAME="toc8"></A>
<H3>Flags</H3>
<P>
Flags can appear, with growing priority,
</P>
<UL>
<LI>in files, judgement <CODE>flags</CODE> and without dash (<CODE>-</CODE>)
<LI>as flags to <CODE>gf</CODE> when invoked, with dash
<LI>as flags to various GF commands, with dash
</UL>
<P>
Some common flags used in grammars:
</P>
<PRE>
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 "&amp;+"
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
</PRE>
<P>
For the full set of values for <CODE>FLAG</CODE>,
use on-line <CODE>h -FLAG</CODE>.
</P>
<A NAME="toc9"></A>
<H3>File paths</H3>
<P>
Colon-separated lists of directories searched in the
given order:
</P>
<PRE>
--# -path=.:../abstract:../common:prelude
</PRE>
<P>
This can be (in order of growing preference), as
first line in the top file, as flag to <CODE>gf</CODE>
when invoked, or as flag to the <CODE>i</CODE> command.
The prefix <CODE>--#</CODE> is used only in files.
</P>
<P>
If the environment variabls <CODE>GF_LIB_PATH</CODE> is defined, its
value is automatically prefixed to each directory to
extend the original search path.
</P>
<A NAME="toc10"></A>
<H3>Alternative grammar formats</H3>
<P>
<B>Old GF</B> (before GF 2.0):
all judgements in any kinds of modules,
division into files uses <CODE>include</CODE>s.
A file <CODE>Foo.gf</CODE> is recognized as the old format
if it lacks a module header.
</P>
<P>
<B>Context-free</B> (file <CODE>foo.cf</CODE>). The form of rules is e.g.
</P>
<PRE>
Fun. S ::= NP "is" AP ;
</PRE>
<P>
If <CODE>Fun</CODE> is omitted, it is generated automatically.
Rules must be one per line. The RHS can be empty.
</P>
<P>
<B>Extended BNF</B> (file <CODE>foo.ebnf</CODE>). The form of rules is e.g.
</P>
<PRE>
S ::= (NP+ ("is" | "was") AP | V NP*) ;
</PRE>
<P>
where the RHS is a regular expression of categories
and quoted tokens: <CODE>"foo", CAT, T U, T|U, T*, T+, T?</CODE>, or empty.
Rule labels are generated automatically.
</P>
<P>
<B>Probabilistic grammars</B> (not a separate format).
You can set the probability of a function <CODE>f</CODE> (in its value category) by
</P>
<PRE>
--# prob f 0.009
</PRE>
<P>
These are put into a file given to GF using the <CODE>probs=File</CODE> flag
on command line. This file can be the grammar file itself.
</P>
<P>
<B>Example-based grammars</B> (file <CODE>foo.gfe</CODE>). Expressions of the form
</P>
<PRE>
in Cat "example string"
</PRE>
<P>
are preprocessed by using a parser given by the flag
</P>
<PRE>
--# -resource=File
</PRE>
<P>
and the result is written to <CODE>foo.gf</CODE>.
</P>
<A NAME="toc11"></A>
<H3>References</H3>
<P>
<A HREF="http://www.grammaticalframework.org/">GF Homepage</A>
</P>
<P>
A. Ranta, Grammatical Framework: A Type-Theoretical Grammar Formalism.
<I>The Journal of Functional Programming</I>, vol. 14:2. 2004, pp. 145-189.
</P>
<!-- html code generated by txt2tags 2.6 (http://txt2tags.org) -->
<!-- cmdline: txt2tags -thtml ./doc/gf-reference.t2t -->
</BODY></HTML>

View File

@@ -1,93 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<META NAME="generator" CONTENT="http://txt2tags.sf.net">
<TITLE>Grammatical Framework Download and Installation</TITLE>
</HEAD><BODY BGCOLOR="white" TEXT="black">
<P ALIGN="center"><CENTER><H1>Grammatical Framework Download and Installation</H1>
<FONT SIZE="4">
<I>Version 3.1.6, 23 April 2010</I><BR>
</FONT></CENTER>
<H2>Latest developer code</H2>
<P>
<A HREF="../doc/darcs.html">GF darcs repository</A>
</P>
<H2>Latest release</H2>
<P>
GF 3.1.6 released 23 April 2010.
</P>
<UL>
<LI>MacOS X installer package:
<A HREF="gf-3.1.6-leopard.pkg"><CODE>gf-3.1.6-leopard.pkg</CODE></A> (7.7MB)
<LI>MacOS X (gzipped executable, Leopard and Snow Leopard):
<A HREF="gf-3.1.6-bin-intel-mac.gz"><CODE>gf-3.1.6-bin-intel-mac.gz</CODE></A> (1.9MB)
<LI>Windows (zipped executable):
<A HREF="gf-3.1.6-bin-i486-windows.zip"><CODE>gf-3.1.6-bin-i486-windows.zip</CODE></A>
(1.6 MB)
<LI>Ubuntu Linux (gzipped executable):
<A HREF="gf-3.1.6-bin-i486-linux.gz"><CODE>gf-3.1.6-bin-i486-linux.gz</CODE></A>
(1.7 MB)
<LI>compiled library package:
<A HREF="gf-3.1.6-lib.tar.gz"><CODE>gf-3.1.6-lib.tar.gz</CODE></A>
(4.4 MB)
<LI>full source package (GF system, libraries, examples, documentation):
<A HREF="gf-3.1.6-src.tar.gz"><CODE>gf-3.1.6-src.tar.gz</CODE></A>
(11 MB)
<P></P>
GF is also on <A HREF="http://hackage.haskell.org/package/gf">Hackage</A>
</UL>
<P>
What's new? See the <A HREF="release-3.1.6.html">release notes</A>.
</P>
<H2>Previous releases</H2>
<P>
<A HREF="old-index.html">Follow this link</A>.
</P>
<H2>Installation instructions</H2>
<P>
The Windows package is installed by just unpacking it anywhere.
It finds the libraries relative to the <CODE>.exe</CODE> file.
</P>
<P>
To install a binary package for MacOS X or Linux: uncompress the executable and
put it somewhere on your path, renaming it to just <CODE>gf</CODE>. For instance:
</P>
<PRE>
gunzip gf-bin-[version].gz
sudo mv gf-bin-[version] /usr/local/bin/gf
</PRE>
<P>
To install the libraries (if done separately), unpack them in the place to which your
<CODE>GF_LIB_PATH</CODE> points.
</P>
<PRE>
cd $GF_LIB_PATH
gtar xvfz gf-lib-[VERSION].tgz
</PRE>
<P>
If this variable hasn't been defined, it is useful define it, e.g.
</P>
<PRE>
export GF_LIB_PATH=/usr/local/lib/gf/
</PRE>
<P></P>
<P>
To compile and install from source on Mac or Linux, do:
</P>
<PRE>
tar xvfz gf-[VERSION].tgz
cd GF/src
runghc Setup configure --user
runghc Setup build
runghc Setup install
</PRE>
<P>
The last command must be prefixed by <CODE>sudo</CODE>, if the installation is outside
user-writeable area.
</P>
<!-- html code generated by txt2tags 2.5 (http://txt2tags.sf.net) -->
<!-- cmdline: txt2tags -thtml ./download/index-3.1.6.t2t -->
</BODY></HTML>

View File

@@ -1,87 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<META NAME="generator" CONTENT="http://txt2tags.sf.net">
<TITLE>GF Version 3.1.6 Release Notes</TITLE>
</HEAD><BODY BGCOLOR="white" TEXT="black">
<P ALIGN="center"><CENTER><H1>GF Version 3.1.6 Release Notes</H1>
<FONT SIZE="4">
<I>23 April 2010</I><BR>
</FONT></CENTER>
<H1>Installation</H1>
<P>
The binaries now work out of the box for each platform and support
completions (file names and parsing), because readline has been
changed to haskeline.
</P>
<P>
To compile from source, GHC 6.12 is now required. But GHC is not needed
if the binary executables are used.
</P>
<P>
Binaries (<CODE>.gfo</CODE> and <CODE>.pgf</CODE> files) compiled with GF 3.1 are incompatible
with 3.1.6 and must either be removed; alternatively, the <CODE>-src</CODE> flag can be
used when compiling.
</P>
<P>
Notice the new place to send bug reports (see GF's welcome message)!
</P>
<H1>New features</H1>
<P>
Grammar language
</P>
<UL>
<LI>improved support for dependent types (see <CODE>SUMO</CODE>, <CODE>nqueens</CODE> in <CODE>examples</CODE>)
</UL>
<P>
Shell commands and options (see <CODE>help</CODE> in GF for more information)
</P>
<UL>
<LI><CODE>eb</CODE>: example-based grammar file conversion
(see <CODE>examples/animals/QuestionI.gf</CODE>)
<LI><CODE>vd = visualize_dependency</CODE>: show dependency tree
<LI><CODE>vp = visualize_parse</CODE>: show parse tree
<LI><CODE>gr, gt, mq, tq</CODE>: use a seed tree with metavariables
<LI><CODE>gr, p, tq</CODE>: use <CODE>-probs=FILE</CODE> to bias or rank generated trees
<LI><CODE>gt</CODE> now tries the different alternatives in the order in which they appear in the source code
<LI><CODE>dg</CODE>: hide modules when printing dependency graph
<LI>-output-format=lambda_prolog let us to use Lambda Prolog for exhaustive generation with dependent types
</UL>
<P>
Libraries
</P>
<UL>
<LI>Urdu completed (Shafqat Virk)
<LI>Turkish morphology + Zamberek's dictionary in GF (Server Cimen)
</UL>
<P>
Examples
</P>
<UL>
<LI>SUMO
<LI>phrasebook
<LI>nqueens
</UL>
<P>
Internal
</P>
<UL>
<LI>single PMCFG format for both linearization and parsing
<LI>use of Haskeline for completion - more portable than Readline
<LI>unicode support from Haskell 6.12 instead of home-made coding
</UL>
<H2>Issues</H2>
<P>
Javascript generation is not updated to the new PGF format.
<A HREF="old-index.html">GF 3.1</A> should still be used for building Javascript applications.
</P>
<!-- html code generated by txt2tags 2.5 (http://txt2tags.sf.net) -->
<!-- cmdline: txt2tags -thtml release-3.1.6.txt -->
</BODY></HTML>

View File

@@ -1,177 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<META NAME="generator" CONTENT="http://txt2tags.org">
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf8">
<LINK REL="stylesheet" TYPE="text/css" HREF="../css/style.css">
<meta name = "viewport" content = "width = device-width"><TITLE>Grammatical Framework: Programming with Multilingual Grammars</TITLE>
</HEAD><BODY BGCOLOR="white" TEXT="black">
<CENTER>
<H1>Grammatical Framework: Programming with Multilingual Grammars</H1>
<FONT SIZE="4"><I>Aarne Ranta</I></FONT><BR>
</CENTER>
<P>
<center><img style="width: 200px" src="gf-book-cover.png"></center>
</P>
<P>
This is the web page of the book
</P>
<UL>
<LI>Aarne Ranta,
<I>Grammatical Framework: Programming with Multilingual Grammars</I>,
CSLI Publications,
Stanford,
2011,
340 pp,
ISBN-10: 1-57586-626-9 (Paper), 1-57586-627-7 (Cloth).
</UL>
<H2>Publisher's information</H2>
<P>
Publisher's web page (look for "Series" -&gt; "CSLI Studies in Computational Linguistics")
</P>
<P>
<A HREF="http://www-csli.stanford.edu/pubs/">http://www-csli.stanford.edu/pubs/</A>
</P>
<H2>Order</H2>
<P>
Direct order ($32.50 paperback, $70 hardcover):
</P>
<P>
<A HREF="http://press.uchicago.edu/ucp/books/book/distributed/G/bo12469871.html">http://press.uchicago.edu/ucp/books/book/distributed/G/bo12469871.html</A>
</P>
<P>
Amazon order USA ($32.50 paperback, $70 hardcover):
</P>
<P>
<A HREF="http://www.amazon.com/Grammatical-Framework-Programming-Multilingual-Information/dp/1575866269/ref=sr_1_2?ie=UTF8&amp;qid=1308585697&amp;sr=8-2">http://www.amazon.com/Grammatical-Framework-Programming-Multilingual-Information/dp/1575866269/ref=sr_1_2?ie=UTF8&amp;qid=1308585697&amp;sr=8-2</A>
</P>
<P>
Amazon order UK (£21 paperback, £45 hardcover):
</P>
<P>
<A HREF="http://www.amazon.co.uk/Grammatical-Framework-Programming-Multilingual-Computational/dp/1575866269/ref=sr_1_6?ie=UTF8&amp;qid=1315580083&amp;sr=8-6">http://www.amazon.co.uk/Grammatical-Framework-Programming-Multilingual-Computational/dp/1575866269/ref=sr_1_6?ie=UTF8&amp;qid=1315580083&amp;sr=8-6</A>
</P>
<H2>Book description</H2>
<P>
Grammars of natural languages are complex systems, and their
computer implementation requires both programming skills and
linguistic knowledge, especially when dealing with other languages
than English. This book makes such tasks accessible for a wide
range of programmers. It introduces GF (Grammatical Framework),
which is a programming language designed for writing grammars, which
may moreover address several languages in parallel.
The book shows how to write grammars in GF and use them in applications
such as tourist phrasebooks, spoken dialogue systems, and natural
language interfaces. The examples and exercises address several
languages, and the readers are guided to look at their own languages
from the computational perspective.
</P>
<P>
With an emphasis on good engineering, the book promotes modularity
and division of labour - in particular, the use of libraries. It
introduces the GF Resource Grammar Library, which currently addresses
16 languages. This number is constantly growing due to contributions
from the international GF community. The library makes it painless to
build applications and to port them to new languages. The book
introduces a wide range of such applications, which run on platforms
ranging from web servers to mobile phones. But the book also gives
guidance for those readers who want to understand the underlying
linguistics and implement resource grammars for new languages.
</P>
<P>
The book starts with a hands-on tutorial, continues with a selection
of advanced topics, and ends with a complete reference manual
of GF. Requiring very little background knowledge, it is accessible
for second-year students that have experience with computers and an
interest for languages. At the same time, its novel and advanced
material makes it interesting for senior researchers in computer science,
linguistics, and related fields.
</P>
<H2>How to cite</H2>
<PRE>
@Book{ranta-2011,
author = {Aarne Ranta},
title = {{Grammatical Framework:
Programming with Multilingual Grammars}},
publisher = {{CSLI Publications}},
year = {2011},
address = "Stanford",
note = "ISBN-10: 1-57586-626-9 (Paper), 1-57586-627-7 (Cloth)"
}
</PRE>
<H2>Table of Contents</H2>
<P>
<A HREF="toc-gf-book.txt">Detailed Table of Contents</A>
</P>
<H2>Supporting material</H2>
<P>
<A HREF="./gf-book-slides.pdf">Slides</A> for teaching the book chapter by chapter.
</P>
<P>
<A HREF="./examples">Code examples</A>. You can also download the
complete example set as a compressed tar file,
<A HREF="gf-book-examples.tgz">gf-book-examples.tgz</A>.
</P>
<P>
<A HREF="http://www.grammaticalframework.org/demos/gfse/">GF Web IDE</A>:
build grammars in the cloud, without installing GF.
</P>
<P>
Demos
</P>
<UL>
<LI><A HREF="http://www.grammaticalframework.org:41296/minibar/minibar.html">on-line translator</A> (Section 7.12)
<LI><A HREF="http://www.grammaticalframework.org/demos/resource-api/editor.html">syntax editor</A> (Section 7.13)
<LI><A HREF="http://www.youtube.com/watch?v=1bfaYHWS6zU">multimodal dialogue system</A> (Section 7.15)
</UL>
<P>
Other tutorials:
</P>
<UL>
<LI><A HREF="../doc/tutorial/gf-tutorial.html">GF Tutorial</A>: programmer-oriented,
covering parts of chapters 2-8
<LI><A HREF="../doc/gf-lrec-2010.pdf">GF Resource Tutorial</A>: linguist-oriented,
covering parts of chapters 2-5, 9-10
</UL>
<P>
<A HREF="http://www.grammaticalframework.org/doc/gf-bibliography.html">Works mentioned in references</A>;
more download links will be added.
</P>
<P>
<A HREF="http://www.grammaticalframework.org/lib/doc/synopsis.html">Resource Grammar Library API</A>
</P>
<P>
<A HREF="http://www.grammaticalframework.org/download">Sources and binaries</A>
for GF 3.2, which exactly matches the book.
</P>
<P>
GF Home Page: <A HREF="http://www.grammaticalframework.org/">http://www.grammaticalframework.org/</A>
</P>
<P>
Author's email: aarne'at'chalmers'dot'se
</P>
<P>
Author's home page: <A HREF="http://www.cse.chalmers.se/~aarne/">http://www.cse.chalmers.se/~aarne/</A>
</P>
<!-- html code generated by txt2tags 2.6 (http://txt2tags.org) -->
<!-- cmdline: txt2tags -thtml index.txt -->
</BODY></HTML>