mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-04-22 19:22:50 -06:00
documentation in gfm-format examples (dir renamed from multi)
This commit is contained in:
76
examples/gfm-format/Food.gfm
Normal file
76
examples/gfm-format/Food.gfm
Normal file
@@ -0,0 +1,76 @@
|
||||
-- Full .gfm format: multi-module files (see Words.gfm for a baseline format)
|
||||
-- The compiler recognizes the suffix .gfm and a file for each module.
|
||||
-- Food.gf, FoodEng.gf, FoodIta.gf
|
||||
-- The first non-comment line must give a list of lang names for the top modules.
|
||||
-- This modules are the ones imported in 'import Food.gfm'.
|
||||
-- Their prefix comes from this file.
|
||||
-- This file must be UTF-8 encoded.
|
||||
|
||||
|
||||
> langs Eng Ita
|
||||
|
||||
abstract Food = {
|
||||
|
||||
cat
|
||||
Phrase ; Item ; Kind ; Quality ;
|
||||
|
||||
flags startcat = Phrase ;
|
||||
|
||||
fun
|
||||
Is : Item -> Quality -> Phrase ;
|
||||
This, That : Kind -> Item ;
|
||||
QKind : Quality -> Kind -> Kind ;
|
||||
Wine, Cheese, Fish : Kind ;
|
||||
Very : Quality -> Quality ;
|
||||
Fresh, Warm, Italian, Expensive, Delicious, Boring : Quality ;
|
||||
|
||||
}
|
||||
|
||||
concrete FoodEng of Food = {
|
||||
|
||||
|
||||
lincat
|
||||
Phrase, Item, Kind, Quality = {s : Str} ;
|
||||
|
||||
lin
|
||||
Is item quality = {s = item.s ++ "is" ++ quality.s} ;
|
||||
This kind = {s = "this" ++ kind.s} ;
|
||||
That kind = {s = "that" ++ kind.s} ;
|
||||
QKind quality kind = {s = quality.s ++ kind.s} ;
|
||||
Wine = {s = "wine"} ;
|
||||
Cheese = {s = "cheese"} ;
|
||||
Fish = {s = "fish"} ;
|
||||
Very quality = {s = "very" ++ quality.s} ;
|
||||
Fresh = {s = "fresh"} ;
|
||||
Warm = {s = "warm"} ;
|
||||
Italian = {s = "Italian"} ;
|
||||
Expensive = {s = "expensive"} ;
|
||||
Delicious = {s = "delicious"} ;
|
||||
Boring = {s = "boring"} ;
|
||||
|
||||
}
|
||||
|
||||
concrete FoodIta of Food = {
|
||||
|
||||
flags coding = utf8 ;
|
||||
|
||||
lincat
|
||||
Phrase, Item, Kind, Quality = {s : Str} ;
|
||||
|
||||
lin
|
||||
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} ;
|
||||
Wine = {s = "vino"} ;
|
||||
Cheese = {s = "formaggio"} ;
|
||||
Fish = {s = "pesce"} ;
|
||||
Very quality = {s = "molto" ++ quality.s} ;
|
||||
Fresh = {s = "fresco"} ;
|
||||
Warm = {s = "caldo"} ;
|
||||
Italian = {s = "italiano"} ;
|
||||
Expensive = {s = "caro"} ;
|
||||
Delicious = {s = "delizioso"} ;
|
||||
Boring = {s = "noioso"} ;
|
||||
|
||||
}
|
||||
22
examples/gfm-format/Words.gfm
Normal file
22
examples/gfm-format/Words.gfm
Normal file
@@ -0,0 +1,22 @@
|
||||
-- Baseline of .gfm format: multilingual word lists (see Food.gfm for multi-module gf)
|
||||
-- The compiler recognizes the suffix .gfm and creates four files:
|
||||
-- Words.gf, WordsEng.gf, WordsFin.gf, WordsSwe.gf
|
||||
-- The first non-comment line must give a list of lang names.
|
||||
-- The prefix comes from this file, as well as the abstract name.
|
||||
-- Languages are separated by ';', variants within a language by ','.
|
||||
-- Multi-word expressions are allowed.
|
||||
-- The startcat is S.
|
||||
-- The abstract name is multi_word_S for the first multi word (or word) on each line.
|
||||
-- This file must be UTF-8 encoded.
|
||||
|
||||
> langs Eng Swe Fin
|
||||
|
||||
house ; hus ; talo
|
||||
car, automobile ; bil ; auto
|
||||
man ; man ; mies
|
||||
girl ; flicka, tjej ; tyttö
|
||||
technical university ; teknisk högskola ; teknillinen korkeakoulu
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user