mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-04-22 19:22:50 -06:00
extended Synopsis with categories, structural, and an example
This commit is contained in:
@@ -143,29 +143,32 @@ two interfaces: the resource ``Syntax`` and an application lexicon.
|
|||||||
American = mkAP american_A ;
|
American = mkAP american_A ;
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
The application lexicon ``MusicLex`` has an abstract syntax that extends
|
The application lexicon ``MusicLex`` is an interface
|
||||||
the resource category system ``Cat``.
|
opening the resource category system ``Cat``.
|
||||||
```
|
```
|
||||||
abstract MusicLex = Cat ** {
|
interface MusicLex = Cat ** {
|
||||||
|
oper
|
||||||
fun
|
|
||||||
song_N : N ;
|
song_N : N ;
|
||||||
american_A : A ;
|
american_A : A ;
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
It could also be an abstract syntax that extends ``Cat``, but
|
||||||
|
this would limit the kind of constructions that are possible in
|
||||||
|
the interface
|
||||||
|
|
||||||
Each language has its own concrete syntax, which opens the
|
Each language has its own concrete syntax, which opens the
|
||||||
inflectional paradigms module for that language:
|
inflectional paradigms module for that language:
|
||||||
```
|
```
|
||||||
concrete MusicLexGer of MusicLex =
|
interface MusicLexGer of MusicLex =
|
||||||
CatGer ** open ParadigmsGer in {
|
CatGer ** open ParadigmsGer in {
|
||||||
lin
|
oper
|
||||||
song_N = mkN "Lied" "Lieder" neuter ;
|
song_N = mkN "Lied" "Lieder" neuter ;
|
||||||
american_A = mkA "amerikanisch" ;
|
american_A = mkA "amerikanisch" ;
|
||||||
}
|
}
|
||||||
|
|
||||||
concrete MusicLexFre of MusicLex =
|
interface MusicLexFre of MusicLex =
|
||||||
CatFre ** open ParadigmsFre in {
|
CatFre ** open ParadigmsFre in {
|
||||||
lin
|
oper
|
||||||
song_N = mkN "chanson" feminine ;
|
song_N = mkN "chanson" feminine ;
|
||||||
american_A = mkA "américain" ;
|
american_A = mkA "américain" ;
|
||||||
}
|
}
|
||||||
@@ -195,9 +198,9 @@ instantiating ``Music``. The latter is
|
|||||||
completely trivial, whereas the former one involves the choice of correct
|
completely trivial, whereas the former one involves the choice of correct
|
||||||
vocabulary and inflectional paradigms. For instance, Finnish is added as follows:
|
vocabulary and inflectional paradigms. For instance, Finnish is added as follows:
|
||||||
```
|
```
|
||||||
concrete MusicLexFin of MusicLex =
|
instance MusicLexFin of MusicLex =
|
||||||
CatFin ** open ParadigmsFin in {
|
CatFin ** open ParadigmsFin in {
|
||||||
lin
|
oper
|
||||||
song_N = mkN "kappale" ;
|
song_N = mkN "kappale" ;
|
||||||
american_A = mkA "amerikkalainen" ;
|
american_A = mkA "amerikkalainen" ;
|
||||||
}
|
}
|
||||||
@@ -226,9 +229,9 @@ restricted inheritance of the functor:
|
|||||||
```
|
```
|
||||||
The lexicon is as expected:
|
The lexicon is as expected:
|
||||||
```
|
```
|
||||||
concrete MusicLexEng of MusicLex =
|
instance MusicLexEng of MusicLex =
|
||||||
CatEng ** open ParadigmsEng in {
|
CatEng ** open ParadigmsEng in {
|
||||||
lin
|
oper
|
||||||
song_N = mkN "song" ;
|
song_N = mkN "song" ;
|
||||||
american_A = mkA "American" ;
|
american_A = mkA "American" ;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user