From 9b6f775b760883b49fd9c56580f22dc5933a7d2a Mon Sep 17 00:00:00 2001 From: aarne Date: Wed, 1 Dec 2010 08:10:23 +0000 Subject: documentation in gfm-format examples (dir renamed from multi) --- examples/gfm-format/Food.gfm | 76 +++++++++++++++++++++++++++++++++++++++++++ examples/gfm-format/Words.gfm | 22 +++++++++++++ examples/multi/Food.gfm | 69 --------------------------------------- examples/multi/Koe.gfm | 12 ------- 4 files changed, 98 insertions(+), 81 deletions(-) create mode 100644 examples/gfm-format/Food.gfm create mode 100644 examples/gfm-format/Words.gfm delete mode 100644 examples/multi/Food.gfm delete mode 100644 examples/multi/Koe.gfm (limited to 'examples') diff --git a/examples/gfm-format/Food.gfm b/examples/gfm-format/Food.gfm new file mode 100644 index 000000000..feb3dfcf6 --- /dev/null +++ b/examples/gfm-format/Food.gfm @@ -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"} ; + +} diff --git a/examples/gfm-format/Words.gfm b/examples/gfm-format/Words.gfm new file mode 100644 index 000000000..0e3aafb3e --- /dev/null +++ b/examples/gfm-format/Words.gfm @@ -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 + + + + diff --git a/examples/multi/Food.gfm b/examples/multi/Food.gfm deleted file mode 100644 index 12a47949a..000000000 --- a/examples/multi/Food.gfm +++ /dev/null @@ -1,69 +0,0 @@ --- baseline - -> 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"} ; - -} diff --git a/examples/multi/Koe.gfm b/examples/multi/Koe.gfm deleted file mode 100644 index d8fed0e53..000000000 --- a/examples/multi/Koe.gfm +++ /dev/null @@ -1,12 +0,0 @@ --- baseline - -> 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 - - - - -- cgit v1.2.3