From 4d6a1d7bada472e197541dc81574c137470c80be Mon Sep 17 00:00:00 2001 From: aarne Date: Fri, 22 Dec 2006 10:42:06 +0000 Subject: [PATCH] overloaded api for all languages --- lib/resource-1.0/Makefile | 9 ++++-- lib/resource-1.0/api/CombinatorsDan.gf | 3 ++ lib/resource-1.0/api/CombinatorsEng.gf | 2 +- lib/resource-1.0/api/CombinatorsFin.gf | 3 ++ lib/resource-1.0/api/CombinatorsFre.gf | 3 ++ lib/resource-1.0/api/CombinatorsGer.gf | 3 ++ lib/resource-1.0/api/CombinatorsIta.gf | 3 ++ lib/resource-1.0/api/CombinatorsNor.gf | 3 ++ lib/resource-1.0/api/CombinatorsRus.gf | 3 ++ lib/resource-1.0/api/CombinatorsSpa.gf | 3 ++ lib/resource-1.0/api/CombinatorsSwe.gf | 3 ++ lib/resource-1.0/api/ConstructorsDan.gf | 3 ++ lib/resource-1.0/api/ConstructorsEng.gf | 2 +- lib/resource-1.0/api/ConstructorsFin.gf | 3 ++ lib/resource-1.0/api/ConstructorsFre.gf | 3 ++ lib/resource-1.0/api/ConstructorsGer.gf | 3 ++ lib/resource-1.0/api/ConstructorsIta.gf | 3 ++ lib/resource-1.0/api/ConstructorsNor.gf | 3 ++ lib/resource-1.0/api/ConstructorsRus.gf | 3 ++ lib/resource-1.0/api/ConstructorsSpa.gf | 3 ++ lib/resource-1.0/api/ConstructorsSwe.gf | 3 ++ lib/resource-1.0/api/Port.hs | 39 +++++++++++++++++++++++++ lib/resource-1.0/api/SymbolicDan.gf | 5 ++++ lib/resource-1.0/api/SymbolicEng.gf | 2 +- lib/resource-1.0/api/SymbolicFin.gf | 5 ++++ lib/resource-1.0/api/SymbolicFre.gf | 5 ++++ lib/resource-1.0/api/SymbolicGer.gf | 5 ++++ lib/resource-1.0/api/SymbolicIta.gf | 5 ++++ lib/resource-1.0/api/SymbolicNor.gf | 5 ++++ lib/resource-1.0/api/SymbolicRus.gf | 5 ++++ lib/resource-1.0/api/SymbolicSpa.gf | 5 ++++ lib/resource-1.0/api/SymbolicSwe.gf | 5 ++++ 32 files changed, 148 insertions(+), 5 deletions(-) create mode 100644 lib/resource-1.0/api/CombinatorsDan.gf create mode 100644 lib/resource-1.0/api/CombinatorsFin.gf create mode 100644 lib/resource-1.0/api/CombinatorsFre.gf create mode 100644 lib/resource-1.0/api/CombinatorsGer.gf create mode 100644 lib/resource-1.0/api/CombinatorsIta.gf create mode 100644 lib/resource-1.0/api/CombinatorsNor.gf create mode 100644 lib/resource-1.0/api/CombinatorsRus.gf create mode 100644 lib/resource-1.0/api/CombinatorsSpa.gf create mode 100644 lib/resource-1.0/api/CombinatorsSwe.gf create mode 100644 lib/resource-1.0/api/ConstructorsDan.gf create mode 100644 lib/resource-1.0/api/ConstructorsFin.gf create mode 100644 lib/resource-1.0/api/ConstructorsFre.gf create mode 100644 lib/resource-1.0/api/ConstructorsGer.gf create mode 100644 lib/resource-1.0/api/ConstructorsIta.gf create mode 100644 lib/resource-1.0/api/ConstructorsNor.gf create mode 100644 lib/resource-1.0/api/ConstructorsRus.gf create mode 100644 lib/resource-1.0/api/ConstructorsSpa.gf create mode 100644 lib/resource-1.0/api/ConstructorsSwe.gf create mode 100644 lib/resource-1.0/api/Port.hs create mode 100644 lib/resource-1.0/api/SymbolicDan.gf create mode 100644 lib/resource-1.0/api/SymbolicFin.gf create mode 100644 lib/resource-1.0/api/SymbolicFre.gf create mode 100644 lib/resource-1.0/api/SymbolicGer.gf create mode 100644 lib/resource-1.0/api/SymbolicIta.gf create mode 100644 lib/resource-1.0/api/SymbolicNor.gf create mode 100644 lib/resource-1.0/api/SymbolicRus.gf create mode 100644 lib/resource-1.0/api/SymbolicSpa.gf create mode 100644 lib/resource-1.0/api/SymbolicSwe.gf diff --git a/lib/resource-1.0/Makefile b/lib/resource-1.0/Makefile index b8fedbc48..bb9e3906f 100644 --- a/lib/resource-1.0/Makefile +++ b/lib/resource-1.0/Makefile @@ -15,9 +15,9 @@ GFCP=$(GFC) -preproc=./mkPresent #GFCP=$(GFC) -preproc=mkPresent -.PHONY: show-path all test alltenses pretest langs present mathematical multimodal compiled treebank stat gfdoc clean +.PHONY: show-path all test alltenses pretest langs present mathematical multimodal compiled treebank stat gfdoc clean api -all: show-path present alltenses mathematical multimodal compiled langs +all: show-path present alltenses mathematical api multimodal compiled langs show-path: @echo GF_LIB_PATH=$(GF_LIB_PATH) @@ -46,6 +46,11 @@ alltenses: langs: echo "s ;; pm | wf langs.gfcm" | $(GFCA) -path=alltenses:prelude ../alltenses/Lang???.gfc $(RTSS) +api: + $(GFC) api/Constructors???.gf + $(GFC) api/Combinators???.gf + $(GFC) api/Symbolic???.gf + cp -p api/*.gfc api/*.gfr ../api present: # $(GFCP) arabic/LangAra.gf diff --git a/lib/resource-1.0/api/CombinatorsDan.gf b/lib/resource-1.0/api/CombinatorsDan.gf new file mode 100644 index 000000000..dff911eba --- /dev/null +++ b/lib/resource-1.0/api/CombinatorsDan.gf @@ -0,0 +1,3 @@ +--# -path=.:alltenses:prelude + +resource CombinatorsDan = Combinators with (Grammar = GrammarDan) ; diff --git a/lib/resource-1.0/api/CombinatorsEng.gf b/lib/resource-1.0/api/CombinatorsEng.gf index 3dc4c9064..df539e513 100644 --- a/lib/resource-1.0/api/CombinatorsEng.gf +++ b/lib/resource-1.0/api/CombinatorsEng.gf @@ -1,3 +1,3 @@ ---# -path=.:../abstract:../common:../english:prelude +--# -path=.:alltenses:prelude resource CombinatorsEng = Combinators with (Grammar = GrammarEng) ; diff --git a/lib/resource-1.0/api/CombinatorsFin.gf b/lib/resource-1.0/api/CombinatorsFin.gf new file mode 100644 index 000000000..e5da96407 --- /dev/null +++ b/lib/resource-1.0/api/CombinatorsFin.gf @@ -0,0 +1,3 @@ +--# -path=.:alltenses:prelude + +resource CombinatorsFin = Combinators with (Grammar = GrammarFin) ; diff --git a/lib/resource-1.0/api/CombinatorsFre.gf b/lib/resource-1.0/api/CombinatorsFre.gf new file mode 100644 index 000000000..48d2166e4 --- /dev/null +++ b/lib/resource-1.0/api/CombinatorsFre.gf @@ -0,0 +1,3 @@ +--# -path=.:alltenses:prelude + +resource CombinatorsFre = Combinators with (Grammar = GrammarFre) ; diff --git a/lib/resource-1.0/api/CombinatorsGer.gf b/lib/resource-1.0/api/CombinatorsGer.gf new file mode 100644 index 000000000..e209fa136 --- /dev/null +++ b/lib/resource-1.0/api/CombinatorsGer.gf @@ -0,0 +1,3 @@ +--# -path=.:alltenses:prelude + +resource CombinatorsGer = Combinators with (Grammar = GrammarGer) ; diff --git a/lib/resource-1.0/api/CombinatorsIta.gf b/lib/resource-1.0/api/CombinatorsIta.gf new file mode 100644 index 000000000..40c8ec880 --- /dev/null +++ b/lib/resource-1.0/api/CombinatorsIta.gf @@ -0,0 +1,3 @@ +--# -path=.:alltenses:prelude + +resource CombinatorsIta = Combinators with (Grammar = GrammarIta) ; diff --git a/lib/resource-1.0/api/CombinatorsNor.gf b/lib/resource-1.0/api/CombinatorsNor.gf new file mode 100644 index 000000000..780c88ab7 --- /dev/null +++ b/lib/resource-1.0/api/CombinatorsNor.gf @@ -0,0 +1,3 @@ +--# -path=.:alltenses:prelude + +resource CombinatorsNor = Combinators with (Grammar = GrammarNor) ; diff --git a/lib/resource-1.0/api/CombinatorsRus.gf b/lib/resource-1.0/api/CombinatorsRus.gf new file mode 100644 index 000000000..b99b55551 --- /dev/null +++ b/lib/resource-1.0/api/CombinatorsRus.gf @@ -0,0 +1,3 @@ +--# -path=.:alltenses:prelude + +resource CombinatorsRus = Combinators with (Grammar = GrammarRus) ; diff --git a/lib/resource-1.0/api/CombinatorsSpa.gf b/lib/resource-1.0/api/CombinatorsSpa.gf new file mode 100644 index 000000000..43b881b50 --- /dev/null +++ b/lib/resource-1.0/api/CombinatorsSpa.gf @@ -0,0 +1,3 @@ +--# -path=.:alltenses:prelude + +resource CombinatorsSpa = Combinators with (Grammar = GrammarSpa) ; diff --git a/lib/resource-1.0/api/CombinatorsSwe.gf b/lib/resource-1.0/api/CombinatorsSwe.gf new file mode 100644 index 000000000..c3b9a0350 --- /dev/null +++ b/lib/resource-1.0/api/CombinatorsSwe.gf @@ -0,0 +1,3 @@ +--# -path=.:alltenses:prelude + +resource CombinatorsSwe = Combinators with (Grammar = GrammarSwe) ; diff --git a/lib/resource-1.0/api/ConstructorsDan.gf b/lib/resource-1.0/api/ConstructorsDan.gf new file mode 100644 index 000000000..0627f96c8 --- /dev/null +++ b/lib/resource-1.0/api/ConstructorsDan.gf @@ -0,0 +1,3 @@ +--# -path=.:alltenses:prelude + +resource ConstructorsDan = Constructors with (Grammar = GrammarDan) ; diff --git a/lib/resource-1.0/api/ConstructorsEng.gf b/lib/resource-1.0/api/ConstructorsEng.gf index cfa5837b4..1d88caa79 100644 --- a/lib/resource-1.0/api/ConstructorsEng.gf +++ b/lib/resource-1.0/api/ConstructorsEng.gf @@ -1,3 +1,3 @@ ---# -path=.:../abstract:../common:../english:prelude +--# -path=.:alltenses:prelude resource ConstructorsEng = Constructors with (Grammar = GrammarEng) ; diff --git a/lib/resource-1.0/api/ConstructorsFin.gf b/lib/resource-1.0/api/ConstructorsFin.gf new file mode 100644 index 000000000..57934b728 --- /dev/null +++ b/lib/resource-1.0/api/ConstructorsFin.gf @@ -0,0 +1,3 @@ +--# -path=.:alltenses:prelude + +resource ConstructorsFin = Constructors with (Grammar = GrammarFin) ; diff --git a/lib/resource-1.0/api/ConstructorsFre.gf b/lib/resource-1.0/api/ConstructorsFre.gf new file mode 100644 index 000000000..b50c55fbc --- /dev/null +++ b/lib/resource-1.0/api/ConstructorsFre.gf @@ -0,0 +1,3 @@ +--# -path=.:alltenses:prelude + +resource ConstructorsFre = Constructors with (Grammar = GrammarFre) ; diff --git a/lib/resource-1.0/api/ConstructorsGer.gf b/lib/resource-1.0/api/ConstructorsGer.gf new file mode 100644 index 000000000..907bf90a0 --- /dev/null +++ b/lib/resource-1.0/api/ConstructorsGer.gf @@ -0,0 +1,3 @@ +--# -path=.:alltenses:prelude + +resource ConstructorsGer = Constructors with (Grammar = GrammarGer) ; diff --git a/lib/resource-1.0/api/ConstructorsIta.gf b/lib/resource-1.0/api/ConstructorsIta.gf new file mode 100644 index 000000000..29724ffee --- /dev/null +++ b/lib/resource-1.0/api/ConstructorsIta.gf @@ -0,0 +1,3 @@ +--# -path=.:alltenses:prelude + +resource ConstructorsIta = Constructors with (Grammar = GrammarIta) ; diff --git a/lib/resource-1.0/api/ConstructorsNor.gf b/lib/resource-1.0/api/ConstructorsNor.gf new file mode 100644 index 000000000..d95b8b0e0 --- /dev/null +++ b/lib/resource-1.0/api/ConstructorsNor.gf @@ -0,0 +1,3 @@ +--# -path=.:alltenses:prelude + +resource ConstructorsNor = Constructors with (Grammar = GrammarNor) ; diff --git a/lib/resource-1.0/api/ConstructorsRus.gf b/lib/resource-1.0/api/ConstructorsRus.gf new file mode 100644 index 000000000..3a77d344e --- /dev/null +++ b/lib/resource-1.0/api/ConstructorsRus.gf @@ -0,0 +1,3 @@ +--# -path=.:alltenses:prelude + +resource ConstructorsRus = Constructors with (Grammar = GrammarRus) ; diff --git a/lib/resource-1.0/api/ConstructorsSpa.gf b/lib/resource-1.0/api/ConstructorsSpa.gf new file mode 100644 index 000000000..98874982a --- /dev/null +++ b/lib/resource-1.0/api/ConstructorsSpa.gf @@ -0,0 +1,3 @@ +--# -path=.:alltenses:prelude + +resource ConstructorsSpa = Constructors with (Grammar = GrammarSpa) ; diff --git a/lib/resource-1.0/api/ConstructorsSwe.gf b/lib/resource-1.0/api/ConstructorsSwe.gf new file mode 100644 index 000000000..9def2d75f --- /dev/null +++ b/lib/resource-1.0/api/ConstructorsSwe.gf @@ -0,0 +1,3 @@ +--# -path=.:alltenses:prelude + +resource ConstructorsSwe = Constructors with (Grammar = GrammarSwe) ; diff --git a/lib/resource-1.0/api/Port.hs b/lib/resource-1.0/api/Port.hs new file mode 100644 index 000000000..b608927ba --- /dev/null +++ b/lib/resource-1.0/api/Port.hs @@ -0,0 +1,39 @@ +import System + +main = mapM_ (\la -> mapM_ (\fi -> port "Eng" fi la) files) languages + +languages = words "Dan Eng Fin Fre Ger Ita Nor Rus Spa Swe" +langlong = words + "danish english finnish french german italian norwegian russian spanish swedish" +families = [ + ("romance", ["french", "italian", "spanish"]), + ("scandinavian",["danish","norwegian","swedish"]) + ] + +longname lang = + maybe (error ("no " ++ lang)) id $ lookup lang $ zip languages langlong + +files = words "Combinators Constructors Symbolic" + +port src file dst + | src == dst = return () + | otherwise = do + let fdst = file ++ dst ++ ".gf" + system $ "cp " ++ file ++ src ++ ".gf " ++ fdst + let longsrc = longname src + let longdst = longname dst +-- putStrLn $ "sed -i 's/" ++ longsrc ++ "/" ++ longdst ++ "/g' " ++ fdst +-- system $ "sed -i 's/" ++ longsrc ++ "/" ++ longdst ++ "/g' " ++ fdst + putStrLn $ "sed -i 's/" ++ src ++ "/" ++ dst ++ "/g' " ++ fdst + system $ "sed -i 's/" ++ src ++ "/" ++ dst ++ "/g' " ++ fdst +-- addFamily longdst fdst + return () + +addFamily ldst fdst = maybe (return ()) add $ lookup ldst fams where + fams = [(l,f) | (f,ls) <- families, l <- ls] + add fam = do + putStrLn $ + "sed -i 's/" ++ ldst ++ "/" ++ ldst ++ ":\\.\\.\\/" ++ fam ++ "/g' " ++ fdst + system $ + "sed -i 's/" ++ ldst ++ "/" ++ ldst ++ ":\\.\\.\\/" ++ fam ++ "/g' " ++ fdst + return () diff --git a/lib/resource-1.0/api/SymbolicDan.gf b/lib/resource-1.0/api/SymbolicDan.gf new file mode 100644 index 000000000..cbbe7e0ad --- /dev/null +++ b/lib/resource-1.0/api/SymbolicDan.gf @@ -0,0 +1,5 @@ +--# -path=.:present:mathematical:prelude + +resource SymbolicDan = Symbolic with + (Symbol = SymbolDan), + (Grammar = GrammarDan) ; diff --git a/lib/resource-1.0/api/SymbolicEng.gf b/lib/resource-1.0/api/SymbolicEng.gf index 90e303177..c9b559a22 100644 --- a/lib/resource-1.0/api/SymbolicEng.gf +++ b/lib/resource-1.0/api/SymbolicEng.gf @@ -1,4 +1,4 @@ ---# -path=.:../abstract:../common:../english:../mathematical:prelude +--# -path=.:present:mathematical:prelude resource SymbolicEng = Symbolic with (Symbol = SymbolEng), diff --git a/lib/resource-1.0/api/SymbolicFin.gf b/lib/resource-1.0/api/SymbolicFin.gf new file mode 100644 index 000000000..f8b88526b --- /dev/null +++ b/lib/resource-1.0/api/SymbolicFin.gf @@ -0,0 +1,5 @@ +--# -path=.:present:mathematical:prelude + +resource SymbolicFin = Symbolic with + (Symbol = SymbolFin), + (Grammar = GrammarFin) ; diff --git a/lib/resource-1.0/api/SymbolicFre.gf b/lib/resource-1.0/api/SymbolicFre.gf new file mode 100644 index 000000000..ee0b2acc9 --- /dev/null +++ b/lib/resource-1.0/api/SymbolicFre.gf @@ -0,0 +1,5 @@ +--# -path=.:present:mathematical:prelude + +resource SymbolicFre = Symbolic with + (Symbol = SymbolFre), + (Grammar = GrammarFre) ; diff --git a/lib/resource-1.0/api/SymbolicGer.gf b/lib/resource-1.0/api/SymbolicGer.gf new file mode 100644 index 000000000..8b8d7111d --- /dev/null +++ b/lib/resource-1.0/api/SymbolicGer.gf @@ -0,0 +1,5 @@ +--# -path=.:present:mathematical:prelude + +resource SymbolicGer = Symbolic with + (Symbol = SymbolGer), + (Grammar = GrammarGer) ; diff --git a/lib/resource-1.0/api/SymbolicIta.gf b/lib/resource-1.0/api/SymbolicIta.gf new file mode 100644 index 000000000..d4b578c8d --- /dev/null +++ b/lib/resource-1.0/api/SymbolicIta.gf @@ -0,0 +1,5 @@ +--# -path=.:present:mathematical:prelude + +resource SymbolicIta = Symbolic with + (Symbol = SymbolIta), + (Grammar = GrammarIta) ; diff --git a/lib/resource-1.0/api/SymbolicNor.gf b/lib/resource-1.0/api/SymbolicNor.gf new file mode 100644 index 000000000..b4eff28e0 --- /dev/null +++ b/lib/resource-1.0/api/SymbolicNor.gf @@ -0,0 +1,5 @@ +--# -path=.:present:mathematical:prelude + +resource SymbolicNor = Symbolic with + (Symbol = SymbolNor), + (Grammar = GrammarNor) ; diff --git a/lib/resource-1.0/api/SymbolicRus.gf b/lib/resource-1.0/api/SymbolicRus.gf new file mode 100644 index 000000000..622e4b33c --- /dev/null +++ b/lib/resource-1.0/api/SymbolicRus.gf @@ -0,0 +1,5 @@ +--# -path=.:present:mathematical:prelude + +resource SymbolicRus = Symbolic with + (Symbol = SymbolRus), + (Grammar = GrammarRus) ; diff --git a/lib/resource-1.0/api/SymbolicSpa.gf b/lib/resource-1.0/api/SymbolicSpa.gf new file mode 100644 index 000000000..ae44431f5 --- /dev/null +++ b/lib/resource-1.0/api/SymbolicSpa.gf @@ -0,0 +1,5 @@ +--# -path=.:present:mathematical:prelude + +resource SymbolicSpa = Symbolic with + (Symbol = SymbolSpa), + (Grammar = GrammarSpa) ; diff --git a/lib/resource-1.0/api/SymbolicSwe.gf b/lib/resource-1.0/api/SymbolicSwe.gf new file mode 100644 index 000000000..193d8e84d --- /dev/null +++ b/lib/resource-1.0/api/SymbolicSwe.gf @@ -0,0 +1,5 @@ +--# -path=.:present:mathematical:prelude + +resource SymbolicSwe = Symbolic with + (Symbol = SymbolSwe), + (Grammar = GrammarSwe) ;