From 716e7986c5c0f41cfe36e63e39849460b270dea5 Mon Sep 17 00:00:00 2001 From: aarne Date: Sun, 10 Apr 2005 18:40:08 +0000 Subject: [PATCH] module rules added --- doc/gf-modules.html | 197 +++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 194 insertions(+), 3 deletions(-) diff --git a/doc/gf-modules.html b/doc/gf-modules.html index ce6a5b41f..51aff0685 100644 --- a/doc/gf-modules.html +++ b/doc/gf-modules.html @@ -12,7 +12,7 @@

-8/4/2005 +8/4/2005 - 10/4

@@ -42,7 +42,7 @@ This document is meant as an appendix to the GF tutorial, and presupposes knowledge of GF judgements and expressions. It aims just to tell what module system adds to the old functionality; some information is repeated to give understanding on how the -module system related to the already familiar uses of GF grammars. +module system relates to the already familiar uses of GF grammars. @@ -758,7 +758,7 @@ the instances. by non-compositional functions (transfer rules) between the source and target languages. They are being introduce to GF as a module type of its own, but their development is still in progress. What -will be available are at least fun and def +will be available are at least fun and def judgements, but more is needed. It has not yet been defined how transfer modules are integrated in multilingual grammars, i.e.\ where in the grammar it is specified what transfer to use. @@ -771,7 +771,198 @@ has not been implemented.)

Summary of module syntax and semantics

+

Abstract syntax modules

+Syntax: +

+abstract A = (A_1,...,A_n **)? +{J_1 ; ... ; J_m ; } + +

+ +where +

+Semantic conditions: + + +

Concrete syntax modules

+ +Syntax: +

+incomplete? concrete C of A = +(C_1,...,C_n **)? +(open O_1,...,O_k in)? +{J_1 ; ... ; J_m ; } + +

+ +where +

+ +

+ +If the modifier incomplete appears, then any R in +an open specification may also be an interface. + +

+ +Semantic conditions: +

+ + +

Resource modules

+ +Syntax: +

+resource R = +(R_1,...,R_n **)? +(open O_1,...,O_k in)? +{J_1 ; ... ; J_m ; } + +

+where +

+ +

+ +Semantic conditions: +

+ + +

Interface modules

+ +Syntax: +

+interface R = +(R_1,...,R_n **)? +(open O_1,...,O_k in)? +{J_1 ; ... ; J_m ; } + +

+where +

+ +

+ +Semantic conditions: +

+ + + +

Instance modules

+ +Syntax: +

+instance R of I = +(R_1,...,R_n **)? +(open O_1,...,O_k in)? +{J_1 ; ... ; J_m ; } + +

+where +

+ +

+ +Semantic conditions: +

+ + +

Instantiated concrete syntax modules

+ +Syntax: +

+concrete C of A = +(C_1,...,C_n **)? +B +with +(I_1 =J_1), ... +, (I_m =J_m) ; + +

+ +where +