forked from GitHub/gf-core
took away old-examples
This commit is contained in:
@@ -1,20 +0,0 @@
|
||||
import Data.List (intersperse)
|
||||
import Data.Char (isAlpha)
|
||||
|
||||
-- to massage cf rules to funs, in order, preserving comments
|
||||
-- to get cats, use pg -printer=gf
|
||||
|
||||
cf2gf :: FilePath -> IO ()
|
||||
cf2gf file = do
|
||||
ss <- readFile file >>= return . lines
|
||||
mapM_ (putStrLn . mkOne) ss
|
||||
|
||||
mkOne line = case words line of
|
||||
fun : cat : "::=" : cats ->
|
||||
let
|
||||
(cats0,cats2) = span (/=";") cats
|
||||
cats1 = filter (isAlpha . head) cats0 ++ [cat]
|
||||
in
|
||||
unwords $ [init fun, ":"] ++ intersperse "->" cats1 ++ cats2
|
||||
_ -> line
|
||||
|
||||
@@ -1,194 +0,0 @@
|
||||
-- SLT book, chapter 9
|
||||
|
||||
-- p. 164
|
||||
|
||||
utterance_phrase. UTTERANCE ::= PHRASE ;
|
||||
utterance_conj_phrase. UTTERANCE ::= CONJ PHRASE ;
|
||||
utterance_whatabout. UTTERANCE ::= "what" "about" PHRASE ;
|
||||
utterance_howabout. UTTERANCE ::= "how" "about" PHRASE ;
|
||||
|
||||
phrase_pp. PHRASE ::= PP ;
|
||||
phrase_advp. PHRASE ::= ADVP ;
|
||||
phrase_np. PHRASE ::= NP ;
|
||||
|
||||
utterance_s_imp. UTTERANCE ::= S_imp ;
|
||||
utterance_s_moved. UTTERANCE ::= S_moved ;
|
||||
utterance_s_q. UTTERANCE ::= S_q ;
|
||||
utterance_s_norm_inv. UTTERANCE ::= S_norm_inv ;
|
||||
utterance_s_norm. UTTERANCE ::= S_norm ;
|
||||
|
||||
-- p. 162
|
||||
|
||||
s_norm_NP_VP. S_norm ::= NP_norm VP ; -- these 3 are 1 in CLE
|
||||
s_q_NP_VP. S_q ::= NP_q VP ;
|
||||
s_r_NP_VP. S_r ::= NP_r VP ;
|
||||
|
||||
s_imp_NP_VP. S_imp ::= NP_imp VP ;
|
||||
|
||||
s_advp_s. S ::= ADVP_sent S ;
|
||||
s_s_advp. S ::= S ADVP_sent ;
|
||||
s_conj_s. S ::= S CONJ S ;
|
||||
|
||||
-- p. 163: 6 wh-move-rules
|
||||
|
||||
-- p. 160
|
||||
|
||||
vp_vp_pp. VP ::= VP PP ;
|
||||
vp_vp_advp. VP ::= VP ADVP ;
|
||||
vp_advp_vp. VP ::= ADVP VP ;
|
||||
advp_vp_ing. ADVP ::= VP_ing ;
|
||||
advp_vp_to. ADVP ::= VP_to ;
|
||||
vp_conj_vp. VP ::= VP CONJ VP ;
|
||||
vp_not_vp. VP ::= "not" VP ;
|
||||
|
||||
np_gaps. NP_gaps ::= ;
|
||||
pp_gaps. PP_gaps ::= ;
|
||||
adjp_gaps. ADJP_gaps ::= ;
|
||||
advp_gaps. ADVP_gaps ::= ;
|
||||
|
||||
-- p. 157
|
||||
|
||||
vp_be_comp. VP ::= V_be COMP ; -- 1 rule VP ::= V COMPS
|
||||
vp_tr. VP ::= V_tr NP ;
|
||||
vp_ditr. VP ::= V_ditr NP NP ;
|
||||
vp_intr. VP ::= V_intr ;
|
||||
vp_mod. VP ::= V_mod VP ; -- would, could, can, may, will
|
||||
vp_do. VP ::= V_do VP ;
|
||||
vp_be_pass. VP ::= V_be VP_pass ;
|
||||
vp_be_ing. VP ::= V_be VP_ing ;
|
||||
vp_part. VP ::= V_part ; -- particle verb
|
||||
vp_s. VP ::= V_s S ;
|
||||
vp_vp_to. VP ::= V_vp VP_to ; -- "how much does it cost to fly..."
|
||||
vp_ditrq. VP ::= V_ditrq NP S_q ;
|
||||
vp_ditrpp. VP ::= V_ditrpp NP PP ;
|
||||
vp_trq. VP ::= V_trq S_q ;
|
||||
|
||||
-- p. 159
|
||||
|
||||
comp_np. COMP ::= NP ;
|
||||
comp_adjp. COMP ::= ADJP ;
|
||||
comp_pp. COMP ::= PP ;
|
||||
|
||||
-- p. 156
|
||||
|
||||
pp_pp. PP ::= PP PP ; -- big PP --- unnecessary ambiguity?
|
||||
|
||||
pp_p_np. PP ::= P NP ;
|
||||
pp_np_temporal. PP ::= NP_temporal ;
|
||||
pp_name_p_name. PP ::= NP_name P NP_name ; -- Baltimore to Philadelpia
|
||||
pp_conj_pp. PP ::= PP CONJ PP ;
|
||||
|
||||
-- p. 157; the numeral rules are not shown
|
||||
|
||||
number_digit. NUMBER ::= DIGIT ; --- and more
|
||||
ordinal_first. ORDINAL ::= "first" ; --- and more
|
||||
code_digit. CODE ::= DIGIT ;
|
||||
code_digit_code. CODE ::= DIGIT CODE ;
|
||||
|
||||
digit_1. DIGIT ::= "one" ;
|
||||
digit_2. DIGIT ::= "two" ;
|
||||
digit_3. DIGIT ::= "three" ;
|
||||
digit_4. DIGIT ::= "four" ;
|
||||
digit_5. DIGIT ::= "five" ;
|
||||
digit_6. DIGIT ::= "six" ;
|
||||
digit_7. DIGIT ::= "seven" ;
|
||||
digit_8. DIGIT ::= "eight" ;
|
||||
digit_9. DIGIT ::= "nine" ;
|
||||
digit_0. DIGIT ::= "zero" ;
|
||||
|
||||
-- p. 154 "recursive NPs"
|
||||
|
||||
np_np_pp. NP ::= NP PP ;
|
||||
np_np_rel. NP ::= NP REL ;
|
||||
|
||||
np_np_vp_ing. NP ::= NP VP_ing ; -- these 2 are 1 with \/
|
||||
np_np_vp_pass. NP ::= NP VP_pass ;
|
||||
|
||||
np_np_adjp. NP ::= NP ADJP_post ; --- restr. acc to text
|
||||
|
||||
rel_s_rel. REL ::= S_r ;
|
||||
rel_s_norm. REL ::= S_normal_gap ; --- type normal=norm ??
|
||||
--- they cannot be showing their real code here
|
||||
|
||||
adjp_nocomp. ADJP ::= ADJ_nocomp ; -- ADJP ::= ADJ COMPS
|
||||
adjp_pp. ADJP ::= ADJ_pp PP ; -- only "available" in corpus
|
||||
|
||||
np_conj_np. NP ::= NP CONJ NP ; --- curious analysis of conj lists...
|
||||
np_np_np. NP ::= NP NP ; -- Boston Atlanta and Denver
|
||||
|
||||
s_vp_inf. S_norm ::= VP_inf ; -- "to get from X to Y (is...)"
|
||||
np_s_q. NP ::= S_q ; -- "what city they stop in (is...)"
|
||||
np_s_norm. NP ::= S_norm ;
|
||||
np_compl_s. NP ::= COMPLEMENTISER S_norm ; --- they don't tell what CO... is
|
||||
|
||||
np_np_code. NP ::= NP CODE ; --- unnec. source of ambiguity
|
||||
|
||||
|
||||
-- p. 150
|
||||
|
||||
np_det_nbar. NP ::= DET NBAR ;
|
||||
np_nbar. NP ::= NBAR ; -- "information", "travel arrangements"
|
||||
|
||||
nbar_adjp_nbar. NBAR ::= ADJP NBAR ;
|
||||
nbar_nbar_nbar. NBAR ::= NBAR NBAR ; --- unnec. ambiguity
|
||||
nbar_name_nbar. NBAR ::= NP_name NBAR ; -- "Delta flights"
|
||||
nbar_conj_nbar. NBAR ::= NBAR CONJ NBAR ;
|
||||
|
||||
adjp_most_adj. ADJP ::= "most" ADJ ;
|
||||
adjp_least_adj. ADJP ::= "least" ADJ ;
|
||||
ordinal_adjp_superl. ORDINAL ::= ADJP_superlative ;
|
||||
|
||||
det_the_ordinal. DET ::= "the" ORDINAL ;
|
||||
det_ordinal. DET ::= ORDINAL ; -- common in spoken language
|
||||
det_predet_det. DET ::= PREDET DET ;
|
||||
det_numer. DET ::= NUMBER ; --- NUMBER in book
|
||||
det_less_than. DET ::= "less" "than" NUMBER ; --- NUMBER
|
||||
det_more_than. DET ::= "more" "than" NUMBER ; --- NUMBER
|
||||
det_possessive. DET ::= POSSESSIVE ;
|
||||
|
||||
|
||||
-- p. 152 time and date NPs not given
|
||||
|
||||
np_code. NP ::= CODE ;
|
||||
np_nbar_code. NP ::= NBAR CODE ;
|
||||
|
||||
--- CODE ::= NUMBER already covered above
|
||||
-- letter codes added from corpus
|
||||
|
||||
np_det. NP ::= DET_bare ; -- any, which, one, both, the same, the latest,...
|
||||
|
||||
nbar_comp. NBAR ::= NBAR_of "of" NBAR ; -- only ex of NBAR COMP; (kind | type) of plane
|
||||
|
||||
|
||||
-- lexicon; picked from examples and explanations
|
||||
|
||||
possessive_my. POSSESSIVE ::= "my" ;
|
||||
|
||||
predet_all. PREDET ::= "all" ;
|
||||
predet_only. PREDET ::= "only" ;
|
||||
predet_just. PREDET ::= "just" ;
|
||||
|
||||
nbar_flight. NBAR ::= "flight" ;
|
||||
nbar_aircraft. NBAR ::= "aircraft" ;
|
||||
|
||||
name_Delta. NP_name ::= "Delta" ;
|
||||
name_Dallas. NP_name ::= "Dallas" ;
|
||||
name_Boston. NP_name ::= "Boston" ;
|
||||
|
||||
conj_and. CONJ ::= "and" ;
|
||||
|
||||
det_any. DET_bare ::= "any" ;
|
||||
|
||||
v_is. V_be ::= "is" ;
|
||||
v_leave. V_intr ::= "leaves" ;
|
||||
v_have. V_tr ::= "has" ;
|
||||
|
||||
nbar_of_type. NBAR_of ::= "type" ;
|
||||
|
||||
adj_cheap. ADJ ::= "cheap" ;
|
||||
|
||||
|
||||
--- ad hoc coercions to make cf grammar work
|
||||
|
||||
det_bare. DET ::= DET_bare ;
|
||||
|
||||
@@ -1,269 +0,0 @@
|
||||
abstract QLF = {
|
||||
|
||||
-- by CF2GF
|
||||
|
||||
fun
|
||||
-- SLT book, chapter 9
|
||||
|
||||
-- p. 164
|
||||
|
||||
utterance_phrase : PHRASE -> UTTERANCE ;
|
||||
utterance_conj_phrase : CONJ -> PHRASE -> UTTERANCE ;
|
||||
utterance_whatabout : PHRASE -> UTTERANCE ;
|
||||
utterance_howabout : PHRASE -> UTTERANCE ;
|
||||
|
||||
phrase_pp : PP -> PHRASE ;
|
||||
phrase_advp : ADVP -> PHRASE ;
|
||||
phrase_np : NP -> PHRASE ;
|
||||
|
||||
utterance_s_imp : S_imp -> UTTERANCE ;
|
||||
utterance_s_moved : S_moved -> UTTERANCE ;
|
||||
utterance_s_q : S_q -> UTTERANCE ;
|
||||
utterance_s_norm_inv : S_norm_inv -> UTTERANCE ;
|
||||
utterance_s_norm : S_norm -> UTTERANCE ;
|
||||
|
||||
-- p. 162
|
||||
|
||||
s_norm_NP_VP : NP_norm -> VP -> S_norm ; -- these 3 are 1 in CLE
|
||||
s_q_NP_VP : NP_q -> VP -> S_q ;
|
||||
s_r_NP_VP : NP_r -> VP -> S_r ;
|
||||
|
||||
s_imp_NP_VP : NP_imp -> VP -> S_imp ;
|
||||
|
||||
s_advp_s : ADVP_sent -> S -> S ;
|
||||
s_s_advp : S -> ADVP_sent -> S ;
|
||||
s_conj_s : S -> CONJ -> S -> S ;
|
||||
|
||||
-- p. 163: 6 wh-move-rules
|
||||
|
||||
-- p. 160
|
||||
|
||||
vp_vp_pp : VP -> PP -> VP ;
|
||||
vp_vp_advp : VP -> ADVP -> VP ;
|
||||
vp_advp_vp : ADVP -> VP -> VP ;
|
||||
advp_vp_ing : VP_ing -> ADVP ;
|
||||
advp_vp_to : VP_to -> ADVP ;
|
||||
vp_conj_vp : VP -> CONJ -> VP -> VP ;
|
||||
vp_not_vp : VP -> VP ;
|
||||
|
||||
np_gaps : NP_gaps ;
|
||||
pp_gaps : PP_gaps ;
|
||||
adjp_gaps : ADJP_gaps ;
|
||||
advp_gaps : ADVP_gaps ;
|
||||
|
||||
-- p. 157
|
||||
|
||||
vp_be_comp : V_be -> COMP -> VP ; -- 1 rule VP ::= V COMPS
|
||||
vp_tr : V_tr -> NP -> VP ;
|
||||
vp_ditr : V_ditr -> NP -> NP -> VP ;
|
||||
vp_intr : V_intr -> VP ;
|
||||
vp_mod : V_mod -> VP -> VP ; -- would, could, can, may, will
|
||||
vp_do : V_do -> VP -> VP ;
|
||||
vp_be_pass : V_be -> VP_pass -> VP ;
|
||||
vp_be_ing : V_be -> VP_ing -> VP ;
|
||||
vp_part : V_part -> VP ; -- particle verb
|
||||
vp_s : V_s -> S -> VP ;
|
||||
vp_vp_to : V_vp -> VP_to -> VP ; -- "how much does it cost to fly..."
|
||||
vp_ditrq : V_ditrq -> NP -> S_q -> VP ;
|
||||
vp_ditrpp : V_ditrpp -> NP -> PP -> VP ;
|
||||
vp_trq : V_trq -> S_q -> VP ;
|
||||
|
||||
-- p. 159
|
||||
|
||||
comp_np : NP -> COMP ;
|
||||
comp_adjp : ADJP -> COMP ;
|
||||
comp_pp : PP -> COMP ;
|
||||
|
||||
-- p. 156
|
||||
|
||||
pp_pp : PP -> PP -> PP ; -- big PP --- unnecessary ambiguity?
|
||||
|
||||
pp_p_np : P -> NP -> PP ;
|
||||
pp_np_temporal : NP_temporal -> PP ;
|
||||
pp_name_p_name : NP_name -> P -> NP_name -> PP ; -- Baltimore to Philadelpia
|
||||
pp_conj_pp : PP -> CONJ -> PP -> PP ;
|
||||
|
||||
-- p. 157; the numeral rules are not shown
|
||||
|
||||
number_digit : DIGIT -> NUMBER ; --- and more
|
||||
ordinal_first : ORDINAL ; --- and more
|
||||
code_digit : DIGIT -> CODE ;
|
||||
code_digit_code : DIGIT -> CODE -> CODE ;
|
||||
|
||||
digit_1 : DIGIT ;
|
||||
digit_2 : DIGIT ;
|
||||
digit_3 : DIGIT ;
|
||||
digit_4 : DIGIT ;
|
||||
digit_5 : DIGIT ;
|
||||
digit_6 : DIGIT ;
|
||||
digit_7 : DIGIT ;
|
||||
digit_8 : DIGIT ;
|
||||
digit_9 : DIGIT ;
|
||||
digit_0 : DIGIT ;
|
||||
|
||||
-- p. 154 "recursive NPs"
|
||||
|
||||
np_np_pp : NP -> PP -> NP ;
|
||||
np_np_rel : NP -> REL -> NP ;
|
||||
|
||||
np_np_vp_ing : NP -> VP_ing -> NP ; -- these 2 are 1 with \/
|
||||
np_np_vp_pass : NP -> VP_pass -> NP ;
|
||||
|
||||
np_np_adjp : NP -> ADJP_post -> NP ; --- restr. acc to text
|
||||
|
||||
rel_s_rel : S_rel -> REL ;
|
||||
rel_s_norm : S_normal_gap -> REL ; --- type normal=norm ??
|
||||
--- they cannot be showing their real code here
|
||||
|
||||
adjp_nocomp : ADJ_nocomp -> ADJP ; -- ADJP ::= ADJ COMPS
|
||||
adjp_np : ADJ_pp -> NP -> ADJP ; -- only "available" in corpus
|
||||
-- adjp_pp : ADJ_pp -> PP -> ADJP ; -- only "available" in corpus
|
||||
|
||||
np_conj_np : NP -> CONJ -> NP -> NP ; --- curious analysis of conj lists...
|
||||
np_np_np : NP -> NP -> NP ; -- Boston Atlanta and Denver
|
||||
|
||||
s_vp_inf : VP_inf -> S_norm ; -- "to get from X to Y (is...)"
|
||||
np_s_q : S_q -> NP ; -- "what city they stop in (is...)"
|
||||
np_s_norm : S_norm -> NP ;
|
||||
np_compl_s : COMPLEMENTISER -> S_norm -> NP ; --- they don't tell what CO... is
|
||||
|
||||
np_np_code : NP -> CODE -> NP ; --- unnec. source of ambiguity
|
||||
|
||||
|
||||
-- p. 150
|
||||
|
||||
np_det_nbar : DET -> NBAR -> NP ;
|
||||
np_nbar : NBAR -> NP ; -- "information", "travel arrangements"
|
||||
|
||||
nbar_adjp_nbar : ADJP -> NBAR -> NBAR ;
|
||||
nbar_nbar_nbar : NBAR -> NBAR -> NBAR ; --- unnec. ambiguity
|
||||
nbar_name_nbar : NP_name -> NBAR -> NBAR ; -- "Delta flights"
|
||||
nbar_conj_nbar : NBAR -> CONJ -> NBAR -> NBAR ;
|
||||
|
||||
adjp_most_adj : ADJ -> ADJP ;
|
||||
adjp_least_adj : ADJ -> ADJP ;
|
||||
ordinal_adjp_superl : ADJP_superlative -> ORDINAL ;
|
||||
|
||||
det_the_ordinal : ORDINAL -> DET ;
|
||||
det_ordinal : ORDINAL -> DET ; -- common in spoken language
|
||||
det_predet_det : PREDET -> DET -> DET ;
|
||||
det_numer : NUMBER -> DET ; --- NUMBER in book
|
||||
det_less_than : NUMBER -> DET ; --- NUMBER
|
||||
det_more_than : NUMBER -> DET ; --- NUMBER
|
||||
det_possessive : POSSESSIVE -> DET ;
|
||||
|
||||
|
||||
-- p. 152 time and date NPs not given
|
||||
|
||||
np_code : CODE -> NP ;
|
||||
np_nbar_code : NBAR -> CODE -> NP ;
|
||||
|
||||
-- : NUMBER -> already -> covered -> above -> CODE
|
||||
-- letter codes added from corpus
|
||||
|
||||
np_det : DET_bare -> NP ; -- any, which, one, both, the same, the latest,...
|
||||
|
||||
nbar_comp : NBAR_of -> NBAR -> NBAR ; -- only ex of NBAR COMP; (kind | type) of plane
|
||||
|
||||
-- by pg -printer=gf
|
||||
|
||||
cat ADJ ;
|
||||
cat ADJP ;
|
||||
cat ADJP_gaps ;
|
||||
cat ADJP_post ;
|
||||
cat ADJP_superlative ;
|
||||
cat ADJ_nocomp ;
|
||||
cat ADJ_pp ;
|
||||
cat ADVP ;
|
||||
cat ADVP_gaps ;
|
||||
cat ADVP_sent ;
|
||||
cat CODE ;
|
||||
cat COMP ;
|
||||
cat COMPLEMENTISER ;
|
||||
cat CONJ ;
|
||||
cat DET ;
|
||||
cat DET_bare ;
|
||||
cat DIGIT ;
|
||||
cat NBAR ;
|
||||
cat NBAR_of ;
|
||||
cat NP ;
|
||||
cat NP_gaps ;
|
||||
cat NP_imp ;
|
||||
cat NP_name ;
|
||||
cat NP_norm ;
|
||||
cat NP_q ;
|
||||
cat NP_r ;
|
||||
cat NP_temporal ;
|
||||
cat NUMBER ;
|
||||
cat ORDINAL ;
|
||||
cat P ;
|
||||
cat PHRASE ;
|
||||
cat POSSESSIVE ;
|
||||
cat PP ;
|
||||
cat PP_gaps ;
|
||||
cat PREDET ;
|
||||
cat REL ;
|
||||
cat S ;
|
||||
cat S_imp ;
|
||||
cat S_moved ;
|
||||
cat S_norm ;
|
||||
cat S_norm_inv ;
|
||||
cat S_normal_gap ;
|
||||
cat S_q ;
|
||||
cat S_r ;
|
||||
cat S_rel ;
|
||||
cat UTTERANCE ;
|
||||
cat VP ;
|
||||
cat VP_inf ;
|
||||
cat VP_ing ;
|
||||
cat VP_pass ;
|
||||
cat VP_to ;
|
||||
cat V_be ;
|
||||
cat V_ditr ;
|
||||
cat V_ditrpp ;
|
||||
cat V_ditrq ;
|
||||
cat V_do ;
|
||||
cat V_intr ;
|
||||
cat V_mod ;
|
||||
cat V_part ;
|
||||
cat V_s ;
|
||||
cat V_tr ;
|
||||
cat V_trq ;
|
||||
cat V_vp ;
|
||||
|
||||
|
||||
{-
|
||||
-- lexicon; picked from examples and explanations
|
||||
|
||||
possessive_my : POSSESSIVE ;
|
||||
|
||||
predet_all : PREDET ;
|
||||
predet_only : PREDET ;
|
||||
predet_just : PREDET ;
|
||||
|
||||
nbar_flight : NBAR ;
|
||||
nbar_aircraft : NBAR ;
|
||||
|
||||
name_Delta : NP_name ;
|
||||
name_Dallas : NP_name ;
|
||||
name_Boston : NP_name ;
|
||||
|
||||
conj_and : CONJ ;
|
||||
|
||||
det_any : DET_bare ;
|
||||
|
||||
v_is : V_be ;
|
||||
v_leave : V_intr ;
|
||||
v_have : V_tr ;
|
||||
|
||||
nbar_of_type : NBAR_of ;
|
||||
|
||||
adj_cheap : ADJ ;
|
||||
|
||||
|
||||
--- ad hoc coercions to make cf grammar work
|
||||
|
||||
det_bare : DET_bare -> DET ;
|
||||
-}
|
||||
|
||||
}
|
||||
@@ -1,268 +0,0 @@
|
||||
--# -path=resource/abstract:resource/english:prelude
|
||||
|
||||
concrete QLFEng of QLF = open ResourceEng, VerbphraseEng in {
|
||||
|
||||
-- by CF2GF
|
||||
|
||||
lin
|
||||
-- SLT book, chapter 9
|
||||
|
||||
-- p. 164
|
||||
|
||||
utterance_phrase p = p ;
|
||||
----utterance_conj_phrase : CONJ -> Phrase -> UTTERANCE ;
|
||||
----utterance_whatabout : PHRASE -> UTTERANCE ;
|
||||
----utterance_howabout : PHRASE -> UTTERANCE ;
|
||||
|
||||
----phrase_pp : PP -> PHRASE ;
|
||||
----phrase_advp : ADVP -> PHRASE ;
|
||||
phrase_np = PhrNP ;
|
||||
|
||||
utterance_s_imp = ImperMany ; --- ImperOne
|
||||
utterance_s_moved = QuestPhrase ;
|
||||
utterance_s_q = QuestPhrase ;
|
||||
----utterance_s_norm_inv = QuestPhrase ;
|
||||
utterance_s_norm = IndicPhrase ;
|
||||
|
||||
-- p. 162
|
||||
|
||||
s_norm_NP_VP np vp = UseCl (PosTP TPresent ASimul) (PredVP np vp) ;
|
||||
s_q_NP_VP ip vp = UseQCl (PosTP TPresent ASimul) (IntVP ip vp) ;
|
||||
s_r_NP_VP rp vp = UseRCl (PosTP TPresent ASimul) (RelVP rp vp) ;
|
||||
|
||||
----s_imp_NP_VP npimp = PosImpVP ;
|
||||
|
||||
---- s_advp_s : ADVP_sent -> S -> S ;
|
||||
---- s_s_advp : S -> ADVP_sent -> S ; -- AdvCl : Cl -> Adv -> Cl ;
|
||||
s_conj_s a conj b = ConjS and_Conj (TwoS a b) ;
|
||||
|
||||
-- p. 163: 6 wh-move-rules
|
||||
|
||||
-- p. 160
|
||||
|
||||
---- vp_vp_pp : VP -> PP -> VP ;
|
||||
---- vp_vp_advp : VP -> ADVP -> VP ;
|
||||
---- vp_advp_vp : ADVP -> VP -> VP ;
|
||||
---- advp_vp_ing : VP_ing -> ADVP ;
|
||||
---- advp_vp_to : VP_to -> ADVP ;
|
||||
---- vp_conj_vp : VP -> CONJ -> VP -> VP ;
|
||||
---- vp_not_vp : VP -> VP ;
|
||||
|
||||
--np_gaps : NP_gaps ;
|
||||
--pp_gaps : PP_gaps ;
|
||||
--adjp_gaps : ADJP_gaps ;
|
||||
--advp_gaps : ADVP_gaps ;
|
||||
|
||||
-- p. 157
|
||||
|
||||
---- vp_be_comp : V_be -> COMP -> VP ; -- 1 rule VP ::= V COMPS
|
||||
vp_tr = ComplV2 ;
|
||||
vp_ditr = ComplV3 ;
|
||||
vp_intr = UseV ;
|
||||
vp_mod vv vp = ComplVV vv (UseVCl PNeg ASimul (UseVP vp)) ;
|
||||
-- vp_do : V_do -> VP -> VP ;
|
||||
---- vp_be_pass : V_be -> VP_pass -> VP ; -- UsePassV : V -> VP ;
|
||||
---- vp_be_ing : V_be -> VP_ing -> VP ;
|
||||
-- vp_part : V_part -> VP ; -- particle verb
|
||||
vp_s = ComplVS ;
|
||||
---- vp_vp_to : V_vp -> VP_to -> VP ; -- "how much does it cost to fly..."
|
||||
vp_ditrq = ComplV2Q ;
|
||||
-- vp_ditrpp : V_ditrpp -> NP -> PP -> VP ;
|
||||
vp_trq = ComplVQ ;
|
||||
|
||||
-- p. 159
|
||||
|
||||
---- comp_np : NP -> COMP ;
|
||||
---- comp_adjp : ADJP -> COMP ;
|
||||
---- comp_pp : PP -> COMP ;
|
||||
|
||||
-- p. 156
|
||||
|
||||
---- pp_pp : PP -> PP -> PP ; -- big PP --- unnecessary ambiguity?
|
||||
|
||||
pp_p_np = PrepNP ;
|
||||
---- pp_np_temporal : NP_temporal -> PP ;
|
||||
---- pp_name_p_name : NP_name -> P -> NP_name -> PP ; -- Baltimore to Philadelpia
|
||||
---- pp_conj_pp : PP -> CONJ -> PP -> PP ;
|
||||
|
||||
-- p. 157; the numeral rules are not shown
|
||||
{-
|
||||
number_digit : DIGIT -> NUMBER ; --- and more
|
||||
ordinal_first : ORDINAL ; --- and more
|
||||
code_digit : DIGIT -> CODE ;
|
||||
code_digit_code : DIGIT -> CODE -> CODE ;
|
||||
|
||||
digit_1 : DIGIT ;
|
||||
digit_2 : DIGIT ;
|
||||
digit_3 : DIGIT ;
|
||||
digit_4 : DIGIT ;
|
||||
digit_5 : DIGIT ;
|
||||
digit_6 : DIGIT ;
|
||||
digit_7 : DIGIT ;
|
||||
digit_8 : DIGIT ;
|
||||
digit_9 : DIGIT ;
|
||||
digit_0 : DIGIT ;
|
||||
-}
|
||||
-- p. 154 "recursive NPs"
|
||||
|
||||
np_np_pp np pp = AdvNP np (AdvPP pp) ;
|
||||
---- np_np_rel : NP -> REL -> NP ;
|
||||
|
||||
---- np_np_vp_ing : NP -> VP_ing -> NP ; -- these 2 are 1 with \/
|
||||
---- np_np_vp_pass : NP -> VP_pass -> NP ; --- AdjPart : V -> A
|
||||
|
||||
---- np_np_adjp : NP -> ADJP_post -> NP ; --- restr. acc to text
|
||||
|
||||
-- rel_s_rel : S_r -> REL ;
|
||||
rel_s_norm s = UseRCl (PosTP TPresent ASimul) (RelSlash IdRP s) ;
|
||||
--- they cannot be showing their real code here
|
||||
|
||||
adjp_nocomp = UseA ;
|
||||
adjp_np = ComplA2 ;
|
||||
|
||||
np_conj_np x conj y = ConjNP conj (TwoNP x y) ;
|
||||
-- np_np_np : NP -> NP -> NP ; -- Boston Atlanta and Denver
|
||||
|
||||
---- s_vp_inf : VP_inf -> S_norm ; -- "to get from X to Y (is...)"
|
||||
---- np_s_q : S_q -> NP ; -- "what city they stop in (is...)"
|
||||
---- np_s_norm : S_norm -> NP ;
|
||||
---- np_compl_s : COMPLEMENTISER -> S_norm -> NP ; --- they don't tell what CO... is
|
||||
|
||||
---- np_np_code : NP -> CODE -> NP ; --- unnec. source of ambiguity
|
||||
|
||||
|
||||
-- p. 150
|
||||
|
||||
np_det_nbar = DetNP ;
|
||||
np_nbar = MassNP ; --- also pl. "travel arrangements"
|
||||
|
||||
nbar_adjp_nbar = ModAP ;
|
||||
---- nbar_nbar_nbar : NBAR -> NBAR -> NBAR ; --- unnec. ambiguity
|
||||
---- nbar_name_nbar : NP_name -> NBAR -> NBAR ; -- "Delta flights"
|
||||
---- nbar_conj_nbar : NBAR -> CONJ -> NBAR -> NBAR ;
|
||||
|
||||
adjp_most_adj = SuperlADeg ;
|
||||
---- adjp_least_adj : ADJ -> ADJP ;
|
||||
---- ordinal_adjp_superl : ADJP_superlative -> ORDINAL ;
|
||||
|
||||
---- det_the_ordinal : ORDINAL -> DET ;
|
||||
---- det_ordinal : ORDINAL -> DET ; -- common in spoken language
|
||||
---- det_predet_det : PREDET -> DET -> DET ;
|
||||
---- det_numer : NUMBER -> DET ; --- NUMBER in book
|
||||
---- det_less_than : NUMBER -> DET ; --- NUMBER
|
||||
---- det_more_than : NUMBER -> DET ; --- NUMBER
|
||||
---- det_possessive : POSSESSIVE -> DET ;
|
||||
|
||||
|
||||
-- p. 152 time and date NPs not given
|
||||
|
||||
---- np_code : CODE -> NP ;
|
||||
---- np_nbar_code : NBAR -> CODE -> NP ;
|
||||
|
||||
-- : NUMBER -> already -> covered -> above -> CODE
|
||||
-- letter codes added from corpus
|
||||
|
||||
---- np_det : DET_bare -> NP ; -- any, which, one, both, the same, the latest,...
|
||||
|
||||
---- nbar_comp : NBAR_of -> NBAR -> NBAR ; -- only ex (kind | type) of plane
|
||||
|
||||
lincat
|
||||
ADJ = ADeg ;
|
||||
ADJP = AP ;
|
||||
-- ADJP_gaps ;
|
||||
-- ADJP_post ;
|
||||
-- ADJP_superlative ;
|
||||
ADJ_nocomp = A ;
|
||||
ADJ_pp = A2 ;
|
||||
ADVP = Adv ;
|
||||
-- ADVP_gaps ;
|
||||
ADVP_sent = AdC ;
|
||||
---- CODE = String ;
|
||||
---- COMP ; NP ADJP PP
|
||||
-- COMPLEMENTISER ;
|
||||
CONJ = Conj ;
|
||||
DET = Det ;
|
||||
---- DET_bare ;
|
||||
-- DIGIT ;
|
||||
NBAR = CN ;
|
||||
NBAR_of = N2 ;
|
||||
NP = NP ;
|
||||
-- NP_gaps ;
|
||||
-- NP_imp ;
|
||||
NP_name = PN ;
|
||||
NP_norm = NP ;
|
||||
NP_q = IP ;
|
||||
NP_r = RP ;
|
||||
NP_temporal = NP ;
|
||||
NUMBER = Numeral ;
|
||||
ORDINAL = A ;
|
||||
P = Prep ;
|
||||
PHRASE = Phr ;
|
||||
-- POSSESSIVE ;
|
||||
PP = PP ;
|
||||
-- PP_gaps ;
|
||||
---- PREDET ;
|
||||
REL = RS ;
|
||||
S = S ;
|
||||
S_imp = Imp ;
|
||||
S_moved = QS ;
|
||||
S_norm = S ;
|
||||
-- S_norm_inv ;
|
||||
S_normal_gap = Slash ;
|
||||
S_q = QS ;
|
||||
S_r = RS ;
|
||||
UTTERANCE = Phr ;
|
||||
VP = VP ;
|
||||
VP_inf = VPI ;
|
||||
-- VP_ing ;
|
||||
-- VP_pass ;
|
||||
-- VP_to ;
|
||||
-- V_be ;
|
||||
V_ditr = V3 ;
|
||||
V_ditrpp = V3 ;
|
||||
V_ditrq = V2Q ;
|
||||
-- V_do ;
|
||||
V_intr = V ;
|
||||
V_mod = VV ;
|
||||
V_part = V ;
|
||||
V_s = VS ;
|
||||
V_tr = V2 ;
|
||||
V_trq = VQ ;
|
||||
V_vp = VV ;
|
||||
|
||||
|
||||
{-
|
||||
-- lexicon; picked from examples and explanations
|
||||
|
||||
possessive_my : POSSESSIVE ;
|
||||
|
||||
predet_all : PREDET ;
|
||||
predet_only : PREDET ;
|
||||
predet_just : PREDET ;
|
||||
|
||||
nbar_flight : NBAR ;
|
||||
nbar_aircraft : NBAR ;
|
||||
|
||||
name_Delta : NP_name ;
|
||||
name_Dallas : NP_name ;
|
||||
name_Boston : NP_name ;
|
||||
|
||||
conj_and : CONJ ;
|
||||
|
||||
det_any : DET_bare ;
|
||||
|
||||
v_is : V_be ;
|
||||
v_leave : V_intr ;
|
||||
v_have : V_tr ;
|
||||
|
||||
nbar_of_type : NBAR_of ;
|
||||
|
||||
adj_cheap : ADJ ;
|
||||
|
||||
|
||||
--- ad hoc coercions to make cf grammar work
|
||||
|
||||
det_bare : DET_bare -> DET ;
|
||||
-}
|
||||
|
||||
}
|
||||
@@ -1,53 +0,0 @@
|
||||
-- example of probabilistic grammar from Jurafsky & Martin p. 449
|
||||
-- AR 1/11/2005
|
||||
|
||||
PredVP. S ::= NP VP ; --# prob 0.80
|
||||
PredAux. S ::= Aux NP VP ; --# prob 0.15
|
||||
JustVP. S ::= VP ; --# prob 0.05
|
||||
|
||||
DetNO. NP ::= Det Nom ; --# prob 0.20
|
||||
PNounNP. NP ::= PNoun ; --# prob 0.35
|
||||
NomNP. NP ::= Nom ; --# prob 0.05
|
||||
ProNP. NP ::= Pro ; --# prob 0.40
|
||||
|
||||
NounNom. Nom ::= Noun ; --# prob 0.75
|
||||
CompNom. Nom ::= Noun Nom ; --# prob 0.20
|
||||
PNounNom. Nom ::= PNoun Nom ; --# prob 0.05
|
||||
|
||||
IntrVP. VP ::= Verb ; --# prob 0.55
|
||||
TrVP. VP ::= Verb NP ; --# prob 0.40
|
||||
DitrVP: VP ::= Verb NP NP ; --# prob 0.05
|
||||
|
||||
that. Det ::= "that" ; --# prob 0.05
|
||||
the. Det ::= "the" ; --# prob 0.80
|
||||
a. Det ::= "a" ; --# prob 0.15
|
||||
|
||||
bookN. Noun ::= "book" ; --# prob 0.10
|
||||
flights. Noun ::= "flights" ; --# prob 0.50
|
||||
meal. Noun ::= "meal" ; --# prob 0.40
|
||||
|
||||
bookV. Verb ::= "book" ; --# prob 0.30
|
||||
includeV. Verb ::= "include" ; --# prob 0.30
|
||||
want. Verb ::= "want" ; --# prob 0.40
|
||||
|
||||
can. Aux ::= "can" ; --# prob 0.40
|
||||
does. Aux ::= "does" ; --# prob 0.30
|
||||
do. Aux ::= "do" ; --# prob 0.30
|
||||
|
||||
TWA. PNoun ::= "TWA" ; --# prob 0.40
|
||||
Denver. PNoun ::= "Denver" ; --# prob 0.60
|
||||
|
||||
you. Pro ::= "you" ; --# prob 0.40
|
||||
I. Pro ::= "I" ; --# prob 0.60
|
||||
|
||||
-- > p -prob "can you book TWA flights"
|
||||
--
|
||||
-- 4.3200000000000016e-7
|
||||
-- 3.7800000000000013e-7
|
||||
-- PredAux can (ProNP you) (TrVP bookV (NomNP (PNounNom TWA (NounNom flights))))
|
||||
-- PredAux can (ProNP you) (DitrVP bookV (PNounNP TWA) (NomNP (NounNom flights)))
|
||||
-- [0.15, 0.40,0.40, 0.40, 0.05, 0.30, 0.35, 0.40, 0.05, 0.75, 0.50]
|
||||
--
|
||||
-- J&M have different figures, but they seem to be wrong. For
|
||||
-- instance, their products have 12 terms although the trees have only
|
||||
-- 11 constructors.
|
||||
@@ -1,12 +0,0 @@
|
||||
-- The Question grammar specialized to animals.
|
||||
|
||||
abstract Animals = Questions ** {
|
||||
|
||||
flags startcat=Phrase ;
|
||||
|
||||
fun
|
||||
-- a lexicon of animals and actions among them
|
||||
Dog, Cat, Mouse, Lion, Zebra : Entity ;
|
||||
Chase, Eat, See : Action ;
|
||||
}
|
||||
|
||||
@@ -1,16 +0,0 @@
|
||||
--# -path=.:present:prelude
|
||||
--resource/english:resource/abstract:resource/../prelude
|
||||
|
||||
concrete AnimalsEng of Animals = QuestionsEng **
|
||||
open LangEng, ParadigmsEng, IrregEng in {
|
||||
|
||||
lin
|
||||
Dog = regN "dog" ;
|
||||
Cat = regN "cat" ;
|
||||
Mouse = mk2N "mouse" "mice" ;
|
||||
Lion = regN "lion" ;
|
||||
Zebra = regN "zebra" ;
|
||||
Chase = dirV2 (regV "chase") ;
|
||||
Eat = dirV2 eat_V ;
|
||||
See = dirV2 see_V ;
|
||||
}
|
||||
@@ -1,15 +0,0 @@
|
||||
--# -path=.:present:prelude
|
||||
|
||||
concrete AnimalsFre of Animals = QuestionsFre **
|
||||
open LangFre, ParadigmsFre, IrregFre in {
|
||||
|
||||
lin
|
||||
Dog = regN "chien" ;
|
||||
Cat = regN "chat" ;
|
||||
Mouse = regGenN "souris" feminine ;
|
||||
Lion = regN "lion" ;
|
||||
Zebra = regGenN "zèbre" masculine ;
|
||||
Chase = dirV2 (regV "chasser") ;
|
||||
Eat = dirV2 (regV "manger") ;
|
||||
See = voir_V2 ;
|
||||
}
|
||||
@@ -1,15 +0,0 @@
|
||||
--# -path=.:present:prelude
|
||||
|
||||
concrete AnimalsSwe of Animals = QuestionsSwe **
|
||||
open LangSwe, ParadigmsSwe, IrregSwe in {
|
||||
|
||||
lin
|
||||
Dog = regN "hund" ;
|
||||
Cat = mk2N "katt" "katter" ;
|
||||
Mouse = mkN "mus" "musen" "möss" "mössen" ;
|
||||
Lion = mk2N "lejon" "lejon" ;
|
||||
Zebra = regN "zebra" ;
|
||||
Chase = dirV2 (regV "jaga") ;
|
||||
Eat = dirV2 äta_V ;
|
||||
See = dirV2 se_V ;
|
||||
}
|
||||
@@ -1,10 +0,0 @@
|
||||
-- Simple questions and answers, in present tense.
|
||||
|
||||
abstract Questions = {
|
||||
cat
|
||||
Phrase ; Entity ; Action ;
|
||||
fun
|
||||
Who : Action -> Entity -> Phrase ; -- who chases X
|
||||
Whom : Entity -> Action -> Phrase ; -- whom does X chase
|
||||
Answer : Entity -> Action -> Entity -> Phrase ; -- X chases Y
|
||||
}
|
||||
@@ -1,2 +0,0 @@
|
||||
concrete QuestionsEng of Questions = QuestionsI with
|
||||
(Lang = LangEng) ;
|
||||
@@ -1,2 +0,0 @@
|
||||
concrete QuestionsFre of Questions = QuestionsI with
|
||||
(Lang = LangFre) ;
|
||||
@@ -1,21 +0,0 @@
|
||||
-- File generated by GF from ./QuestionsI.gfe
|
||||
incomplete concrete QuestionsI of Questions = open Lang in {
|
||||
lincat Action = V2 ;
|
||||
lin Answer = \woman_N -> \love_V2 -> \man_N -> PhrUtt NoPConj (UttNP (DetCN (DetSg (SgQuant DefArt)NoOrd)(ApposCN (ApposCN (UseN woman_N)(DetCN (DetPl (PlQuant IndefArt)NoNum NoOrd)(UseN love_N)))(DetCN (DetPl (PlQuant IndefArt)NoNum NoOrd)(UseN man_N)))))NoVoc ;
|
||||
lincat Entity = N ;
|
||||
lincat Phrase = Phr ;
|
||||
lin Who = \love_V2 -> \man_N -> PhrUtt NoPConj (UttAdv (AdvSC (EmbedQS (UseQCl TPres ASimul PPos (QuestVP whoSg_IP (ComplV2 love_V2 (DetCN (DetPl (PlQuant IndefArt)NoNum NoOrd)(UseN man_N)))))))) NoVoc ;
|
||||
lin Whom = \man_N -> \love_V2 -> PhrUtt NoPConj (UttQS (UseQCl TPres ASimul PPos (QuestSlash whoPl_IP (SlashV2 (DetCN (DetSg (SgQuant DefArt)NoOrd)(UseN man_N)) love_V2)))) NoVoc ;
|
||||
}
|
||||
{-
|
||||
AMBIGUOUS in Who
|
||||
who loves men
|
||||
PhrUtt NoPConj (UttQS (UseQCl TPres ASimul PPos (QuestVP whoSg_IP (ComplV2 love_V2 (DetCN (DetPl (PlQuant IndefArt) NoNum NoOrd) (UseN man_N)))))) NoVoc
|
||||
AMBIGUOUS in Whom
|
||||
whom does the man love
|
||||
PhrUtt NoPConj (UttQS (UseQCl TPres ASimul PPos (QuestSlash whoSg_IP (SlashV2 (DetCN (DetSg (SgQuant DefArt) NoOrd) (UseN man_N)) love_V2)))) NoVoc
|
||||
AMBIGUOUS in Answer
|
||||
the woman loves men
|
||||
PhrUtt NoPConj (UttNP (DetCN (DetSg (SgQuant DefArt) NoOrd) (ApposCN (UseN woman_N) (DetCN (DetPl (PlQuant IndefArt) NoNum NoOrd) (ApposCN (UseN love_N) (DetCN (DetPl (PlQuant IndefArt) NoNum NoOrd) (UseN man_N))))))) NoVoc
|
||||
PhrUtt NoPConj (UttS (UseCl TPres ASimul PPos (PredVP (DetCN (DetSg (SgQuant DefArt) NoOrd) (UseN woman_N)) (ComplV2 love_V2 (DetCN (DetPl (PlQuant IndefArt) NoNum NoOrd) (UseN man_N)))))) NoVoc
|
||||
-}
|
||||
@@ -1,18 +0,0 @@
|
||||
--# -resource=../../lib/present/LangEng.gfc
|
||||
--# -path=.:present:prelude
|
||||
|
||||
-- to compile: gf -examples QuestionsI.gfe
|
||||
-- or use directly gf <mkAnimals.gfs
|
||||
|
||||
incomplete concrete QuestionsI of Questions = open Lang in {
|
||||
lincat
|
||||
Phrase = Phr ;
|
||||
Entity = N ;
|
||||
Action = V2 ;
|
||||
|
||||
lin
|
||||
Who love_V2 man_N = in Phr "who loves men" ;
|
||||
Whom man_N love_V2 = in Phr "whom does the man love" ;
|
||||
Answer woman_N love_V2 man_N = in Phr "the woman loves men" ;
|
||||
|
||||
}
|
||||
@@ -1,2 +0,0 @@
|
||||
concrete QuestionsSwe of Questions = QuestionsI with
|
||||
(Lang = LangSwe) ;
|
||||
@@ -1,4 +0,0 @@
|
||||
i -ex AnimalsEng.gf ;; s
|
||||
i AnimalsFre.gf ;; s
|
||||
i AnimalsSwe.gf ;; s
|
||||
pm | wf animals.gfcm
|
||||
@@ -1,8 +0,0 @@
|
||||
--# -path=.:alltenses:prelude
|
||||
|
||||
concrete BigEnglish of BigEnglishAbs =
|
||||
GrammarEng,
|
||||
--- IrregEng,
|
||||
ExtraEng,
|
||||
BigLexEng
|
||||
** {} ;
|
||||
@@ -1,8 +0,0 @@
|
||||
--# -path=.:alltenses:prelude
|
||||
|
||||
abstract BigEnglishAbs =
|
||||
Grammar,
|
||||
--- IrregEngAbs,
|
||||
ExtraEngAbs,
|
||||
BigLexEngAbs
|
||||
** {} ;
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -1,7 +0,0 @@
|
||||
--# -path=.:alltenses:prelude
|
||||
|
||||
concrete BigSwedish of BigSwedishAbs =
|
||||
GrammarSwe,
|
||||
ExtraSwe,
|
||||
BigLexSwe
|
||||
** {} ;
|
||||
@@ -1,5 +0,0 @@
|
||||
abstract BigSwedishAbs =
|
||||
Grammar,
|
||||
ExtraSweAbs,
|
||||
BigLexSweAbs
|
||||
** {} ;
|
||||
@@ -1,20 +0,0 @@
|
||||
-- Lisp as used in the Alvey grammar
|
||||
|
||||
entrypoints Prog, Exp ;
|
||||
|
||||
Pro. Prog ::= [Exp] ;
|
||||
|
||||
App. Exp ::= "(" [Exp] ")" ;
|
||||
At. Exp ::= Id ;
|
||||
IdPlus. Exp ::= IdPl ;
|
||||
IdStr. Exp ::= String ;
|
||||
Plus. Exp ::= "+" ;
|
||||
Minus. Exp ::= "-" ;
|
||||
Num. Exp ::= Integer ;
|
||||
|
||||
token IdPl ('+' letter (letter | digit | '-' | '_')*) ;
|
||||
token Id (letter (letter | digit | '-' | '_')*) ;
|
||||
|
||||
terminator Exp "" ;
|
||||
|
||||
comment ";;" ;
|
||||
@@ -1,20 +0,0 @@
|
||||
all:
|
||||
make big
|
||||
make gf
|
||||
mv Big*.gf ..
|
||||
gf:
|
||||
./mkBig
|
||||
|
||||
big:
|
||||
ghc --make MkBig -o mkBig
|
||||
parser:
|
||||
happy -gca ParLisp.y
|
||||
alex -g LexLisp.x
|
||||
latex DocLisp.tex; dvips DocLisp.dvi -o DocLisp.ps
|
||||
ghc --make TestLisp.hs -o TestLisp
|
||||
clean:
|
||||
-rm -f *.log *.aux *.hi *.o *.dvi
|
||||
-rm -f DocLisp.ps
|
||||
distclean: clean
|
||||
-rm -f DocLisp.* LexLisp.* ParLisp.* LayoutLisp.* SkelLisp.* PrintLisp.* TestLisp.* AbsLisp.* TestLisp ErrM.* SharedString.* Lisp.dtd XMLLisp.* Makefile*
|
||||
|
||||
@@ -1,42 +0,0 @@
|
||||
module Main where
|
||||
|
||||
import TransBig
|
||||
|
||||
import IO ( stdin, hGetContents )
|
||||
import System ( getArgs, getProgName )
|
||||
|
||||
import LexLisp
|
||||
import ParLisp
|
||||
import SkelLisp
|
||||
import PrintLisp
|
||||
import AbsLisp
|
||||
import ErrM
|
||||
|
||||
type ParseFun a = [Token] -> Err a
|
||||
|
||||
myLLexer = myLexer
|
||||
|
||||
type Verbosity = Int
|
||||
|
||||
putStrV :: Verbosity -> String -> IO ()
|
||||
putStrV v s = if v > 1 then putStrLn s else return ()
|
||||
|
||||
runFile :: Verbosity -> ParseFun Prog -> FilePath -> IO ()
|
||||
runFile v p f = putStrLn f >> readFile f >>= run v p
|
||||
|
||||
run :: Verbosity -> ParseFun Prog -> String -> IO ()
|
||||
run v p s = let ts = myLLexer s in case p ts of
|
||||
Bad s -> do putStrLn "\nParse Failed...\n"
|
||||
putStrV v "Tokens:"
|
||||
putStrV v $ show ts
|
||||
putStrLn s
|
||||
Ok tree -> do putStrLn "\nParse Successful!"
|
||||
transTree tree
|
||||
|
||||
|
||||
|
||||
main :: IO ()
|
||||
main = do
|
||||
runFile 0 pProg infile
|
||||
|
||||
infile = "bigwordlist.en"
|
||||
@@ -1,148 +0,0 @@
|
||||
module TransBig where
|
||||
|
||||
import AbsLisp
|
||||
import PrintLisp
|
||||
|
||||
import Char
|
||||
|
||||
abstrgf = "BigLexEngAbs.gf"
|
||||
concrgf = "BigLexEng.gf"
|
||||
|
||||
transTree :: Prog -> IO ()
|
||||
transTree (Pro ts) = do
|
||||
writeFile abstrgf "abstract BigLexEngAbs = Cat **{\n"
|
||||
writeFile concrgf
|
||||
"concrete BigLexEng of BigLexEngAbs = CatEng ** open ParadigmsEng, IrregEng in {\n"
|
||||
mapM_ transRule ts
|
||||
appendFile abstrgf "}\n"
|
||||
addOpers
|
||||
appendFile concrgf "}\n"
|
||||
|
||||
transRule :: Exp -> IO ()
|
||||
transRule e = case e of
|
||||
App (At f : _ : cat : _) | not (discardCat cat) -> catRule (hyph f) cat
|
||||
_ -> notConsidered $ "--! " ++ printTree e
|
||||
where
|
||||
hyph (Id f) = Id (map unhyph f)
|
||||
unhyph '-' = '_'
|
||||
unhyph c = c
|
||||
|
||||
discardCat (App cs) = any (flip elem cs) discarded where
|
||||
discarded = [
|
||||
App [At (Id "AUX"),Plus],
|
||||
App [At (Id "PAST"),Plus],
|
||||
App [At (Id "QUA"),Plus],
|
||||
App [At (Id "VFORM"),At (Id "EN")],
|
||||
App [At (Id "AFORM"),At (Id "ER")],
|
||||
App [At (Id "AFORM"),At (Id "EST")]
|
||||
]
|
||||
discardCat _ = False
|
||||
|
||||
|
||||
catRule :: Id -> Exp -> IO ()
|
||||
catRule (Id f) e = case cleanCat e of
|
||||
App (App [At (Id "V"), Minus] : App [At (Id "N"), Plus] : more) -> case more of
|
||||
[App [At (Id "SUBCAT"),sub]] ->
|
||||
let prep = prepSub sub in
|
||||
putRule (f ++ "_N2" ++ prep) "N2" "prepN2" [show f, show prep]
|
||||
[App [At (Id "PLU"),Minus],App [At (Id "SUBCAT"),sub]] ->
|
||||
let prep = prepSub sub in
|
||||
putRule (f ++ "_N2" ++ prep) "N2" "irregN2" [show f, show f, show prep]
|
||||
[App [At (Id "PLU"),Minus]] ->
|
||||
putRule (f ++ "_N") "N" "irregN" [show f, show f] --- could find the forms
|
||||
[App [At (Id "PLU"),_]] ->
|
||||
notConsidered $ "--! " ++ f ++ " " ++ printTree e
|
||||
(App [At (Id "PRO"),Plus]:_) ->
|
||||
notConsidered $ "--! " ++ f ++ " " ++ printTree e
|
||||
[App [At (Id "COUNT"),Minus]] ->
|
||||
putRule (f ++ "_N") "N" "massN" [show f]
|
||||
[App [At (Id "PN"),Plus]] ->
|
||||
putRule (f ++ "_PN") "PN" "regPN" [show f]
|
||||
[] ->
|
||||
putRule (f ++ "_N") "N" "regN" [show f]
|
||||
_ -> putStrLn $ "---- " ++ f ++ " " ++ printTree e
|
||||
App (App [At (Id "V"), Plus] : App [At (Id "N"), Plus] : more) -> case more of
|
||||
(App [At (Id "ADV"), Plus]:_) ->
|
||||
putRule (f ++ "_Adv") "Adv" "mkAdv" [show f]
|
||||
[App [At (Id "SUBCAT"),sub]] ->
|
||||
let prep = prepSub sub in
|
||||
putRule (f ++ "_A2" ++ prep) "A2" "regA2" [show f,show prep]
|
||||
[App [At (Id "AFORM"),At (Id "NONE")],App [At (Id "SUBCAT"),sub]] ->
|
||||
let prep = prepSub sub in
|
||||
putRule (f ++ "_A2" ++ prep) "A2" "longA2" [show f,show prep]
|
||||
[App [At (Id "SUBCAT"),sub],App [At (Id "AFORM"),At (Id "NONE")]] ->
|
||||
let prep = prepSub sub in
|
||||
putRule (f ++ "_A2" ++ prep) "A2" "longA2" [show f,show prep]
|
||||
(App [At (Id "AFORM"),At (Id "NONE")]:_) ->
|
||||
putRule (f ++ "_A") "A" "longA" [show f]
|
||||
[] ->
|
||||
putRule (f ++ "_A") "A" "regA" [show f]
|
||||
_ -> putStrLn $ "---- " ++ f ++ " " ++ printTree e
|
||||
App (App [At (Id "V"), Plus] : App [At (Id "N"), Minus] : more) -> case more of
|
||||
App [At (Id "SUBCAT"),At (Id "NP_NP")]:form ->
|
||||
putRule (f ++ "_V3") "V3" "dirdirV3" [verbForm form f]
|
||||
App [At (Id "SUBCAT"),At (Id ('N':'P':'_':sub))]:form ->
|
||||
let prep = map toLower (drop 2 sub) in
|
||||
putRule (f ++ "_V3" ++ prep) "V3" "dirprepV3" [verbForm form f, show prep]
|
||||
App [At (Id "SUBCAT"),At (Id "SFIN")]:form ->
|
||||
putRule (f ++ "_VS") "VS" "mkVS" [verbForm form f]
|
||||
App [At (Id "SUBCAT"),At (Id "SE1")]:form ->
|
||||
putRule (f ++ "_VV") "VV" "mkVV" [verbForm form f]
|
||||
App [At (Id "SUBCAT"),sub]:form ->
|
||||
let prep = prepSub sub in
|
||||
putRule (f ++ "_V2" ++ prep) "V2" "prepV2" [verbForm form f, show prep]
|
||||
form | length form < 2 ->
|
||||
putRule (f ++ "_V") "V" "useV" [verbForm form f]
|
||||
_ -> putStrLn $ "---- " ++ f ++ " " ++ printTree e
|
||||
App (App [At (Id "V"), Minus] : App [At (Id "N"), Minus] : more) -> case more of
|
||||
[App [At (Id "SUBCAT"), At (Id "BARE_S")]] ->
|
||||
putRule (f ++ "_Subj") "Subj" "mkSubj" [show f]
|
||||
[App [At (Id "SUBCAT"), At (Id "NP")]] ->
|
||||
putRule (f ++ "_Prep") "Prep" "mkPrep" [show f]
|
||||
App [At (Id "PRO"), Plus] : _ ->
|
||||
putRule (f ++ "_Adv") "Adv" "proAdv" [show f]
|
||||
_ -> putStrLn $ "---- " ++ f ++ " " ++ printTree e
|
||||
App (App [At (Id "PRO"), Plus] :
|
||||
App [At (Id "V"), Minus] : App [At (Id "N"), Minus] :_) ->
|
||||
putRule (f ++ "_Adv") "Adv" "proAdv" [show f]
|
||||
_ -> notConsidered $ "--! " ++ f ++ " " ++ printTree e
|
||||
|
||||
cleanCat (App es) = App $ filter (not . irrelevant) es where
|
||||
irrelevant c = elem c [
|
||||
App [At (Id "SUBCAT"), At (Id "NULL")],
|
||||
App [At (Id "AT"), Minus], --- ?
|
||||
App [At (Id "LAT"), Minus],
|
||||
App [At (Id "LAT"), Plus]
|
||||
]
|
||||
cleanCat c = c
|
||||
|
||||
notConsidered r = return () --- putStrLn
|
||||
|
||||
putRule :: String -> String -> String -> [String] -> IO ()
|
||||
putRule fun cat oper args = do
|
||||
appendFile abstrgf $ unwords ["fun",fun,":",cat,";\n"]
|
||||
appendFile concrgf $ unwords $ ["lin",fun,"=",oper] ++ args ++ [";\n"]
|
||||
|
||||
prepSub :: Exp -> String
|
||||
prepSub s = case s of
|
||||
At (Id ('P':'P':cs)) -> map toLower cs
|
||||
_ -> ""
|
||||
|
||||
verbForm form f
|
||||
| elem (App [At (Id "REG"),Minus]) form = "IrregEng." ++ f ++ "_V"
|
||||
| otherwise = "(regV " ++ show f ++ ")"
|
||||
|
||||
addOpers = mapM_ (appendFile concrgf) [
|
||||
"oper proAdv : Str -> Adv = \\s -> mkAdv s ;\n",
|
||||
"oper useV : V -> V = \\v -> v ;\n",
|
||||
"oper massN : Str -> N = \\s -> regN s ;\n",
|
||||
"longA : Str -> A = \\s -> compoundADeg (regA s) ;\n",
|
||||
"mkSubj : Str -> Subj = \\s -> {s = s ; lock_Subj = <>} ;\n",
|
||||
"irregN : Str -> Str -> N = \x,y -> mk2N x y ;\",
|
||||
"irregN2 : Str -> Str -> Str -> N2 = \x,y,p -> mkN2 (irregN x y) (mkPrep p) ;\n",
|
||||
"longA2 : Str -> Str -> A2 = \s,p -> mkA2 (compoundADeg (regA s)) (mkPrep p) ;\n",
|
||||
"regA2 : Str -> Str -> A2 = \s,p -> mkA2 (regA s) (mkPrep p) ;\n",
|
||||
"prepV2 : V -> Str -> V2 = \s,p -> mkV2 s (mkPrep p) ;\n",
|
||||
"prepN2 : Str -> Str -> N2 = \s,p -> mkN2 (regN s) (mkPrep p) ;\n",
|
||||
"dirprepV3 : V -> Str -> V3 = \s,p -> dirV3 s (mkPrep p) ;\n"
|
||||
]
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,14 +0,0 @@
|
||||
7/11/2006
|
||||
|
||||
14.10 write Lisp.cf
|
||||
|
||||
14.20 able to parse biglex
|
||||
|
||||
14.30 MkBig main program compiles
|
||||
|
||||
16.25 writing 5842 lemmas in files
|
||||
|
||||
17.15 compiles fine but get conflicts with Irreg and Structural
|
||||
|
||||
17.37 compiles fine in BigShallowEng, but not BigEnglish, because the latter
|
||||
imports too much conflicting lexicon to remove manually
|
||||
@@ -1,48 +0,0 @@
|
||||
import Char
|
||||
|
||||
infile = "mywordlist1"
|
||||
|
||||
main = do
|
||||
s <- readFile infile
|
||||
mapM_ (putStrLn . mkOne) $ lines s
|
||||
|
||||
mkOne s = case words s of
|
||||
"--":_ -> ""
|
||||
('(':_):w:cat:ws -> unwords $ mkCatf (nopar cat) (more ws) w
|
||||
_ -> "-- " ++ s
|
||||
where
|
||||
more ws = case ws of
|
||||
_ | elem "(REG" ws -> "irreg"
|
||||
_ -> "reg"
|
||||
nopar = filter (flip notElem "()")
|
||||
mkCatf c r w = case c of
|
||||
"Noun" -> ["N","regN",w]
|
||||
"PRT" -> ["Adv","mkAdv",w] ----
|
||||
"TITLE" -> ["N","regN",w] ----
|
||||
"Adject" -> ["A","regA",w]
|
||||
"AdjInf" -> ["A","regA",w] ----
|
||||
"AdjInf_LONG" -> ["A","longA",w] ----
|
||||
"AdjPrd" -> ["A","regA",w] ----
|
||||
"AdjPrd_LONG" -> ["A","longA",w] ----
|
||||
"Adject_LONG" -> ["A","longA",w]
|
||||
"Verb" | r == "irreg" -> []
|
||||
"Verb" -> ["V","regV",w]
|
||||
"V2" | r == "irreg" -> ["V2","irreg", w, "_V"]
|
||||
"V2" -> ["V2","regV2", w]
|
||||
"PNoun" -> ["PN","regPN",toUpper (head w): tail w]
|
||||
'V':'2':'_':prep | r == "irreg" ->
|
||||
let p = map toLower prep in ["V2","mkV2_"++p, w, "_V", p]
|
||||
x:'2':'_':prep ->
|
||||
let p = map toLower prep in [[x]++"2","prep" ++[x]++"2"++p, w, p]
|
||||
"V3_NP" | r == "irreg" -> ["V3","irreg", w, "_V"]
|
||||
"V3_NP" -> ["V3","regV3", w]
|
||||
'V':'3':'_':'P':'P':prep | r == "irreg" ->
|
||||
let p = map toLower prep in ["V3","mkV3_"++p, w, "_V", p]
|
||||
'V':'3':'_':'P':'P':prep ->
|
||||
let p = map toLower prep in ["V3","mkV3_"++p, w, p]
|
||||
'V':'3':'_':'S':_ | r == "irreg" -> ["V2","mkV2_S", w, "_V"] ----
|
||||
'V':'3':'_':'S':_ -> ["V2","mkV2_S", w] ----
|
||||
'V':'3':'_':_ -> ["V3","mkV3", w] ----
|
||||
|
||||
_ -> [c,"mk" ++ c, w]
|
||||
|
||||
@@ -1,29 +0,0 @@
|
||||
resource MoreParadigmsSwe = ParadigmsSwe ** open Prelude, CatSwe in {
|
||||
|
||||
oper
|
||||
s2 : Str -> N = decl2Noun ;
|
||||
s3 : Str -> N = decl3Noun ;
|
||||
s4 : Str -> N = decl4Noun ;
|
||||
s5 : Str -> N = decl5Noun ;
|
||||
|
||||
v2 : Str -> V = conj2 ;
|
||||
v3 : Str -> V = conj3 ;
|
||||
|
||||
aAbstract : Str -> A = \a -> mk2A a a ;
|
||||
aFager : Str -> A = \a -> mk3A a (a + "t") (Predef.tk 2 a + "a") ;
|
||||
aGrund : Str -> A = regA ; -- yes
|
||||
aKorkad : Str -> A = \a -> mk3A a (init a + "t") (a + "e") ;
|
||||
aVaken : Str -> A = \a -> mk3A a (init a + "t") (Predef.tk 2 a + "a") ;
|
||||
aVid : Str -> A = regA ; -- yes
|
||||
|
||||
---- to do
|
||||
sParti : Str -> N = regN ;
|
||||
sPapper : Str -> N = regN ;
|
||||
sKikare : Str -> N = regN ;
|
||||
sProgram : Str -> N = regN ;
|
||||
sNyckel : Str -> N = regN ;
|
||||
sMuseum : Str -> N = regN ;
|
||||
sKam : Str -> N = regN ;
|
||||
|
||||
|
||||
}
|
||||
@@ -1,9 +0,0 @@
|
||||
BigEngLex.gf adapted from a word list by Alan Black & al.
|
||||
http://www.cs.cmu.edu/~awb/pub/map/MAP3.1.tar.gz
|
||||
Not to be used for military purposes.
|
||||
|
||||
Translation to GF has introduced some errors, e.g. in
|
||||
inflection, which have not yet been corrected.
|
||||
|
||||
AR 2006.
|
||||
|
||||
@@ -1,28 +0,0 @@
|
||||
import System
|
||||
import Char
|
||||
|
||||
-- usage: extract2gf <lang> <extracted>
|
||||
|
||||
main = do
|
||||
la:f:_ <- getArgs
|
||||
let cnc = f ++ ".gf"
|
||||
let abs = f ++ "Abs.gf"
|
||||
s <- readFile f
|
||||
writeFile abs $ "abstract " ++ f ++ "Abs = Cat ** {\n"
|
||||
writeFile cnc $ "concrete " ++ f ++ " of " ++ f ++
|
||||
"Abs = Cat" ++ la ++ " ** open Paradigms" ++ la ++ " in {\n"
|
||||
mapM_ (mkOne abs cnc . words) $ filter (not . empty) $ lines s
|
||||
appendFile abs "}"
|
||||
appendFile cnc "}"
|
||||
|
||||
-- format: cat oper args
|
||||
|
||||
mkOne abs cnc (cat : oper : args@(a1:_)) = do
|
||||
appendFile abs $ " fun " ++ fun ++ " : " ++ cat ++ " ;\n"
|
||||
appendFile cnc $ " lin " ++ fun ++ " = " ++ lin ++ " ;\n"
|
||||
where
|
||||
fun = a1 ++ "_" ++ cat ++ "_" ++ oper
|
||||
lin = unwords $ oper:["\"" ++ s ++ "\"" | s <- args]
|
||||
mkOne _ _ ws = putStrLn $ unwords ws
|
||||
|
||||
empty s = all isSpace s || take 2 s == "--"
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,49 +0,0 @@
|
||||
import Char
|
||||
import System
|
||||
|
||||
infile = "BigLexEng.gf"
|
||||
tmp = "tm"
|
||||
|
||||
main = do
|
||||
writeFile tmp ""
|
||||
s <- readFile infile
|
||||
mapM_ (appendFile tmp . mkTwo) $ lines s --- $ chop s
|
||||
system "cp BigLexEng.gf bak"
|
||||
system "mv tm BigLexEng.gf"
|
||||
|
||||
chop s = case s of
|
||||
';':cs -> ";\n"++chop cs
|
||||
c:cs -> c:chop cs
|
||||
_ -> s
|
||||
|
||||
mkTwo s = case words s of
|
||||
lin:tie:eq:"dirV3":tie_V:ws ->
|
||||
let prep = case reverse (takeWhile (/='_') (reverse tie)) of
|
||||
"loc" -> "in" ---
|
||||
p -> p
|
||||
in unwords $
|
||||
[lin,tie,eq,"dirV3",show (take (length tie_V - 2) tie_V),show prep] ++
|
||||
ws ++ ["\n"]
|
||||
_ -> s ++ "\n"
|
||||
|
||||
mkOne s = case words s of
|
||||
lin:a2:eq:pa2:ws | take 6 pa2 == "prepA2" ->
|
||||
unwords $ [lin,a2,eq,"prepA2"] ++ ws ++ ["\n"]
|
||||
lin:a2:eq:pa2:ws | take 6 pa2 == "prepV2" ->
|
||||
unwords $ [lin,a2,eq,"prepV2"] ++ ws ++ ["\n"]
|
||||
lin:v2:eq:"mkV2":v:_:ws ->
|
||||
unwords $ [lin,v2,eq,"mkV2",(read v ++ "_V")] ++ ws ++ ["\n"]
|
||||
lin:v2:eq:"mkV3":v:_:ws ->
|
||||
unwords $ [lin,v2,eq,"dirV3",(read v ++ "_V")] ++ ws ++ ["\n"]
|
||||
lin:a2:eq:pa2:ws | take 4 pa2 == "mkV2" ->
|
||||
unwords $ [lin,a2,eq,"mkV2"] ++ ws ++ ["\n"]
|
||||
lin:a2:eq:pa2:ws | take 6 pa2 == "prepN2" ->
|
||||
unwords $ [lin,a2,eq,"prepN2"] ++ ws ++ ["\n"]
|
||||
lin:a2:eq:pa2:ws | take 4 pa2 == "mkV3" ->
|
||||
unwords $ [lin,a2,eq,"mkV3"] ++ ws ++ ["\n"]
|
||||
|
||||
lin:v2:eq:"irreg":v:_:ws ->
|
||||
unwords $ [lin,v2,eq,"dirV2",(read v ++ "_V")] ++ ws ++ ["\n"]
|
||||
|
||||
|
||||
_ -> s ++ "\n"
|
||||
@@ -1,36 +0,0 @@
|
||||
abstract Bronzeage = Cat, Swadesh ** {
|
||||
|
||||
cat
|
||||
Sent ; MassCN ;
|
||||
|
||||
fun
|
||||
PhrPos : Sent -> Phr ;
|
||||
PhrNeg : Sent -> Phr ;
|
||||
PhrQuest : Sent -> Phr ;
|
||||
PhrImp : Imp -> Phr ;
|
||||
PhrImpNeg : Imp -> Phr ;
|
||||
|
||||
SentV : V -> NP -> Sent ;
|
||||
SentV2 : V2 -> NP -> NP -> Sent ;
|
||||
SentV2Mass : V2 -> NP -> MassCN -> Sent ;
|
||||
SentV3 : V3 -> NP -> NP -> NP -> Sent ;
|
||||
SentA : A -> NP -> Sent ;
|
||||
SentNP : NP -> NP -> Sent ;
|
||||
|
||||
SentAdvV : V -> NP -> Adv -> Sent ;
|
||||
SentAdvV2 : V2 -> NP -> NP -> Adv -> Sent ;
|
||||
|
||||
ImpV : V -> Imp ;
|
||||
ImpV2 : V2 -> NP -> Imp ;
|
||||
|
||||
UsePron : Pron -> NP ;
|
||||
DetCN : Det -> CN -> NP ;
|
||||
NumCN : Num -> CN -> NP ;
|
||||
|
||||
UseN : N -> CN ;
|
||||
ModCN : A -> CN -> CN ;
|
||||
|
||||
UseMassN : MassN -> MassCN ;
|
||||
ModMass : A -> MassCN -> MassCN ;
|
||||
|
||||
}
|
||||
@@ -1,5 +0,0 @@
|
||||
--# -path=.:present:prelude
|
||||
|
||||
concrete BronzeageAra of Bronzeage = CatAra, SwadeshAra ** BronzeageI with
|
||||
(Lang = LangAra) ;
|
||||
|
||||
@@ -1,7 +0,0 @@
|
||||
--# -path=.:present:prelude
|
||||
|
||||
concrete BronzeageDan of Bronzeage = CatDan, SwadeshDan ** BronzeageI with
|
||||
(Lang = LangDan) ** {
|
||||
flags language = da_DK;
|
||||
}
|
||||
|
||||
@@ -1,7 +0,0 @@
|
||||
--# -path=.:present:prelude
|
||||
|
||||
concrete BronzeageEng of Bronzeage = CatEng, SwadeshEng ** BronzeageI with
|
||||
(Lang = LangEng) ** {
|
||||
flags language = en_US;
|
||||
}
|
||||
|
||||
@@ -1,8 +0,0 @@
|
||||
--# -path=.:present:prelude
|
||||
|
||||
concrete BronzeageFin of Bronzeage = CatFin, SwadeshFin ** BronzeageI with
|
||||
(Lang = LangFin) ** {
|
||||
flags language = fi_FI;
|
||||
}
|
||||
|
||||
|
||||
@@ -1,5 +0,0 @@
|
||||
--# -path=.:present:prelude
|
||||
|
||||
concrete BronzeageFre of Bronzeage = CatFre, SwadeshFre ** BronzeageI with
|
||||
(Lang = LangFre) ;
|
||||
|
||||
@@ -1,8 +0,0 @@
|
||||
--# -path=.:present:prelude
|
||||
|
||||
concrete BronzeageGer of Bronzeage = CatGer, SwadeshGer ** BronzeageI with
|
||||
(Lang = LangGer) ** {
|
||||
flags language = de_DE;
|
||||
}
|
||||
|
||||
|
||||
@@ -1,59 +0,0 @@
|
||||
incomplete concrete BronzeageI of Bronzeage = open Lang in {
|
||||
|
||||
flags
|
||||
startcat = Phr ; optimize = all_subs ; --optimize = share_subs ;
|
||||
unlexer = text ; lexer = text ;
|
||||
|
||||
lincat
|
||||
Sent = {s : SForm => Str} ; MassCN = CN ;
|
||||
|
||||
lin
|
||||
PhrPos sent = {s = sent.s ! SPos ++ "."} ;
|
||||
PhrNeg sent = {s = sent.s ! SNeg ++ "."} ;
|
||||
PhrQuest sent = {s = sent.s ! SQuest ++ "?"} ;
|
||||
PhrImp imp = {s = (PhrUtt NoPConj (UttImpSg PPos imp) NoVoc).s ++ "!"} ;
|
||||
PhrImpNeg imp = {s = (PhrUtt NoPConj (UttImpSg PNeg imp) NoVoc).s ++ "!"} ;
|
||||
|
||||
SentV v np = mkSent np (UseV v) ;
|
||||
|
||||
SentV2 v x y = mkSent x (ComplV2 v y) ;
|
||||
SentV2Mass v x y = mkSent x (ComplV2 v (massNP y)) ;
|
||||
SentV3 v x y z = mkSent x (ComplV3 v y z) ;
|
||||
SentA a x = mkSent x (UseComp (CompAP (PositA a))) ;
|
||||
SentNP a x = mkSent x (UseComp (CompNP a)) ;
|
||||
|
||||
SentAdvV v np adv = mkSent np (AdvVP (UseV v) adv) ;
|
||||
SentAdvV2 v x y adv = mkSent x (AdvVP (ComplV2 v y) adv) ;
|
||||
|
||||
ImpV v = ImpVP (UseV v) ;
|
||||
ImpV2 v x = ImpVP (ComplV2 v x) ;
|
||||
|
||||
UsePron p = Lang.UsePron p ;
|
||||
DetCN d n = Lang.DetCN d n ;
|
||||
NumCN k cn = Lang.DetCN (DetPl (IndefArt) k NoOrd) cn ;
|
||||
|
||||
UseN n = Lang.UseN n ;
|
||||
ModCN a cn = AdjCN (PositA a) cn ;
|
||||
|
||||
UseMassN mn = Lang.UseN mn ;
|
||||
ModMass a cn = AdjCN (PositA a) cn ;
|
||||
|
||||
param
|
||||
SForm = SPos | SNeg | SQuest ;
|
||||
|
||||
oper
|
||||
mkSent : NP -> VP -> Sent ;
|
||||
mkSent np vp =
|
||||
let cl = PredVP np vp
|
||||
in {
|
||||
s = table {
|
||||
SPos => Predef.toStr S (UseCl Lang.TPres ASimul PPos cl) ;
|
||||
SNeg => Predef.toStr S (UseCl Lang.TPres ASimul PNeg cl) ;
|
||||
SQuest => Predef.toStr QS (UseQCl Lang.TPres ASimul PPos (QuestCl cl))
|
||||
} ;
|
||||
lock_Sent = <>
|
||||
} ;
|
||||
|
||||
massNP : CN -> NP = \mcn -> Lang.DetCN (DetSg MassDet NoOrd) mcn ;
|
||||
|
||||
}
|
||||
@@ -1,7 +0,0 @@
|
||||
--# -path=.:present:prelude
|
||||
|
||||
concrete BronzeageIta of Bronzeage = CatIta, SwadeshIta ** BronzeageI with
|
||||
(Lang = LangIta) ** {
|
||||
flags language = it_IT;
|
||||
}
|
||||
|
||||
@@ -1,6 +0,0 @@
|
||||
--# -path=.:present:prelude
|
||||
|
||||
concrete BronzeageNor of Bronzeage = CatNor, SwadeshNor ** BronzeageI with
|
||||
(Lang = LangNor) ** {
|
||||
flags language = nb_NO;
|
||||
}
|
||||
@@ -1,7 +0,0 @@
|
||||
--# -path=.:present:prelude
|
||||
|
||||
concrete BronzeageRus of Bronzeage = CatRus, SwadeshRus ** BronzeageI with
|
||||
(Lang = LangRus) ** {
|
||||
flags language = ru_RU;
|
||||
}
|
||||
|
||||
@@ -1,7 +0,0 @@
|
||||
--# -path=.:present:prelude
|
||||
|
||||
concrete BronzeageSpa of Bronzeage = CatSpa, SwadeshSpa ** BronzeageI with
|
||||
(Lang = LangSpa) ** {
|
||||
flags language = es_ES;
|
||||
}
|
||||
|
||||
@@ -1,8 +0,0 @@
|
||||
--# -path=.:present:prelude
|
||||
|
||||
concrete BronzeageSwe of Bronzeage = CatSwe, SwadeshSwe ** BronzeageI with
|
||||
(Lang = LangSwe) ** {
|
||||
flags language = sv_SE;
|
||||
}
|
||||
|
||||
|
||||
@@ -1,47 +0,0 @@
|
||||
(AR 24/2/2006)
|
||||
|
||||
(c) Björn Bringert and Aarne Ranta 2005-2006
|
||||
|
||||
Based on grammars and lexicon in GF/examples/stoneage by Björn Bringert.
|
||||
These grammars use a more varying syntax, with negation, questions,
|
||||
imperatives, adverbs, and adjectival predication added.
|
||||
|
||||
|
||||
To build the run-time grammar:
|
||||
|
||||
echo "s ;; pm | wf bronzeage.gfcm" | gf -nocf Bronzeage???.gf
|
||||
|
||||
Before this, you have to have compiled the libraries:
|
||||
|
||||
cd <whatever you need>GF/lib/resource-1.0
|
||||
make present
|
||||
|
||||
To work with the grammar
|
||||
|
||||
gf bronzeage.gfcm
|
||||
|
||||
Once in GF, you can do translation,
|
||||
|
||||
p -mcfg -lang=BronzeageEng "Don't eat that thick snake!" | tb
|
||||
|
||||
spoken-language translation (requires ATK),
|
||||
|
||||
si -lang=BronzeageEng -tr | p -mcfg -lang=BronzeageEng | tb
|
||||
|
||||
random generation,
|
||||
|
||||
gr | tb
|
||||
|
||||
translation quiz lists
|
||||
|
||||
tl -number=5 -cat=CN BronzeageEng BronzeageFre
|
||||
|
||||
morphological quiz lists
|
||||
|
||||
ml -number=5 -cat=V -lang=BronzeageSpa
|
||||
|
||||
sentence transformation quiz lists
|
||||
|
||||
ml -number=5 -cat=Sent -lang=BronzeageEng
|
||||
|
||||
|
||||
@@ -1,245 +0,0 @@
|
||||
abstract Swadesh = Cat ** {
|
||||
|
||||
cat
|
||||
MassN ;
|
||||
|
||||
fun
|
||||
|
||||
-- Pronouns
|
||||
|
||||
i_NP : Pron ;
|
||||
youSg_NP : Pron ;
|
||||
he_NP : Pron ;
|
||||
we_NP : Pron ;
|
||||
youPl_NP : Pron ;
|
||||
they_NP : Pron ;
|
||||
whoPl_IP : IP ; -- only one who in Swadesh 207
|
||||
whoSg_IP : IP ;
|
||||
whatPl_IP : IP ; -- only one what in Swadesh 207
|
||||
whatSg_IP : IP ;
|
||||
|
||||
-- Determiners
|
||||
|
||||
that_Det : Det ;
|
||||
this_Det : Det ;
|
||||
---- all_Predet : Predet ;
|
||||
many_Det : Det ;
|
||||
some_Det : Det ;
|
||||
|
||||
left_Ord : Ord ;
|
||||
right_Ord : Ord ;
|
||||
|
||||
-- Adverbs
|
||||
|
||||
here_Adv : Adv ;
|
||||
there_Adv : Adv ;
|
||||
where_IAdv : IAdv ;
|
||||
when_IAdv : IAdv ;
|
||||
how_IAdv : IAdv ;
|
||||
far_Adv : Adv ;
|
||||
|
||||
-- Conjunctions
|
||||
|
||||
and_Conj : Conj ;
|
||||
|
||||
-- Prepositions
|
||||
|
||||
-- at_Prep : Prep ;
|
||||
in_Prep : Prep ;
|
||||
with_Prep : Prep ;
|
||||
|
||||
-- not -- ?
|
||||
-- if -- ?
|
||||
-- because -- ?
|
||||
|
||||
-- Numerals
|
||||
|
||||
one_Det : Det ;
|
||||
two_Num : Num ;
|
||||
three_Num : Num ;
|
||||
four_Num : Num ;
|
||||
five_Num : Num ;
|
||||
|
||||
-- Adjectives
|
||||
|
||||
bad_A : A ;
|
||||
big_A : A ;
|
||||
black_A : A ;
|
||||
cold_A : A ;
|
||||
correct_A : A ;
|
||||
dirty_A : A ;
|
||||
dry_A : A ;
|
||||
dull_A : A ;
|
||||
full_A : A ;
|
||||
good_A : A ;
|
||||
green_A : A ;
|
||||
heavy_A : A ;
|
||||
long_A : A ;
|
||||
narrow_A : A ;
|
||||
near_A : A ;
|
||||
new_A : A ;
|
||||
old_A : A ;
|
||||
---- other_A : A ;
|
||||
red_A : A ;
|
||||
rotten_A : A ;
|
||||
round_A : A ;
|
||||
sharp_A : A ;
|
||||
short_A : A ;
|
||||
small_A : A ;
|
||||
smooth_A : A ;
|
||||
straight_A : A ;
|
||||
thick_A : A ;
|
||||
thin_A : A ;
|
||||
warm_A : A ;
|
||||
wet_A : A ;
|
||||
white_A : A ;
|
||||
wide_A : A ;
|
||||
yellow_A : A ;
|
||||
|
||||
-- Nouns
|
||||
|
||||
animal_N : N ;
|
||||
ashes_N : MassN ;
|
||||
back_N : N ;
|
||||
bark_N : MassN ;
|
||||
belly_N : N ;
|
||||
bird_N : N ;
|
||||
blood_N : MassN ;
|
||||
bone_N : N ;
|
||||
breast_N : N ;
|
||||
child_N : N ;
|
||||
cloud_N : N ;
|
||||
day_N : N ;
|
||||
dog_N : N ;
|
||||
dust_N : MassN ;
|
||||
ear_N : N ;
|
||||
earth_N : MassN ;
|
||||
egg_N : N ;
|
||||
eye_N : N ;
|
||||
fat_N : MassN ;
|
||||
---- father_N : N ;
|
||||
feather_N : N ;
|
||||
fingernail_N : N ;
|
||||
fire_N : N ;
|
||||
fish_N : N ;
|
||||
flower_N : N ;
|
||||
fog_N : MassN ;
|
||||
foot_N : N ;
|
||||
forest_N : N ;
|
||||
fruit_N : N ;
|
||||
grass_N : N ;
|
||||
guts_N : N ;
|
||||
hair_N : N ;
|
||||
hand_N : N ;
|
||||
head_N : N ;
|
||||
heart_N : N ;
|
||||
horn_N : N ;
|
||||
husband_N : N ;
|
||||
ice_N : MassN ;
|
||||
knee_N : N ;
|
||||
lake_N : N ;
|
||||
leaf_N : N ;
|
||||
leg_N : N ;
|
||||
liver_N : N ;
|
||||
louse_N : N ;
|
||||
man_N : N ;
|
||||
meat_N : MassN ;
|
||||
moon_N : N ;
|
||||
---- mother_N : N ;
|
||||
mountain_N : N ;
|
||||
mouth_N : N ;
|
||||
name_N : N ;
|
||||
neck_N : N ;
|
||||
night_N : N ;
|
||||
nose_N : N ;
|
||||
person_N : N ;
|
||||
rain_N : MassN ;
|
||||
river_N : N ;
|
||||
road_N : N ;
|
||||
root_N : N ;
|
||||
rope_N : N ;
|
||||
salt_N : MassN ;
|
||||
sand_N : MassN ;
|
||||
sea_N : N ;
|
||||
seed_N : N ;
|
||||
skin_N : N ;
|
||||
sky_N : N ;
|
||||
smoke_N : MassN ;
|
||||
snake_N : N ;
|
||||
snow_N : MassN ;
|
||||
star_N : N ;
|
||||
stick_N : N ;
|
||||
stone_N : N ;
|
||||
sun_N : N ;
|
||||
tail_N : N ;
|
||||
tongue_N : N ;
|
||||
tooth_N : N ;
|
||||
tree_N : N ;
|
||||
water_N : MassN ;
|
||||
wife_N : N ;
|
||||
wind_N : N ;
|
||||
wing_N : N ;
|
||||
woman_N : N ;
|
||||
worm_N : N ;
|
||||
year_N : N ;
|
||||
|
||||
-- Verbs
|
||||
|
||||
bite_V2 : V2 ;
|
||||
blow_V : V ;
|
||||
breathe_V : V ;
|
||||
burn_V : V ;
|
||||
come_V : V ;
|
||||
count_V2 : V2 ;
|
||||
cut_V2 : V2 ;
|
||||
die_V : V ;
|
||||
dig_V : V ;
|
||||
drink_V2 : V2 ;
|
||||
eat_V2 : V2 ;
|
||||
fall_V : V ;
|
||||
fear_V2 : V2 ;
|
||||
fight_V2 : V2 ;
|
||||
float_V : V ;
|
||||
flow_V : V ;
|
||||
fly_V : V ;
|
||||
freeze_V : V ;
|
||||
give_V3 : V3 ;
|
||||
hear_V2 : V2 ;
|
||||
hit_V2 : V2 ;
|
||||
hold_V2 : V2 ;
|
||||
hunt_V2 : V2 ;
|
||||
kill_V2 : V2 ;
|
||||
know_V2 : V2 ;
|
||||
laugh_V : V ;
|
||||
lie_V : V ;
|
||||
live_V : V ;
|
||||
play_V : V ;
|
||||
pull_V2 : V2 ;
|
||||
push_V2 : V2 ;
|
||||
rub_V2 : V2 ;
|
||||
say_V : V ;
|
||||
scratch_V2 : V2 ;
|
||||
see_V2 : V2 ;
|
||||
sew_V : V ;
|
||||
sing_V : V ;
|
||||
sit_V : V ;
|
||||
sleep_V : V ;
|
||||
smell_V : V ;
|
||||
spit_V : V ;
|
||||
split_V2 : V2 ;
|
||||
squeeze_V2 : V2 ;
|
||||
stab_V2 : V2 ;
|
||||
stand_V : V ;
|
||||
suck_V2 : V2 ;
|
||||
swell_V : V ;
|
||||
swim_V : V ;
|
||||
think_V : V ;
|
||||
throw_V2 : V2 ;
|
||||
tie_V2 : V2 ;
|
||||
turn_V : V ;
|
||||
vomit_V : V ;
|
||||
walk_V : V ;
|
||||
wash_V2 : V2 ;
|
||||
wipe_V2 : V2 ;
|
||||
|
||||
}
|
||||
@@ -1,5 +0,0 @@
|
||||
--# -path=.:present:prelude
|
||||
|
||||
concrete SwadeshAra of Swadesh = CatAra ** SwadeshI with
|
||||
(Lang = LangAra) ;
|
||||
|
||||
@@ -1,5 +0,0 @@
|
||||
--# -path=.:present:prelude
|
||||
|
||||
concrete SwadeshDan of Swadesh = CatDan ** SwadeshI with
|
||||
(Lang = LangDan) ;
|
||||
|
||||
@@ -1,5 +0,0 @@
|
||||
--# -path=.:present:prelude
|
||||
|
||||
concrete SwadeshEng of Swadesh = CatEng ** SwadeshI with
|
||||
(Lang = LangEng) ;
|
||||
|
||||
@@ -1,5 +0,0 @@
|
||||
--# -path=.:present:prelude
|
||||
|
||||
concrete SwadeshFin of Swadesh = CatFin ** SwadeshI with
|
||||
(Lang = LangFin) ;
|
||||
|
||||
@@ -1,5 +0,0 @@
|
||||
--# -path=.:present:prelude
|
||||
|
||||
concrete SwadeshFre of Swadesh = CatFre ** SwadeshI with
|
||||
(Lang = LangFre) ;
|
||||
|
||||
@@ -1,5 +0,0 @@
|
||||
--# -path=.:present:prelude
|
||||
|
||||
concrete SwadeshGer of Swadesh = CatGer ** SwadeshI with
|
||||
(Lang = LangGer) ;
|
||||
|
||||
@@ -1,227 +0,0 @@
|
||||
incomplete concrete SwadeshI of Swadesh = open Lang in {
|
||||
|
||||
lincat
|
||||
MassN = Lang.N ;
|
||||
|
||||
lin
|
||||
|
||||
-- Pronouns
|
||||
|
||||
i_NP = Lang.i_Pron ;
|
||||
youSg_NP = Lang.youSg_Pron ;
|
||||
he_NP = Lang.he_Pron ;
|
||||
we_NP = Lang.we_Pron ;
|
||||
youPl_NP = Lang.youPl_Pron ;
|
||||
they_NP = Lang.they_Pron ;
|
||||
whoPl_IP = Lang.whoPl_IP ;
|
||||
whoSg_IP = Lang.whoSg_IP ;
|
||||
whatPl_IP = Lang.whatPl_IP ;
|
||||
whatSg_IP = Lang.whatSg_IP ;
|
||||
|
||||
-- Determiners
|
||||
|
||||
this_Det = DetSg (this_Quant) NoOrd ;
|
||||
that_Det = DetSg (that_Quant) NoOrd ;
|
||||
many_Det = Lang.many_Det ;
|
||||
some_Det = someSg_Det ;
|
||||
---- few_Det = few_Det ;
|
||||
|
||||
left_Ord = Lang.left_Ord ;
|
||||
right_Ord = Lang.right_Ord ;
|
||||
-- Adverbs
|
||||
here_Adv = Lang.here_Adv;
|
||||
there_Adv = Lang.there_Adv;
|
||||
where_IAdv = Lang.where_IAdv;
|
||||
when_IAdv = Lang.when_IAdv;
|
||||
how_IAdv = Lang.how_IAdv;
|
||||
far_Adv = Lang.far_Adv ;
|
||||
-- not : Adv ; -- ?
|
||||
-- Conjunctions
|
||||
and_Conj = Lang.and_Conj ;
|
||||
-- Prepositions
|
||||
in_Prep = Lang.in_Prep ;
|
||||
with_Prep = Lang.with_Prep ;
|
||||
-- Numerals
|
||||
one_Det = Lang.DetPl IndefArt
|
||||
(Lang.NumNumeral (num (pot2as3 (pot1as2 (pot0as1 pot01))))) NoOrd ;
|
||||
two_Num = Lang.NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n2))))) ;
|
||||
three_Num = Lang.NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n3))))) ;
|
||||
four_Num = Lang.NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n4))))) ;
|
||||
five_Num = Lang.NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n5))))) ;
|
||||
-- Adjectives
|
||||
bad_A = Lang.bad_A ;
|
||||
big_A = Lang.big_A ;
|
||||
black_A = Lang.black_A ;
|
||||
cold_A = Lang.cold_A ;
|
||||
correct_A = Lang.correct_A ;
|
||||
dirty_A = Lang.dirty_A ;
|
||||
dry_A = Lang.dry_A ;
|
||||
dull_A = Lang.dull_A ;
|
||||
full_A = Lang.full_A ;
|
||||
good_A = Lang.good_A ;
|
||||
green_A = Lang.green_A ;
|
||||
heavy_A = Lang.heavy_A ;
|
||||
long_A = Lang.long_A ;
|
||||
narrow_A = Lang.narrow_A ;
|
||||
near_A = Lang.near_A ;
|
||||
new_A = Lang.new_A ;
|
||||
old_A = Lang.old_A ;
|
||||
---- other_A = Lang.other_A ;
|
||||
red_A = Lang.red_A ;
|
||||
rotten_A = Lang.rotten_A ;
|
||||
round_A = Lang.round_A ;
|
||||
sharp_A = Lang.sharp_A ;
|
||||
short_A = Lang.short_A ;
|
||||
small_A = Lang.small_A ;
|
||||
smooth_A = Lang.smooth_A ;
|
||||
straight_A = Lang.straight_A ;
|
||||
thick_A = Lang.thick_A ;
|
||||
thin_A = Lang.thin_A ;
|
||||
warm_A = Lang.warm_A ;
|
||||
wet_A = Lang.wet_A ;
|
||||
white_A = Lang.white_A ;
|
||||
wide_A = Lang.wide_A ;
|
||||
yellow_A = Lang.yellow_A ;
|
||||
-- Nouns
|
||||
animal_N = Lang.animal_N ;
|
||||
ashes_N = Lang.ashes_N ;
|
||||
back_N = Lang.back_N ;
|
||||
bark_N = Lang.bark_N ;
|
||||
belly_N = Lang.belly_N ;
|
||||
bird_N = Lang.bird_N;
|
||||
blood_N = Lang.blood_N ;
|
||||
bone_N = Lang.bone_N ;
|
||||
breast_N = Lang.breast_N ;
|
||||
child_N = Lang.child_N ;
|
||||
cloud_N = Lang.cloud_N ;
|
||||
day_N = Lang.day_N ;
|
||||
dog_N = Lang.dog_N ;
|
||||
dust_N = Lang.dust_N ;
|
||||
ear_N = Lang.ear_N ;
|
||||
earth_N = Lang.earth_N ;
|
||||
egg_N = Lang.egg_N ;
|
||||
eye_N = Lang.eye_N ;
|
||||
fat_N = Lang.fat_N ;
|
||||
feather_N = Lang.feather_N ;
|
||||
fingernail_N = Lang.fingernail_N ;
|
||||
fire_N = Lang.fire_N ;
|
||||
fish_N = Lang.fish_N ;
|
||||
flower_N = Lang.flower_N ;
|
||||
fog_N = Lang.fog_N ;
|
||||
foot_N = Lang.foot_N ;
|
||||
forest_N = Lang.forest_N ;
|
||||
fruit_N = Lang.fruit_N ;
|
||||
grass_N = Lang.grass_N ;
|
||||
guts_N = Lang.guts_N ;
|
||||
hair_N = Lang.hair_N ;
|
||||
hand_N = Lang.hand_N ;
|
||||
head_N = Lang.head_N ;
|
||||
heart_N = Lang.heart_N ;
|
||||
horn_N = Lang.horn_N ;
|
||||
husband_N = Lang.man_N ; --- aviomies
|
||||
ice_N = Lang.ice_N ;
|
||||
knee_N = Lang.knee_N ;
|
||||
lake_N = Lang.lake_N ;
|
||||
leaf_N = Lang.leaf_N ;
|
||||
leg_N = Lang.leg_N ;
|
||||
liver_N = Lang.liver_N ;
|
||||
louse_N = Lang.louse_N ;
|
||||
man_N = Lang.man_N ;
|
||||
meat_N = Lang.meat_N ;
|
||||
moon_N = Lang.moon_N ;
|
||||
---- mother_N = Lang.mother_N ;
|
||||
mountain_N = Lang.mountain_N ;
|
||||
mouth_N = Lang.mouth_N ;
|
||||
name_N = Lang.name_N ;
|
||||
neck_N = Lang.neck_N ;
|
||||
night_N = Lang.night_N ;
|
||||
nose_N = Lang.nose_N ;
|
||||
person_N = Lang.person_N ;
|
||||
rain_N = Lang.rain_N ;
|
||||
river_N = Lang.river_N ;
|
||||
road_N = Lang.road_N ;
|
||||
root_N = Lang.root_N ;
|
||||
rope_N = Lang.rope_N ;
|
||||
salt_N = Lang.salt_N ;
|
||||
sand_N = Lang.sand_N ;
|
||||
sea_N = Lang.sea_N ;
|
||||
seed_N = Lang.seed_N ;
|
||||
skin_N = Lang.skin_N ;
|
||||
sky_N = Lang.sky_N ;
|
||||
smoke_N = Lang.smoke_N ;
|
||||
snake_N = Lang.snake_N ;
|
||||
snow_N = Lang.snow_N ;
|
||||
star_N = Lang.star_N ;
|
||||
stick_N = Lang.stick_N ;
|
||||
stone_N = Lang.stone_N ;
|
||||
sun_N = Lang.sun_N ;
|
||||
tail_N = Lang.tail_N ;
|
||||
tongue_N = Lang.tongue_N ;
|
||||
tooth_N = Lang.tooth_N ;
|
||||
tree_N = Lang.tree_N ;
|
||||
water_N = Lang.water_N ;
|
||||
wife_N = Lang.wife_N ;
|
||||
wind_N = Lang.wind_N ;
|
||||
wing_N = Lang.wing_N ;
|
||||
woman_N = Lang.woman_N ;
|
||||
worm_N = Lang.worm_N ;
|
||||
year_N = Lang.year_N ;
|
||||
-- Verbs
|
||||
bite_V2 = Lang.bite_V2 ;
|
||||
blow_V = Lang.blow_V ;
|
||||
breathe_V = Lang.breathe_V ;
|
||||
burn_V = Lang.burn_V ;
|
||||
come_V = Lang.come_V ;
|
||||
count_V2 = Lang.count_V2 ;
|
||||
cut_V2 = Lang.cut_V2 ;
|
||||
die_V = Lang.die_V ;
|
||||
dig_V = Lang.dig_V ;
|
||||
drink_V2 = Lang.drink_V2 ;
|
||||
eat_V2 = Lang.eat_V2 ;
|
||||
fall_V = Lang.fall_V ;
|
||||
fear_V2 = Lang.fear_V2 ;
|
||||
fight_V2 = Lang.fight_V2 ;
|
||||
float_V = Lang.float_V ;
|
||||
flow_V = Lang.flow_V ;
|
||||
fly_V = Lang.fly_V ;
|
||||
freeze_V = Lang.freeze_V ;
|
||||
give_V3 = Lang.give_V3 ;
|
||||
hear_V2 = Lang.hear_V2 ;
|
||||
hit_V2 = Lang.hit_V2 ;
|
||||
hold_V2 = Lang.hold_V2 ;
|
||||
hunt_V2 = Lang.hunt_V2 ;
|
||||
kill_V2 = Lang.kill_V2 ;
|
||||
know_V2 = Lang.know_V2 ;
|
||||
laugh_V = Lang.laugh_V ;
|
||||
lie_V = Lang.lie_V ;
|
||||
live_V = Lang.live_V ;
|
||||
play_V = Lang. play_V2 ;
|
||||
pull_V2 = Lang.pull_V2 ;
|
||||
push_V2 = Lang.push_V2 ;
|
||||
rub_V2 = Lang.rub_V2 ;
|
||||
say_V = Lang.say_VS ;
|
||||
scratch_V2 = Lang.scratch_V2 ;
|
||||
see_V2 = Lang.see_V2 ;
|
||||
sew_V = Lang.sew_V ;
|
||||
sing_V = Lang.sing_V ;
|
||||
sit_V = Lang.sit_V ;
|
||||
sleep_V = Lang.sleep_V ;
|
||||
smell_V = Lang.smell_V ;
|
||||
spit_V = Lang.spit_V ;
|
||||
split_V2 = Lang.split_V2 ;
|
||||
squeeze_V2 = Lang.squeeze_V2 ;
|
||||
stab_V2 = Lang.stab_V2 ;
|
||||
stand_V = Lang.stand_V ;
|
||||
suck_V2 = Lang.suck_V2 ;
|
||||
swell_V = Lang.swell_V ;
|
||||
swim_V = Lang.swim_V ;
|
||||
think_V = Lang.think_V ;
|
||||
throw_V2 = Lang.throw_V2 ;
|
||||
tie_V2 = Lang.tie_V2 ;
|
||||
turn_V = Lang.turn_V ;
|
||||
vomit_V = Lang.vomit_V ;
|
||||
walk_V = Lang.walk_V ;
|
||||
wash_V2 = Lang.wash_V2 ;
|
||||
wipe_V2 = Lang.wipe_V2 ;
|
||||
|
||||
}
|
||||
@@ -1,5 +0,0 @@
|
||||
--# -path=.:present:prelude
|
||||
|
||||
concrete SwadeshIta of Swadesh = CatIta ** SwadeshI with
|
||||
(Lang = LangIta) ;
|
||||
|
||||
@@ -1,5 +0,0 @@
|
||||
--# -path=.:present:prelude
|
||||
|
||||
concrete SwadeshNor of Swadesh = CatNor ** SwadeshI with
|
||||
(Lang = LangNor) ;
|
||||
|
||||
@@ -1,5 +0,0 @@
|
||||
--# -path=.:present:prelude
|
||||
|
||||
concrete SwadeshRus of Swadesh = CatRus ** SwadeshI with
|
||||
(Lang = LangRus) ;
|
||||
|
||||
@@ -1,5 +0,0 @@
|
||||
--# -path=.:present:prelude
|
||||
|
||||
concrete SwadeshSpa of Swadesh = CatSpa ** SwadeshI with
|
||||
(Lang = LangSpa) ;
|
||||
|
||||
@@ -1,5 +0,0 @@
|
||||
--# -path=.:present:prelude
|
||||
|
||||
concrete SwadeshSwe of Swadesh = CatSwe ** SwadeshI with
|
||||
(Lang = LangSwe) ;
|
||||
|
||||
@@ -1,243 +0,0 @@
|
||||
concrete SwadeshEng of Swadesh = CatEng
|
||||
** open MorphoEng, LangEng, ParadigmsEng, IrregEng, Prelude in {
|
||||
|
||||
lincat
|
||||
MassN = N ;
|
||||
|
||||
lin
|
||||
|
||||
-- Pronouns
|
||||
|
||||
i_NP = i_Pron ;
|
||||
youSg_NP = youSg_Pron ;
|
||||
he_NP = he_Pron ;
|
||||
we_NP = we_Pron ;
|
||||
youPl_NP = youPl_Pron ;
|
||||
they_NP = they_Pron ;
|
||||
whoPl_IP = whoPl_IP ;
|
||||
whoSg_IP = whoSg_IP ;
|
||||
whatPl_IP = whatPl_IP ;
|
||||
whatSg_IP = whatSg_IP ;
|
||||
|
||||
-- Determiners
|
||||
|
||||
this_Det = DetSg (SgQuant this_Quant) NoOrd ;
|
||||
that_Det = DetSg (SgQuant that_Quant) NoOrd ;
|
||||
all_Predet = all_Predet ;
|
||||
many_Det = many_Det ;
|
||||
some_Det = someSg_Det ;
|
||||
|
||||
-- left_Ord = left_Ord ;
|
||||
-- right_Ord = right_Ord ;
|
||||
|
||||
-- Adverbs
|
||||
|
||||
here_Adv = here_Adv;
|
||||
there_Adv = there_Adv;
|
||||
where_IAdv = where_IAdv;
|
||||
when_IAdv = when_IAdv;
|
||||
how_IAdv = how_IAdv;
|
||||
-- far_Adv = far_Adv ;
|
||||
|
||||
-- "not" treated in Verb
|
||||
|
||||
-- Conjunctions
|
||||
|
||||
and_Conj = and_Conj ;
|
||||
|
||||
-- Prepositions
|
||||
|
||||
--- at_Prep = ss "at" ;
|
||||
in_Prep = in_Prep ;
|
||||
with_Prep = with_Prep ;
|
||||
|
||||
-- Numerals
|
||||
|
||||
one_Det = DetSg one_Quant NoOrd ;
|
||||
two_Num = NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n2))))) ;
|
||||
three_Num = NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n3))))) ;
|
||||
four_Num = NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n4))))) ;
|
||||
five_Num = NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n5))))) ;
|
||||
|
||||
-- Adjectives
|
||||
|
||||
bad_A = bad_A ;
|
||||
big_A = big_A ;
|
||||
black_A = black_A ;
|
||||
cold_A = cold_A ;
|
||||
correct_A = (regA "correct") ;
|
||||
dirty_A = dirty_A ;
|
||||
dry_A = regA "dry" ;
|
||||
dull_A = regA "dull" ;
|
||||
full_A = regA "full" ;
|
||||
good_A = good_A ;
|
||||
green_A = green_A ;
|
||||
heavy_A = regA "heavy" ;
|
||||
long_A = long_A ;
|
||||
narrow_A = narrow_A ;
|
||||
near_A = regA "near" ;
|
||||
new_A = new_A ;
|
||||
old_A = old_A ;
|
||||
red_A = red_A ;
|
||||
rotten_A = (regA "rotten") ;
|
||||
round_A = regA "round" ;
|
||||
sharp_A = regA "sharp" ;
|
||||
short_A = short_A ;
|
||||
small_A = small_A ;
|
||||
smooth_A = regA "smooth" ;
|
||||
straight_A = regA "straight" ;
|
||||
thick_A = thick_A ;
|
||||
thin_A = thin_A ;
|
||||
warm_A = warm_A ;
|
||||
wet_A = regA "wet" ; ----
|
||||
white_A = white_A ;
|
||||
wide_A = regA "wide" ;
|
||||
yellow_A = yellow_A ;
|
||||
|
||||
-- Nouns
|
||||
|
||||
animal_N = regN "animal" ;
|
||||
ashes_N = regN "ash" ; -- FIXME: plural only?
|
||||
back_N = regN "back" ;
|
||||
bark_N = regN "bark" ;
|
||||
belly_N = regN "belly" ;
|
||||
bird_N = bird_N;
|
||||
blood_N = regN "blood" ;
|
||||
bone_N = regN "bone" ;
|
||||
breast_N = regN "breast" ;
|
||||
child_N = child_N ;
|
||||
cloud_N = regN "cloud" ;
|
||||
day_N = regN "day" ;
|
||||
dog_N = dog_N ;
|
||||
dust_N = regN "dust" ;
|
||||
ear_N = regN "ear" ;
|
||||
earth_N = regN "earth" ;
|
||||
egg_N = regN "egg" ;
|
||||
eye_N = regN "eye" ;
|
||||
fat_N = regN "fat" ;
|
||||
father_N = UseN2 father_N2 ;
|
||||
feather_N = regN "feather" ;
|
||||
fingernail_N = regN "fingernail" ;
|
||||
fire_N = regN "fire" ;
|
||||
fish_N = fish_N ;
|
||||
flower_N = regN "flower" ;
|
||||
fog_N = regN "fog" ;
|
||||
foot_N = mk2N "foot" "feet" ;
|
||||
forest_N = regN "forest" ;
|
||||
fruit_N = fruit_N ;
|
||||
grass_N = regN "grass" ;
|
||||
guts_N = regN "gut" ; -- FIXME: no singular
|
||||
hair_N = regN "hair" ;
|
||||
hand_N = regN "hand" ;
|
||||
head_N = regN "head" ;
|
||||
heart_N = regN "heart" ;
|
||||
horn_N = regN "horn" ;
|
||||
husband_N = genderN masculine (regN "husband") ;
|
||||
ice_N = regN "ice" ;
|
||||
knee_N = regN "knee" ;
|
||||
lake_N = lake_N ;
|
||||
leaf_N = mk2N "leaf" "leaves" ;
|
||||
leg_N = regN "leg" ;
|
||||
liver_N = regN "liver" ;
|
||||
louse_N = mk2N "louse" "lice" ;
|
||||
man_N = man_N ;
|
||||
meat_N = meat_N ;
|
||||
moon_N = moon_N ;
|
||||
mother_N = UseN2 mother_N2 ;
|
||||
mountain_N = mountain_N ;
|
||||
mouth_N = regN "mouth" ;
|
||||
name_N = regN "name" ;
|
||||
neck_N = regN "neck" ;
|
||||
night_N = regN "night" ;
|
||||
nose_N = regN "nose" ;
|
||||
person_N = genderN human (regN "person") ;
|
||||
rain_N = regN "rain" ;
|
||||
river_N = river_N ;
|
||||
road_N = regN "road" ;
|
||||
root_N = regN "root" ;
|
||||
rope_N = regN "rope" ;
|
||||
salt_N = regN "salt" ;
|
||||
sand_N = regN "sand" ;
|
||||
sea_N = sea_N ;
|
||||
seed_N = regN "seed" ;
|
||||
skin_N = regN "skin" ;
|
||||
sky_N = regN "sky" ;
|
||||
smoke_N = regN "smoke" ;
|
||||
snake_N = snake_N ;
|
||||
snow_N = regN "snow" ;
|
||||
star_N = star_N ;
|
||||
stick_N = regN "stick" ;
|
||||
stone_N = stone_N ;
|
||||
sun_N = sun_N ;
|
||||
tail_N = regN "tail" ;
|
||||
tongue_N = regN "tongue" ;
|
||||
tooth_N = mk2N "tooth" "teeth" ;
|
||||
tree_N = tree_N ;
|
||||
water_N = water_N ;
|
||||
wife_N = genderN feminine (mk2N "wife" "wives") ;
|
||||
wind_N = regN "wind" ;
|
||||
wing_N = regN "wing" ;
|
||||
woman_N = woman_N ;
|
||||
worm_N = regN "worm" ;
|
||||
year_N = regN "year" ;
|
||||
|
||||
-- Verbs
|
||||
|
||||
bite_V2 = dirV2 bite_V ;
|
||||
blow_V = blow_V ;
|
||||
breathe_V = dirV2 (regV "breathe") ;
|
||||
burn_V = burn_V ;
|
||||
come_V = come_V ;
|
||||
count_V2 = dirV2 (regV "count") ;
|
||||
cut_V2 = dirV2 cut_V ;
|
||||
die_V = die_V ;
|
||||
dig_V = dig_V ;
|
||||
drink_V2 = dirV2 drink_V ;
|
||||
eat_V2 = dirV2 eat_V ;
|
||||
fall_V = fall_V ;
|
||||
fear_V2 = dirV2 (regV "fear") ;
|
||||
fight_V2 = dirV2 fight_V ;
|
||||
float_V = regV "float" ;
|
||||
flow_V = regV "flow" ;
|
||||
fly_V = fly_V ;
|
||||
freeze_V = freeze_V ;
|
||||
give_V3 = dirV3 give_V "to" ;
|
||||
hear_V2 = dirV2 hear_V ;
|
||||
hit_V2 = dirV2 hit_V ;
|
||||
hold_V2 = dirV2 hold_V ;
|
||||
hunt_V2 = dirV2 (regV "hunt") ;
|
||||
kill_V2 = dirV2 (regV "kill") ;
|
||||
know_V2 = dirV2 know_V ;
|
||||
laugh_V = regV "laugh" ;
|
||||
lie_V = lie_V ;
|
||||
live_V = live_V ;
|
||||
play_V = regV "play" ;
|
||||
pull_V2 = dirV2 (regV "pull") ;
|
||||
push_V2 = dirV2 (regV "push") ;
|
||||
rub_V2 = dirV2 (regDuplV "rub") ;
|
||||
say_V = say_V ;
|
||||
scratch_V2 = dirV2 (regV "scratch") ;
|
||||
see_V2 = dirV2 see_V ;
|
||||
sew_V = sew_V ;
|
||||
sing_V = sing_V ;
|
||||
sit_V = sit_V ;
|
||||
sleep_V = sleep_V ;
|
||||
smell_V = regV "smell" ;
|
||||
spit_V = spit_V ;
|
||||
split_V2 = dirV2 split_V ;
|
||||
squeeze_V2 = dirV2 (regV "squeeze") ;
|
||||
stab_V2 = dirV2 (regDuplV "stab") ;
|
||||
stand_V = stand_V ;
|
||||
suck_V2 = dirV2 (regV "suck") ;
|
||||
swell_V = swell_V ;
|
||||
swim_V = swim_V ;
|
||||
think_V = think_V ;
|
||||
throw_V2 = dirV2 throw_V ;
|
||||
tie_V2 = dirV2 (regV "tie") ;
|
||||
turn_V = regV "turn" ;
|
||||
vomit_V = regV "vomit" ;
|
||||
walk_V = walk_V ;
|
||||
wash_V2 = dirV2 (regV "wash") ;
|
||||
wipe_V2 = dirV2 (regV "wipe") ;
|
||||
|
||||
}
|
||||
@@ -1,269 +0,0 @@
|
||||
--# -path=.:../present:../finnish:../common:../abstract:../../prelude
|
||||
|
||||
concrete SwadeshFin of Swadesh = CatFin
|
||||
** open MorphoFin, LangFin, ParadigmsFin, Prelude in {
|
||||
|
||||
flags optimize=values ;
|
||||
|
||||
lincat
|
||||
MassN = N ;
|
||||
|
||||
lin
|
||||
|
||||
-- Pronouns
|
||||
|
||||
i_NP = i_Pron ;
|
||||
youSg_NP = youSg_Pron ;
|
||||
he_NP = he_Pron ;
|
||||
we_NP = we_Pron ;
|
||||
youPl_NP = youPl_Pron ;
|
||||
they_NP = they_Pron ;
|
||||
whoPl_IP = whoPl_IP ;
|
||||
whoSg_IP = whoSg_IP ;
|
||||
whatPl_IP = whatPl_IP ;
|
||||
whatSg_IP = whatSg_IP ;
|
||||
|
||||
-- Determiners
|
||||
|
||||
this_Det = DetSg (SgQuant this_Quant) NoOrd ;
|
||||
that_Det = DetSg (SgQuant that_Quant) NoOrd ;
|
||||
all_Det = mkDet Pl {s = \\nf =>
|
||||
let
|
||||
kaiket = (nhn (sKorpi "kaikki" "kaiken" "kaikkena")).s
|
||||
in
|
||||
case nf of {
|
||||
NCase Pl Nom => "kaikki" ;
|
||||
_ => kaiket ! nf
|
||||
}
|
||||
} ;
|
||||
many_Det = many_Det ;
|
||||
some_Det = someSg_Det ;
|
||||
few_Det = mkDet Sg (regN "harva") ;
|
||||
other_Det = mkDet Sg (regN "muu") ;
|
||||
|
||||
left_Ord = mkOrd (regN "vasen") ;
|
||||
right_Ord = mkOrd (regN "oikea") ;
|
||||
|
||||
oper
|
||||
mkOrd : N -> Ord ;
|
||||
mkOrd x = {s = \\n,c => x.s ! NCase n c; lock_Ord = <> } ;
|
||||
|
||||
lin
|
||||
|
||||
-- Adverbs
|
||||
|
||||
here_Adv = here_Adv;
|
||||
there_Adv = there_Adv;
|
||||
where_IAdv = where_IAdv;
|
||||
when_IAdv = when_IAdv;
|
||||
how_IAdv = how_IAdv;
|
||||
far_Adv = mkAdv "kaukana" ;
|
||||
|
||||
-- not : Adv ; -- ?
|
||||
|
||||
-- Conjunctions
|
||||
|
||||
and_Conj = and_Conj ;
|
||||
|
||||
-- Prepositions
|
||||
|
||||
at_Prep = casePrep adessive ;
|
||||
in_Prep = casePrep inessive ;
|
||||
with_Prep = postGenPrep "kanssa" ;
|
||||
|
||||
-- Numerals
|
||||
|
||||
one_Det = DetSg one_Quant NoOrd ;
|
||||
two_Num = NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n2))))) ;
|
||||
three_Num = NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n3))))) ;
|
||||
four_Num = NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n4))))) ;
|
||||
five_Num = NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n5))))) ;
|
||||
|
||||
-- Adjectives
|
||||
|
||||
bad_A = bad_A ;
|
||||
big_A = big_A ;
|
||||
black_A = black_A ;
|
||||
cold_A = cold_A ;
|
||||
correct_A = regA "oikea" ;
|
||||
dirty_A = dirty_A ;
|
||||
dry_A = mkADeg (regN "kuiva") "kuivempi" "kuivin" ;
|
||||
dull_A = mkADeg (regN "tylsä") "tylsempi" "tylsin" ;
|
||||
full_A = mkADeg (reg3N "täysi" "täyden" "täysiä") "täydempi" "täysin" ;
|
||||
good_A = good_A ;
|
||||
green_A = green_A ;
|
||||
heavy_A = regA "raskas" ;
|
||||
long_A = long_A ;
|
||||
narrow_A = narrow_A ;
|
||||
near_A = regA "läheinen" ;
|
||||
new_A = new_A ;
|
||||
old_A = old_A ;
|
||||
red_A = red_A ;
|
||||
rotten_A = regA "mätä" ;
|
||||
round_A = regA "pyöreä" ;
|
||||
sharp_A = regA "terävä" ;
|
||||
short_A = short_A ;
|
||||
small_A = small_A ;
|
||||
smooth_A = regA "sileä" ;
|
||||
straight_A = mkADeg (regN "suora") "suorempi" "suorin" ;
|
||||
thick_A = thick_A ;
|
||||
thin_A = thin_A ;
|
||||
warm_A = warm_A ;
|
||||
wet_A = mkADeg (regN "märkä") "märempi" "märin" ;
|
||||
white_A = white_A ;
|
||||
wide_A = regA "leveä" ;
|
||||
yellow_A = yellow_A ;
|
||||
|
||||
-- Nouns
|
||||
|
||||
animal_N = reg3N "eläin" "eläimen" "eläimiä" ;
|
||||
ashes_N = regN "tuhka" ;
|
||||
back_N = regN "selkä" ;
|
||||
bark_N = regN "kaarna" ;
|
||||
belly_N = regN "vatsa" ;
|
||||
bird_N = bird_N;
|
||||
blood_N = nMeri "veri" ;
|
||||
bone_N = regN "luu" ;
|
||||
breast_N = regN "rinta" ;
|
||||
child_N = child_N ;
|
||||
cloud_N = reg2N "pilvi" "pilviä" ;
|
||||
day_N = regN "päivä" ;
|
||||
dog_N = dog_N ;
|
||||
dust_N = regN "pöly" ;
|
||||
ear_N = regN "korva" ;
|
||||
earth_N = regN "maa" ;
|
||||
egg_N = regN "muna" ;
|
||||
eye_N = regN "silmä" ;
|
||||
fat_N = regN "rasva" ;
|
||||
father_N = regN "isä" ;
|
||||
feather_N = reg3N "höyhen" "höyhenen" "höyheniä" ;
|
||||
fingernail_N = reg3N "kynsi" "kynnen" "kynsiä" ;
|
||||
fire_N = reg2N "tuli" "tulia" ;
|
||||
fish_N = fish_N ;
|
||||
flower_N = regN "kukka" ;
|
||||
fog_N = regN "sumu" ;
|
||||
foot_N = regN "jalka" ;
|
||||
forest_N = regN "metsä" ;
|
||||
fruit_N = fruit_N ;
|
||||
grass_N = regN "ruoho" ;
|
||||
guts_N = regN "sisälmys" ; --- suoli
|
||||
hair_N = regN "hius" ;
|
||||
hand_N = reg3N "käsi" "käden" "käsiä" ;
|
||||
head_N = regN "pää" ;
|
||||
heart_N = reg3N "sydän" "sydämen" "sydämiä" ;
|
||||
horn_N = reg2N "sarvi" "sarvia" ;
|
||||
husband_N = man_N ; --- aviomies
|
||||
ice_N = regN "jää" ;
|
||||
knee_N = reg2N "polvi" "polvia" ;
|
||||
lake_N = lake_N ;
|
||||
leaf_N = reg2N "lehti" "lehtiä" ;
|
||||
leg_N = regN "jalka" ; --- sääri
|
||||
liver_N = regN "maksa" ;
|
||||
louse_N = regN "lude" ;
|
||||
man_N = man_N ;
|
||||
meat_N = meat_N ;
|
||||
moon_N = moon_N ;
|
||||
mother_N = regN "äiti" ;
|
||||
mountain_N = mountain_N ;
|
||||
mouth_N = regN "suu" ;
|
||||
name_N = reg2N "nimi" "nimiä" ;
|
||||
neck_N = regN "niska" ;
|
||||
night_N = regN "yö" ;
|
||||
nose_N = regN "nenä" ;
|
||||
person_N = regN "henkilö" ;
|
||||
rain_N = regN "sade" ;
|
||||
river_N = river_N ;
|
||||
road_N = regN "tie" ;
|
||||
root_N = reg2N "juuri" "juuria" ;
|
||||
rope_N = reg3N "köysi" "köyden" "köysiä" ;
|
||||
salt_N = regN "suola" ;
|
||||
sand_N = regN "hiekka" ;
|
||||
sea_N = sea_N ;
|
||||
seed_N = regN "siemen" ;
|
||||
skin_N = regN "nahka" ;
|
||||
sky_N = reg3N "taivas" "taivaan" "taivaita" ;
|
||||
smoke_N = regN "savu" ;
|
||||
snake_N = snake_N ;
|
||||
snow_N = sgpartN (nMeri "lumi") "lunta" ;
|
||||
star_N = star_N ;
|
||||
stick_N = regN "keppi" ;
|
||||
stone_N = stone_N ;
|
||||
sun_N = sun_N ;
|
||||
tail_N = regN "häntä" ;
|
||||
tongue_N = reg2N "kieli" "kieliä" ;
|
||||
tooth_N = regN "hammas" ;
|
||||
tree_N = tree_N ;
|
||||
water_N = water_N ;
|
||||
wife_N = regN "vaimo" ;
|
||||
wind_N = reg2N "tuuli" "tuulia" ;
|
||||
wing_N = reg2N "siipi" "siipiä" ;
|
||||
woman_N = woman_N ;
|
||||
worm_N = regN "mato" ;
|
||||
year_N = reg3N "vuosi" "vuoden" "vuosia" ;
|
||||
|
||||
-- Verbs
|
||||
|
||||
bite_V2 = dirV2 (regV "purra") ;
|
||||
blow_V = regV "puhaltaa" ;
|
||||
breathe_V2 = dirV2 (regV "hengittää") ;
|
||||
burn_V = regV "palaa" ;
|
||||
come_V = come_V ;
|
||||
count_V2 = dirV2 (regV "laskea") ;
|
||||
cut_V2 = dirV2 (reg2V "leikata" "leikkasi") ;
|
||||
die_V = regV "kuolla";
|
||||
dig_V = regV "kaivaa" ;
|
||||
drink_V2 = dirV2 ( drink_V2) ;
|
||||
eat_V2 = dirV2 ( eat_V2) ;
|
||||
fall_V = reg3V "pudota" "putoan" "putosi" ;
|
||||
fear_V2 = dirV2 (reg3V "pelätä" "pelkään" "pelkäsi") ;
|
||||
fight_V2 = dirV2 (regV "taistella") ;
|
||||
float_V = regV "kellua" ;
|
||||
flow_V = reg3V "virrata" "virtaan" "virtasi" ;
|
||||
fly_V = regV "lentää" ;
|
||||
freeze_V = regV "jäätyä" ;
|
||||
give_V = dirdirV3 (regV "antaa") ;
|
||||
hear_V2 = dirV2 ( hear_V2) ;
|
||||
hit_V2 = dirV2 (regV "lyödä") ;
|
||||
hold_V2 = dirV2 (regV "pitää") ;
|
||||
hunt_V2 = dirV2 (regV "metsästää") ;
|
||||
kill_V2 = dirV2 (regV "tappaa") ;
|
||||
know_V2 = dirV2 (reg2V "tuntea" "tunsin") ;
|
||||
laugh_V = reg3V "nauraa" "nauran" "nauroi" ;
|
||||
lie_V = reg3V "maata" "makaan" "makasi" ;
|
||||
live_V = live_V ;
|
||||
play_V = play_V2 ;
|
||||
pull_V2 = dirV2 (regV "vetää") ;
|
||||
push_V2 = dirV2 (regV "työntää") ;
|
||||
rub_V2 = dirV2 (regV "hieroa") ;
|
||||
say_V = regV "sanoa" ;
|
||||
scratch_V2 = dirV2 (regV "raapia") ;
|
||||
see_V = ( see_V2) ;
|
||||
sew_V = regV "kylvää" ;
|
||||
sing_V = regV "laulaa" ;
|
||||
sit_V = regV "istua" ;
|
||||
sleep_V = sleep_V ;
|
||||
smell_V = reg2V "haistaa" "haistoi" ;
|
||||
spit_V = regV "sylkeä" ;
|
||||
split_V2 = dirV2 (reg2V "halkaista" "halkaisi") ;
|
||||
squeeze_V2 = dirV2 (regV "puristaa") ;
|
||||
stab_V2 = dirV2 (regV "pistää") ;
|
||||
stand_V = mkV "seistä" "seisoo" "seison" "seisovat" "seiskää" "seistään"
|
||||
"seisoi" "seisoin" "seisoisi" "seissyt" "seisty" "seistyn" ; --- *seisoivät
|
||||
suck_V2 = dirV2 (regV "imeä") ;
|
||||
swell_V = mkV "turvota" "turpoaa" "turpoan" "turpoavat" "turvotkaa" "turvotaan"
|
||||
"turposi" "turposin" "turpoaisi" "turvonnut" "turvottu" "turvotun" ;
|
||||
swim_V = reg3V "uida" "uin" "ui" ;
|
||||
think_V = reg3V "ajatella" "ajattelen" "ajatteli" ;
|
||||
throw_V2 = dirV2 (regV "heittää") ;
|
||||
tie_V2 = dirV2 (regV "sitoa") ;
|
||||
turn_V = regV "kääntyä" ;
|
||||
vomit_V = regV "oksentaa" ;
|
||||
walk_V = walk_V ;
|
||||
wash_V2 = dirV2 (regV "pestä") ;
|
||||
wipe_V2 = dirV2 (regV "pyyhkiä") ;
|
||||
|
||||
oper
|
||||
regA = regADeg ; ----
|
||||
|
||||
|
||||
}
|
||||
@@ -1,259 +0,0 @@
|
||||
--# -path=.:../french:../common:../abstract:../../prelude:../romance
|
||||
|
||||
concrete SwadeshFre of Swadesh = CatFre
|
||||
** open PhonoFre, MorphoFre, LangFre, ParadigmsFre, IrregFre, Prelude in {
|
||||
|
||||
lincat
|
||||
MassN = N ;
|
||||
|
||||
lin
|
||||
|
||||
-- Pronouns
|
||||
|
||||
i_NP = i_Pron ;
|
||||
youSg_NP = youSg_Pron ;
|
||||
he_NP = he_Pron ;
|
||||
we_NP = we_Pron ;
|
||||
youPl_NP = youPl_Pron ;
|
||||
they_NP = they_Pron ;
|
||||
whoPl_IP = whoPl_IP ;
|
||||
whoSg_IP = whoSg_IP ;
|
||||
whatPl_IP = whatPl_IP ;
|
||||
whatSg_IP = whatSg_IP ;
|
||||
|
||||
-- Determiners
|
||||
|
||||
this_Det = DetSg (SgQuant this_Quant) NoOrd ;
|
||||
that_Det = DetSg (SgQuant that_Quant) NoOrd ;
|
||||
all_Det = {
|
||||
s = \\g,c => prepCase c ++ genForms "tous" "toutes" ! g ++ "les" ;
|
||||
n = Pl
|
||||
} ;
|
||||
many_Det = many_Det ;
|
||||
some_Det = someSg_Det ;
|
||||
few_Det = {s = \\g,c => prepCase c ++ "peu" ++ elisDe ; n = Pl} ;
|
||||
other_Det = {
|
||||
s = \\g,c => prepCase c ++ "d'autres" ; -- de d'autres
|
||||
n = Pl
|
||||
} ;
|
||||
|
||||
left_Ord = mkOrd (regA "gauche") ;
|
||||
right_Ord = mkOrd (regA "droite") ;
|
||||
|
||||
oper
|
||||
mkOrd : A -> Ord ;
|
||||
mkOrd x = {s = \\ag => x.s ! Posit ! AF ag.g ag.n; lock_Ord = <> } ;
|
||||
|
||||
lin
|
||||
|
||||
-- Adverbs
|
||||
|
||||
here_Adv = here_Adv;
|
||||
there_Adv = there_Adv;
|
||||
where_IAdv = where_IAdv;
|
||||
when_IAdv = when_IAdv;
|
||||
how_IAdv = how_IAdv;
|
||||
far_Adv = mkAdv "loin" ;
|
||||
|
||||
-- not : Adv ; -- ?
|
||||
|
||||
-- Conjunctions
|
||||
|
||||
and_Conj = and_Conj ;
|
||||
|
||||
-- Prepositions
|
||||
|
||||
at_Prep = dative ;
|
||||
in_Prep = in_Prep ;
|
||||
with_Prep = with_Prep ;
|
||||
|
||||
-- Numerals
|
||||
|
||||
one_Det = DetSg one_Quant NoOrd ;
|
||||
two_Num = NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n2))))) ;
|
||||
three_Num = NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n3))))) ;
|
||||
four_Num = NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n4))))) ;
|
||||
five_Num = NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n5))))) ;
|
||||
|
||||
-- Adjectives
|
||||
|
||||
bad_A = bad_A ;
|
||||
big_A = big_A ;
|
||||
black_A = black_A ;
|
||||
cold_A = cold_A ;
|
||||
correct_A = regA "correct" ;
|
||||
dirty_A = dirty_A ;
|
||||
dry_A = (mkA "sec" "sèche" "secs" "sèches") ;
|
||||
dull_A = regA "émoussé" ;
|
||||
full_A = regA "plein" ;
|
||||
good_A = good_A ;
|
||||
green_A = green_A ;
|
||||
heavy_A = regA "lourd" ;
|
||||
long_A = long_A ;
|
||||
narrow_A = narrow_A ;
|
||||
near_A = regA "proche" ;
|
||||
new_A = new_A ;
|
||||
old_A = old_A ;
|
||||
red_A = red_A ;
|
||||
rotten_A = regA "pourri" ;
|
||||
round_A = regA "rond" ;
|
||||
sharp_A = regA "tranchant" ;
|
||||
short_A = short_A ;
|
||||
small_A = small_A ;
|
||||
smooth_A = regA "lisse" ;
|
||||
straight_A = regA "droite" ;
|
||||
thick_A = thick_A ;
|
||||
thin_A = thin_A ;
|
||||
warm_A = warm_A ;
|
||||
wet_A = regA "mouillé" ;
|
||||
white_A = white_A ;
|
||||
wide_A = regA "large" ;
|
||||
yellow_A = yellow_A ;
|
||||
|
||||
-- Nouns
|
||||
|
||||
animal_N = regN "animal" ;
|
||||
ashes_N = regGenN "cendre" masculine ;
|
||||
back_N = regN "dos" ;
|
||||
bark_N = regN "écorce" ;
|
||||
belly_N = regGenN "ventre" masculine ;
|
||||
bird_N = bird_N;
|
||||
blood_N = regN "sang" ;
|
||||
bone_N = regN "os" ;
|
||||
breast_N = regN "sein" ; --- poitrine
|
||||
child_N = child_N ;
|
||||
cloud_N = regGenN "nuage" masculine ;
|
||||
day_N = regN "jour" ;
|
||||
dog_N = dog_N ;
|
||||
dust_N = regN "poussière" ;
|
||||
ear_N = regN "oreille" ;
|
||||
earth_N = regN "terre" ;
|
||||
egg_N = regN "oeuf" ;
|
||||
eye_N = mkN "oeil" "yeux" masculine ;
|
||||
fat_N = regN "graisse" ;
|
||||
father_N = UseN2 father_N2 ;
|
||||
feather_N = regN "plume" ;
|
||||
fingernail_N = regGenN "ongle" masculine ;
|
||||
fire_N = regN "feu" ;
|
||||
fish_N = fish_N ;
|
||||
flower_N = regGenN "fleur" feminine ;
|
||||
fog_N = regN "brouillard" ;
|
||||
foot_N = regN "pied" ;
|
||||
forest_N = regGenN "forêt" feminine ;
|
||||
fruit_N = fruit_N ;
|
||||
grass_N = regN "herbe" ;
|
||||
guts_N = regN "entraille" ;
|
||||
hair_N = regN "cheveu" ;
|
||||
hand_N = regGenN "main" feminine ;
|
||||
head_N = regN "tête" ;
|
||||
heart_N = regN "coeur" ;
|
||||
horn_N = regGenN "corne" masculine ;
|
||||
husband_N = regN "mari" ;
|
||||
ice_N = regN "glace" ;
|
||||
knee_N = regN "genou" ;
|
||||
lake_N = lake_N ;
|
||||
leaf_N = regN "feuille" ;
|
||||
leg_N = regN "jambe" ;
|
||||
liver_N = regGenN "foie" masculine ;
|
||||
louse_N = regN "pou" ;
|
||||
man_N = man_N ;
|
||||
meat_N = meat_N ;
|
||||
moon_N = moon_N ;
|
||||
mother_N = UseN2 mother_N2 ;
|
||||
mountain_N = mountain_N ;
|
||||
mouth_N = regN "bouche" ;
|
||||
name_N = regN "nom" ;
|
||||
neck_N = mkN "cou" "cous" masculine ;
|
||||
night_N = regGenN "nuit" feminine ;
|
||||
nose_N = regN "nez" ;
|
||||
person_N = regN "personne" ;
|
||||
rain_N = regN "pluie" ;
|
||||
river_N = river_N ;
|
||||
road_N = regN "route" ;
|
||||
root_N = regN "racine" ;
|
||||
rope_N = regN "corde" ;
|
||||
salt_N = regN "sel" ;
|
||||
sand_N = regGenN "sable" masculine ;
|
||||
sea_N = sea_N ;
|
||||
seed_N = regN "graine" ;
|
||||
skin_N = regN "peau" ;
|
||||
sky_N = mkN "ciel" "cieux" masculine ;
|
||||
smoke_N = regN "fumée" ;
|
||||
snake_N = snake_N ;
|
||||
snow_N = regN "neige" ;
|
||||
star_N = star_N ;
|
||||
stick_N = regN "bâton" ;
|
||||
stone_N = stone_N ;
|
||||
sun_N = sun_N ;
|
||||
tail_N = regN "queue" ;
|
||||
tongue_N = regN "langue" ;
|
||||
tooth_N = regGenN "dent" feminine ;
|
||||
tree_N = tree_N ;
|
||||
water_N = water_N ;
|
||||
wife_N = regN "femme" ;
|
||||
wind_N = regN "vent" ;
|
||||
wing_N = regN "aile" ;
|
||||
woman_N = woman_N ;
|
||||
worm_N = regN "ver" ;
|
||||
year_N = regN "an" ; --- année
|
||||
|
||||
-- Verbs
|
||||
|
||||
bite_V = ( mordre_V2) ;
|
||||
blow_V = regV "souffler" ;
|
||||
breathe_V2 = dirV2 (regV "respirer") ;
|
||||
burn_V = regV "brûler" ;
|
||||
come_V = venir_V ;
|
||||
count_V2 = dirV2 (regV "conter") ;
|
||||
cut_V2 = dirV2 (regV "tailler") ;
|
||||
die_V = mourir_V ;
|
||||
dig_V = regV "creuser" ;
|
||||
drink_V = ( boire_V2) ;
|
||||
eat_V2 = dirV2 (regV "manger") ;
|
||||
fall_V = regV "tomber" ;
|
||||
fear_V = ( craindre_V2) ;
|
||||
fight_V2 = dirV2 (regV "lutter") ;
|
||||
float_V = regV "flotter" ;
|
||||
flow_V = regV "couler" ;
|
||||
fly_V = regV "voler" ;
|
||||
freeze_V = reg3V "geler" "gèle" "gèlera" ;
|
||||
give_V = dirdirV3 (regV "donner") ;
|
||||
hear_V = ( entendre_V2) ;
|
||||
hit_V2 = dirV2 (regV "frapper") ;
|
||||
hold_V = ( tenir_V2) ;
|
||||
hunt_V2 = dirV2 (regV "chasser") ;
|
||||
kill_V2 = dirV2 (regV "tuer") ;
|
||||
know_V = ( connaître_V2) ;
|
||||
laugh_V = rire_V2 ;
|
||||
lie_V = reflV étendre_V2 ;
|
||||
live_V = vivre_V2 ;
|
||||
play_V = regV "jouer" ;
|
||||
pull_V2 = dirV2 (regV "tirer") ;
|
||||
push_V2 = dirV2 (regV "pousser") ;
|
||||
rub_V2 = dirV2 (regV "frotter") ;
|
||||
say_V = dire_V2 ;
|
||||
scratch_V2 = dirV2 (regV "gratter") ;
|
||||
see_V = ( voir_V2) ;
|
||||
sew_V = coudre_V2 ;
|
||||
sing_V = regV "chanter" ;
|
||||
sit_V = reflV asseoir_V2 ;
|
||||
sleep_V = dormir_V2 ;
|
||||
smell_V = v2V ( sentir_V2) ;
|
||||
spit_V = regV "cracher" ;
|
||||
split_V = ( fendre_V2) ;
|
||||
squeeze_V2 = dirV2 (regV "serrer") ;
|
||||
stab_V2 = dirV2 (regV "poignarder") ;
|
||||
stand_V = reflV (reg3V "lever" "lève" "lèvera") ;
|
||||
suck_V2 = dirV2 (regV "sucer") ;
|
||||
swell_V = regV "gonfler" ;
|
||||
swim_V = regV "nager" ;
|
||||
think_V = regV "penser" ;
|
||||
throw_V2 = dirV2 (regV "jeter") ;
|
||||
tie_V2 = dirV2 (regV "lier") ;
|
||||
turn_V = regV "tourner" ;
|
||||
vomit_V = regV "vomir" ;
|
||||
walk_V = regV "marcher" ;
|
||||
wash_V2 = dirV2 (regV "laver") ;
|
||||
wipe_V2 = dirV2 (regV "essuyer") ;
|
||||
|
||||
}
|
||||
@@ -1,248 +0,0 @@
|
||||
--# -path=.:../abstract:../common:../german:../../prelude
|
||||
|
||||
concrete SwadeshGer of Swadesh = CatGer
|
||||
** open MorphoGer, LangGer, ParadigmsGer, Prelude in {
|
||||
|
||||
lincat
|
||||
MassN = N ;
|
||||
|
||||
lin
|
||||
|
||||
-- Pronouns
|
||||
|
||||
i_NP = i_Pron ;
|
||||
youSg_NP = youSg_Pron ;
|
||||
he_NP = he_Pron ;
|
||||
we_NP = we_Pron ;
|
||||
youPl_NP = youPl_Pron ;
|
||||
they_NP = they_Pron ;
|
||||
whoPl_IP = whoPl_IP ;
|
||||
whoSg_IP = whoSg_IP ;
|
||||
whatPl_IP = whatPl_IP ;
|
||||
whatSg_IP = whatSg_IP ;
|
||||
|
||||
-- Determiners
|
||||
|
||||
this_Det = DetSg (SgQuant this_Quant) NoOrd ;
|
||||
that_Det = DetSg (SgQuant that_Quant) NoOrd ;
|
||||
-- all_Det = mkDeterminer Pl "all" ;
|
||||
many_Det = many_Det ;
|
||||
some_Det = someSg_Det ;
|
||||
-- few_Det = mkDeterminer Pl "few" ;
|
||||
-- other_Det = mkDeterminer Pl "other" ;
|
||||
|
||||
|
||||
-- left_Ord = regA "left" ;
|
||||
-- right_Ord = regA "right" ;
|
||||
|
||||
-- Adverbs
|
||||
|
||||
here_Adv = here_Adv;
|
||||
there_Adv = there_Adv;
|
||||
where_IAdv = where_IAdv;
|
||||
when_IAdv = when_IAdv;
|
||||
how_IAdv = how_IAdv;
|
||||
-- far_Adv = mkAdv "far" ;
|
||||
|
||||
-- not : Adv ; -- ?
|
||||
|
||||
-- Conjunctions
|
||||
|
||||
and_Conj = and_Conj ;
|
||||
|
||||
-- Prepositions
|
||||
|
||||
-- at_Prep = ss "at" ;
|
||||
-- in_Prep = ss "in" ;
|
||||
-- with_Prep = ss "with" ;
|
||||
|
||||
-- Numerals
|
||||
|
||||
one_Det = DetSg one_Quant NoOrd ;
|
||||
two_Num = NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n2))))) ;
|
||||
three_Num = NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n3))))) ;
|
||||
four_Num = NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n4))))) ;
|
||||
five_Num = NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n5))))) ;
|
||||
|
||||
-- Adjectives
|
||||
|
||||
bad_A = bad_A ;
|
||||
big_A = big_A ;
|
||||
black_A = black_A ;
|
||||
cold_A = cold_A ;
|
||||
-- correct_A = (regA "correct") ;
|
||||
dirty_A = dirty_A ;
|
||||
-- dry_A = regA "dry" ;
|
||||
-- dull_A = regA "dull" ;
|
||||
-- full_A = regA "full" ;
|
||||
good_A = good_A ;
|
||||
green_A = green_A ;
|
||||
-- heavy_A = regA "heavy" ;
|
||||
long_A = long_A ;
|
||||
narrow_A = narrow_A ;
|
||||
-- near_A = regA "near" ;
|
||||
new_A = new_A ;
|
||||
old_A = old_A ;
|
||||
red_A = red_A ;
|
||||
-- rotten_A = (regA "rotten") ;
|
||||
-- round_A = regA "round" ;
|
||||
-- sharp_A = regA "sharp" ;
|
||||
short_A = short_A ;
|
||||
small_A = small_A ;
|
||||
-- smooth_A = regA "smooth" ;
|
||||
-- straight_A = regA "straight" ;
|
||||
thick_A = thick_A ;
|
||||
thin_A = thin_A ;
|
||||
warm_A = warm_A ;
|
||||
-- wet_A = regA "wet" ; ----
|
||||
white_A = white_A ;
|
||||
-- wide_A = regA "wide" ;
|
||||
yellow_A = yellow_A ;
|
||||
|
||||
-- Nouns
|
||||
|
||||
-- animal_N = regN "animal" ;
|
||||
-- ashes_N = regN "ash" ; -- FIXME: plural only?
|
||||
-- back_N = regN "back" ;
|
||||
-- bark_N = regN "bark" ;
|
||||
-- belly_N = regN "belly" ;
|
||||
bird_N = bird_N;
|
||||
-- blood_N = regN "blood" ;
|
||||
-- bone_N = regN "bone" ;
|
||||
-- breast_N = regN "breast" ;
|
||||
child_N = child_N ;
|
||||
-- cloud_N = regN "cloud" ;
|
||||
-- day_N = regN "day" ;
|
||||
dog_N = dog_N ;
|
||||
-- dust_N = regN "dust" ;
|
||||
-- ear_N = regN "ear" ;
|
||||
-- earth_N = regN "earth" ;
|
||||
-- egg_N = regN "egg" ;
|
||||
-- eye_N = regN "eye" ;
|
||||
-- fat_N = regN "fat" ;
|
||||
--- father_N = UseN2 father_N2 ;
|
||||
-- feather_N = regN "feather" ;
|
||||
-- fingernail_N = regN "fingernail" ;
|
||||
-- fire_N = regN "fire" ;
|
||||
fish_N = fish_N ;
|
||||
-- flower_N = regN "flower" ;
|
||||
-- fog_N = regN "fog" ;
|
||||
-- foot_N = mk2N "foot" "feet" ;
|
||||
-- forest_N = regN "forest" ;
|
||||
fruit_N = fruit_N ;
|
||||
-- grass_N = regN "grass" ;
|
||||
-- guts_N = regN "gut" ; -- FIXME: no singular
|
||||
-- hair_N = regN "hair" ;
|
||||
-- hand_N = regN "hand" ;
|
||||
-- head_N = regN "head" ;
|
||||
-- heart_N = regN "heart" ;
|
||||
-- horn_N = regN "horn" ;
|
||||
-- husband_N = genderN masculine (regN "husband") ;
|
||||
-- ice_N = regN "ice" ;
|
||||
-- knee_N = regN "knee" ;
|
||||
lake_N = lake_N ;
|
||||
-- leaf_N = mk2N "leaf" "leaves" ;
|
||||
-- leg_N = regN "leg" ;
|
||||
-- liver_N = regN "liver" ;
|
||||
-- louse_N = mk2N "louse" "lice" ;
|
||||
man_N = man_N ;
|
||||
meat_N = meat_N ;
|
||||
moon_N = moon_N ;
|
||||
--- mother_N = UseN2 mother_N2 ;
|
||||
mountain_N = mountain_N ;
|
||||
-- mouth_N = regN "mouth" ;
|
||||
-- name_N = regN "name" ;
|
||||
-- neck_N = regN "neck" ;
|
||||
-- night_N = regN "night" ;
|
||||
-- nose_N = regN "nose" ;
|
||||
-- person_N = genderN human (regN "person") ;
|
||||
-- rain_N = regN "rain" ;
|
||||
river_N = river_N ;
|
||||
-- road_N = regN "road" ;
|
||||
-- root_N = regN "root" ;
|
||||
-- rope_N = regN "rope" ;
|
||||
-- salt_N = regN "salt" ;
|
||||
-- sand_N = regN "sand" ;
|
||||
sea_N = sea_N ;
|
||||
-- seed_N = regN "seed" ;
|
||||
-- skin_N = regN "skin" ;
|
||||
-- sky_N = regN "sky" ;
|
||||
-- smoke_N = regN "smoke" ;
|
||||
snake_N = snake_N ;
|
||||
-- snow_N = regN "snow" ;
|
||||
star_N = star_N ;
|
||||
-- stick_N = regN "stick" ;
|
||||
stone_N = stone_N ;
|
||||
sun_N = sun_N ;
|
||||
-- tail_N = regN "tail" ;
|
||||
-- tongue_N = regN "tongue" ;
|
||||
-- tooth_N = mk2N "tooth" "teeth" ;
|
||||
tree_N = tree_N ;
|
||||
water_N = water_N ;
|
||||
-- wife_N = genderN feminine (mk2N "wife" "wives") ;
|
||||
-- wind_N = regN "wind" ;
|
||||
-- wing_N = regN "wing" ;
|
||||
woman_N = woman_N ;
|
||||
-- worm_N = regN "worm" ;
|
||||
-- year_N = regN "year" ;
|
||||
|
||||
-- Verbs
|
||||
|
||||
-- bite_V = bite_V ;
|
||||
-- blow_V = blow_V ;
|
||||
-- breathe_V2 = dirV2 (regV "breathe") ;
|
||||
-- burn_V = burn_V ;
|
||||
come_V = come_V ;
|
||||
-- count_V2 = dirV2 (regV "count") ;
|
||||
-- cut_V2 = dirV2 cut_V ;
|
||||
die_V = die_V ;
|
||||
-- dig_V = dig_V ;
|
||||
drink_V = drink_V2 ;
|
||||
eat_V = eat_V2 ;
|
||||
-- fall_V = fall_V ;
|
||||
-- fear_V2 = dirV2 (regV "fear") ;
|
||||
-- fight_V2 = dirV2 fight_V ;
|
||||
-- float_V = regV "float" ;
|
||||
-- flow_V = regV "flow" ;
|
||||
-- fly_V = fly_V ;
|
||||
-- freeze_V = freeze_V ;
|
||||
-- give_V = dirdirV3 give_V ;
|
||||
hear_V = hear_V2 ;
|
||||
-- hit_V2 = dirV2 hit_V ;
|
||||
-- hold_V2 = dirV2 hold_V ;
|
||||
-- hunt_V2 = dirV2 (regV "hunt") ;
|
||||
-- kill_V2 = dirV2 (regV "kill") ;
|
||||
-- know_V2 = dirV2 know_V ;
|
||||
-- laugh_V = regV "laugh" ;
|
||||
-- lie_V = lie_V ;
|
||||
live_V = live_V ;
|
||||
-- play_V = regV "play" ;
|
||||
-- pull_V2 = dirV2 (regV "pull") ;
|
||||
-- push_V2 = dirV2 (regV "push") ;
|
||||
-- rub_V2 = dirV2 (regDuplV "rub") ;
|
||||
-- say_V = say_V ;
|
||||
-- scratch_V2 = dirV2 (regV "scratch") ;
|
||||
-- see_V = see_V2 ;
|
||||
-- sew_V = sew_V ;
|
||||
-- sing_V = sing_V ;
|
||||
-- sit_V = sit_V ;
|
||||
sleep_V = sleep_V ;
|
||||
-- smell_V2 = dirV2 (regV "smell") ;
|
||||
-- spit_V = spit_V ;
|
||||
-- split_V2 = dirV2 split_V ;
|
||||
-- squeeze_V2 = dirV2 (regV "squeeze") ;
|
||||
-- stab_V2 = dirV2 (regDuplV "stab") ;
|
||||
-- stand_V = stand_V ;
|
||||
-- suck_V2 = dirV2 (regV "suck") ;
|
||||
-- swell_V = swell_V ;
|
||||
-- swim_V = swim_V ;
|
||||
-- think_V = think_V ;
|
||||
-- throw_V2 = dirV2 throw_V ;
|
||||
-- tie_V2 = dirV2 (regV "tie") ;
|
||||
-- turn_V = regV "turn" ;
|
||||
-- vomit_V = regV "vomit" ;
|
||||
walk_V = walk_V ;
|
||||
-- wash_V2 = dirV2 (regV "wash") ;
|
||||
-- wipe_V2 = dirV2 (regV "wipe") ;
|
||||
|
||||
}
|
||||
@@ -1,258 +0,0 @@
|
||||
--# -path=.:../italian:../common:../abstract:../../prelude:../romance
|
||||
|
||||
concrete SwadeshIta of Swadesh = CatIta
|
||||
** open PhonoIta, MorphoIta, LangIta, ParadigmsIta, BeschIta, Prelude in {
|
||||
|
||||
lincat
|
||||
MassN = N ;
|
||||
|
||||
lin
|
||||
-- Pronouns
|
||||
|
||||
i_NP = i_Pron ;
|
||||
youSg_NP = youSg_Pron ;
|
||||
he_NP = he_Pron ;
|
||||
we_NP = we_Pron ;
|
||||
youPl_NP = youPl_Pron ;
|
||||
they_NP = they_Pron ;
|
||||
whoPl_IP = whoPl_IP ;
|
||||
whoSg_IP = whoSg_IP ;
|
||||
whatPl_IP = whatPl_IP ;
|
||||
whatSg_IP = whatSg_IP ;
|
||||
|
||||
-- Determiners
|
||||
|
||||
this_Det = DetSg (SgQuant this_Quant) NoOrd ;
|
||||
that_Det = DetSg (SgQuant that_Quant) NoOrd ;
|
||||
all_Det = {
|
||||
s = \\g,c => prepCase c ++ genForms ["tutti i"] ["tutte le"] ! g ;
|
||||
n = Pl
|
||||
} ;
|
||||
many_Det = many_Det ;
|
||||
some_Det = someSg_Det ;
|
||||
few_Det = {s = \\g,c => prepCase c ++ genForms "pochi" "poche" ! g ; n = Pl} ;
|
||||
other_Det = {
|
||||
s = \\g,c => prepCase c ++ genForms "altri" "altre" ! g ;
|
||||
n = Pl
|
||||
} ;
|
||||
|
||||
left_Ord = mkOrd (regA "sinistro") ;
|
||||
right_Ord = mkOrd (regA "destro") ;
|
||||
|
||||
oper
|
||||
mkOrd : A -> Ord ;
|
||||
mkOrd x = {s = \\ag => x.s ! Posit ! AF ag.g ag.n; lock_Ord = <> } ;
|
||||
|
||||
lin
|
||||
|
||||
-- Adverbs
|
||||
|
||||
here_Adv = here_Adv;
|
||||
there_Adv = there_Adv;
|
||||
where_IAdv = where_IAdv;
|
||||
when_IAdv = when_IAdv;
|
||||
how_IAdv = how_IAdv;
|
||||
far_Adv = mkAdv "lontano" ;
|
||||
|
||||
-- not : Adv ; -- ?
|
||||
|
||||
-- Conjunctions
|
||||
|
||||
and_Conj = and_Conj ;
|
||||
|
||||
-- Prepositions
|
||||
|
||||
at_Prep = dative ;
|
||||
in_Prep = in_Prep ;
|
||||
with_Prep = with_Prep ;
|
||||
|
||||
-- Numerals
|
||||
|
||||
one_Det = DetSg one_Quant NoOrd ;
|
||||
two_Num = NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n2))))) ;
|
||||
three_Num = NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n3))))) ;
|
||||
four_Num = NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n4))))) ;
|
||||
five_Num = NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n5))))) ;
|
||||
|
||||
-- Adjectives
|
||||
|
||||
bad_A = bad_A ;
|
||||
big_A = big_A ;
|
||||
black_A = black_A ;
|
||||
cold_A = cold_A ;
|
||||
correct_A = regA "corretto" ;
|
||||
dirty_A = dirty_A ;
|
||||
dry_A = regA "secco" ;
|
||||
dull_A = regA "noioso" ;
|
||||
full_A = regA "pieno" ;
|
||||
good_A = good_A ;
|
||||
green_A = green_A ;
|
||||
heavy_A = regA "pesante" ;
|
||||
long_A = long_A ;
|
||||
narrow_A = narrow_A ;
|
||||
near_A = regA "vicino" ;
|
||||
new_A = new_A ;
|
||||
old_A = old_A ;
|
||||
red_A = red_A ;
|
||||
rotten_A = regA "marcio" ;
|
||||
round_A = regA "rotondo" ;
|
||||
sharp_A = regA "aguzzo" ;
|
||||
short_A = short_A ;
|
||||
small_A = small_A ;
|
||||
smooth_A = regA "liscio" ;
|
||||
straight_A = regA "diretto" ;
|
||||
thick_A = thick_A ;
|
||||
thin_A = thin_A ;
|
||||
warm_A = warm_A ;
|
||||
wet_A = regA "bagnato" ;
|
||||
white_A = white_A ;
|
||||
wide_A = regA "largo" ;
|
||||
yellow_A = yellow_A ;
|
||||
|
||||
-- Nouns
|
||||
|
||||
animal_N = regN "animale" ;
|
||||
ashes_N = regN "cenere" ;
|
||||
back_N = regN "schiena" ;
|
||||
bark_N = regN "corteccia" ;
|
||||
belly_N = regN "pancia" ;
|
||||
bird_N = bird_N;
|
||||
blood_N = regN "sangue" ;
|
||||
bone_N = regN "osso" ;
|
||||
breast_N = regN "seno" ;
|
||||
child_N = child_N ;
|
||||
cloud_N = regN "nuvola" ;
|
||||
day_N = regN "giorno" ;
|
||||
dog_N = dog_N ;
|
||||
dust_N = regN "polvere" ;
|
||||
ear_N = regN "orecchio" ;
|
||||
earth_N = regN "terra" ;
|
||||
egg_N = mkN "uovo" "uova" masculine ; -- fem in Pl
|
||||
eye_N = regN "occhio" ;
|
||||
fat_N = regN "grasso" ;
|
||||
father_N = UseN2 father_N2 ;
|
||||
feather_N = regN "piuma" ;
|
||||
fingernail_N = regN "unghia" ;
|
||||
fire_N = regN "fuoco" ;
|
||||
fish_N = fish_N ;
|
||||
flower_N = regN "fiore" ;
|
||||
fog_N = regN "nebbia" ;
|
||||
foot_N = regN "piede" ;
|
||||
forest_N = regN "bosco" ;
|
||||
fruit_N = fruit_N ;
|
||||
grass_N = regN "erba" ;
|
||||
guts_N = regN "intestino" ;
|
||||
hair_N = regN "capello" ;
|
||||
hand_N = femN (regN "mano") ;
|
||||
head_N = regN "testa" ;
|
||||
heart_N = regN "cuore" ;
|
||||
horn_N = regN "corno" ;
|
||||
husband_N = regN "marito" ;
|
||||
ice_N = regN "ghiaccio" ;
|
||||
knee_N = regN "ginocchio" ;
|
||||
lake_N = lake_N ;
|
||||
leaf_N = regN "foglia" ;
|
||||
leg_N = regN "gamba" ;
|
||||
liver_N = regN "fegato" ;
|
||||
louse_N = regN "pidocchio" ;
|
||||
man_N = man_N ;
|
||||
meat_N = meat_N ;
|
||||
moon_N = moon_N ;
|
||||
mother_N = UseN2 mother_N2 ;
|
||||
mountain_N = mountain_N ;
|
||||
mouth_N = regN "bocca" ;
|
||||
name_N = regN "nome" ;
|
||||
neck_N = regN "collo" ;
|
||||
night_N = femN (regN "notte") ;
|
||||
nose_N = regN "naso" ;
|
||||
person_N = regN "persona" ;
|
||||
rain_N = regN "pioggia" ;
|
||||
river_N = river_N ;
|
||||
road_N = regN "strada" ;
|
||||
root_N = femN (regN "radice") ;
|
||||
rope_N = regN "corda" ;
|
||||
salt_N = regN "sale" ;
|
||||
sand_N = regN "sabbia" ;
|
||||
sea_N = sea_N ;
|
||||
seed_N = regN "seme" ;
|
||||
skin_N = femN (regN "pelle") ;
|
||||
sky_N = regN "cielo" ;
|
||||
smoke_N = regN "fumo" ;
|
||||
snake_N = snake_N ;
|
||||
snow_N = femN (regN "neve") ;
|
||||
star_N = star_N ;
|
||||
stick_N = regN "bastone" ;
|
||||
stone_N = stone_N ;
|
||||
sun_N = sun_N ;
|
||||
tail_N = regN "coda" ;
|
||||
tongue_N = regN "lingua" ;
|
||||
tooth_N = regN "dente" ;
|
||||
tree_N = tree_N ;
|
||||
water_N = water_N ;
|
||||
wife_N = regN "donna" ;
|
||||
wind_N = regN "vento" ;
|
||||
wing_N = regN "ala" ;
|
||||
woman_N = woman_N ;
|
||||
worm_N = regN "verme" ;
|
||||
year_N = regN "anno" ;
|
||||
|
||||
-- Verbs
|
||||
|
||||
bite_V2 = dirV2 (verboV (esplodere_51 "mordere")) ;
|
||||
blow_V = regV "soffiare" ;
|
||||
breathe_V2 = dirV2 (regV "respirare") ;
|
||||
burn_V = regV "bruciare" ;
|
||||
come_V = come_V ;
|
||||
count_V2 = dirV2 (regV "contare") ;
|
||||
cut_V2 = dirV2 (regV "tagliare") ;
|
||||
die_V = die_V ;
|
||||
dig_V = regV "scavare" ;
|
||||
drink_V2 = dirV2 (drink_V2) ;
|
||||
eat_V2 = dirV2 (regV "mangiare") ;
|
||||
fall_V = essereV (verboV (cadere_28 "cadere")) ;
|
||||
fear_V2 = dirV2 (fear_VS) ;
|
||||
fight_V2 = dirV2 (regV "lottare") ;
|
||||
float_V = regV "galleggiare" ;
|
||||
flow_V = verboV (finire_100 "fluire") ;
|
||||
fly_V = regV "volare" ;
|
||||
freeze_V = regV "gelare" ;
|
||||
give_V = dirdirV3 (verboV (dare_15 "dare")) ;
|
||||
hear_V2 = dirV2 (hear_V2) ;
|
||||
hit_V2 = dirV2 (regV "colpire") ;
|
||||
hold_V2 = dirV2 (verboV (venire_110 "tenire")) ;
|
||||
hunt_V2 = dirV2 (regV "cacciare") ;
|
||||
kill_V2 = dirV2 (verboV (ridere_74 "uccidere")) ;
|
||||
know_V2 = dirV2 (know_V2) ;
|
||||
laugh_V = verboV (ridere_74 "ridere") ;
|
||||
lie_V = verboV (piacere_64 "giacere") ;
|
||||
live_V = live_V ;
|
||||
play_V = regV "giocare" ;
|
||||
pull_V2 = dirV2 (regV "tirare") ;
|
||||
push_V2 = dirV2 (verboV (cingere_31 "spingere")) ;
|
||||
rub_V2 = dirV2 (regV "strofinare") ;
|
||||
say_V = say_VS ;
|
||||
scratch_V2 = dirV2 (regV "graffiare") ;
|
||||
see_V2 = dirV2 (see_V2) ;
|
||||
sew_V = verboV (cucire_103 "cucire") ;
|
||||
sing_V = regV "cantare" ;
|
||||
sit_V = reflV (verboV (sedere_84 "sedere")) ;
|
||||
sleep_V = sleep_V ;
|
||||
smell_V = verboV (sentire_99 "sentire") ;
|
||||
spit_V = regV "sputare" ;
|
||||
split_V2 = dirV2 (verboV (ridere_74 "dividere")) ;
|
||||
squeeze_V2 = dirV2 (verboV (temere_20 "spremere")) ;
|
||||
stab_V2 = dirV2 (regV "pugnalare") ;
|
||||
stand_V = verboV (stare_16 "stare") ; ---- in piedi
|
||||
suck_V2 = dirV2 (regV "succhiare") ;
|
||||
swell_V = regV "gonfiare" ;
|
||||
swim_V = regV "nuotare" ;
|
||||
think_V = regV "pensare" ;
|
||||
throw_V2 = dirV2 (regV "gettare") ;
|
||||
tie_V2 = dirV2 (regV "legare") ;
|
||||
turn_V = regV "tornare" ;
|
||||
vomit_V = regV "vomitare" ;
|
||||
walk_V = regV "camminare" ;
|
||||
wash_V2 = dirV2 (regV "lavare") ;
|
||||
wipe_V2 = dirV2 (regV "asciugare") ;
|
||||
|
||||
}
|
||||
@@ -1,252 +0,0 @@
|
||||
--# -path=.:../norwegian:../common:../abstract:../scandinavian:../../prelude
|
||||
|
||||
concrete SwadeshNor of Swadesh = CatNor
|
||||
** open MorphoNor, LangNor, ParadigmsNor, IrregNor, Prelude in {
|
||||
|
||||
lincat
|
||||
MassN = N ;
|
||||
|
||||
lin
|
||||
|
||||
-- Pronouns
|
||||
|
||||
i_NP = i_Pron ;
|
||||
youSg_NP = youSg_Pron ;
|
||||
he_NP = he_Pron ;
|
||||
we_NP = we_Pron ;
|
||||
youPl_NP = youPl_Pron ;
|
||||
they_NP = they_Pron ;
|
||||
whoPl_IP = whoPl_IP ;
|
||||
whoSg_IP = whoSg_IP ;
|
||||
whatPl_IP = whatPl_IP ;
|
||||
whatSg_IP = whatSg_IP ;
|
||||
|
||||
-- Determiners
|
||||
|
||||
this_Det = DetSg (SgQuant this_Quant) NoOrd ;
|
||||
that_Det = DetSg (SgQuant that_Quant) NoOrd ;
|
||||
all_Det = {s = \\_,_ => "alle" ; n = Pl ; det = DDef Indef} ;
|
||||
many_Det = many_Det ;
|
||||
some_Det = someSg_Det ;
|
||||
few_Det = {s = \\_,_ => "få" ; n = Pl ; det = DDef Indef} ;
|
||||
other_Det = {s = \\_,_ => "andre" ; n = Pl ; det = DDef Indef} ;
|
||||
|
||||
left_Ord = {s = "venstre" ; isDet = True} ;
|
||||
right_Ord = {s = "høyre" ; isDet = True} ;
|
||||
|
||||
-- Adverbs
|
||||
|
||||
here_Adv = here_Adv ;
|
||||
there_Adv = there_Adv ;
|
||||
where_IAdv = where_IAdv ;
|
||||
when_IAdv = when_IAdv ;
|
||||
how_IAdv = how_IAdv ;
|
||||
|
||||
far_Adv = mkAdv "fjern" ;
|
||||
|
||||
-- not : Adv ; -- ?
|
||||
|
||||
-- Conjunctions
|
||||
|
||||
and_Conj = and_Conj ;
|
||||
|
||||
-- Prepositions
|
||||
|
||||
at_Prep = ss "ved" ;
|
||||
in_Prep = ss "i" ;
|
||||
with_Prep = ss "med" ;
|
||||
|
||||
-- Numerals
|
||||
|
||||
one_Det = DetSg one_Quant NoOrd ;
|
||||
two_Num = NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n2))))) ;
|
||||
three_Num = NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n3))))) ;
|
||||
four_Num = NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n4))))) ;
|
||||
five_Num = NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n5))))) ;
|
||||
|
||||
-- Adjectives
|
||||
|
||||
bad_A = bad_A ;
|
||||
big_A = big_A ;
|
||||
black_A = black_A ;
|
||||
cold_A = cold_A ;
|
||||
correct_A = regA "riktig" ;
|
||||
dirty_A = dirty_A ;
|
||||
dry_A = mk2A "tørr" "tørt" ;
|
||||
dull_A = regA "sløv" ;
|
||||
full_A = regA "full" ;
|
||||
good_A = good_A ;
|
||||
green_A = green_A ;
|
||||
heavy_A = irregADeg "tung" "tyngre" "tyngst" ;
|
||||
long_A = long_A ;
|
||||
narrow_A = narrow_A ;
|
||||
near_A = mkADeg "nære" "nære" "nære" "nærmere" "nærmest" ;
|
||||
new_A = new_A ;
|
||||
old_A = old_A ;
|
||||
red_A = red_A ;
|
||||
rotten_A = mk3ADeg "råtten" "råttent" "råtne" ;
|
||||
round_A = regA "rund" ;
|
||||
sharp_A = mk2A "kvass" "kvast" ;
|
||||
short_A = short_A ;
|
||||
small_A = small_A ;
|
||||
smooth_A = mk2A "slett" "slett" ;
|
||||
straight_A = regA "rak" ;
|
||||
thick_A = thick_A ;
|
||||
thin_A = thin_A ;
|
||||
warm_A = warm_A ;
|
||||
wet_A = regA "våt" ;
|
||||
white_A = white_A ;
|
||||
wide_A = regA "bred" ;
|
||||
yellow_A = yellow_A ;
|
||||
|
||||
|
||||
-- Nouns
|
||||
|
||||
animal_N = mk2N "dyr" "dyret" ;
|
||||
ashes_N = mk2N "aske" "aska" ;
|
||||
back_N = mk2N "rygg" "ryggen" ;
|
||||
bark_N = mk2N "bark" "barken" ;
|
||||
belly_N = mk2N "mage" "magen" ;
|
||||
bird_N = bird_N ;
|
||||
blood_N = mk2N "blod" "blodet" ;
|
||||
bone_N = mk2N "bein" "beinet" ;
|
||||
breast_N = mk2N "bryst" "brystet" ;
|
||||
child_N = child_N ;
|
||||
cloud_N = mk2N "sky" "skya" ;
|
||||
day_N = mk2N "dag" "dagen" ;
|
||||
dog_N = dog_N ;
|
||||
dust_N = mk2N "støv" "støvet" ;
|
||||
ear_N = mk2N "øre" "øret" ;
|
||||
earth_N = mk2N "jord" "jorda" ;
|
||||
egg_N = mk2N "egg" "egget" ;
|
||||
eye_N = mkN "øye" "øyet" "øyne" "øynene" ;
|
||||
fat_N = mk2N "fett" "fettet" ;
|
||||
father_N = mkN "far" "faren" "fedre" "fedrene" ;
|
||||
-- father_N = UseN2 father_N2 ;
|
||||
feather_N = mk2N "fjør" "fjøra" ;
|
||||
fingernail_N = mk2N "negl" "neglen" ;
|
||||
fire_N = mk2N "ild" "ilden" ;
|
||||
fish_N = fish_N ;
|
||||
flower_N = mk2N "blomst" "blomsten" ;
|
||||
fog_N = mk2N "tåke" "tåka" ;
|
||||
foot_N = mk2N "fot" "føtter" ;
|
||||
forest_N = mk2N "skog" "skogen" ;
|
||||
fruit_N = fruit_N ;
|
||||
grass_N = mk2N "gras" "graset" ;
|
||||
guts_N = mk2N "tarm" "tarmen" ; ---- involler
|
||||
hair_N = mk2N "hår" "håret" ;
|
||||
hand_N = mk2N "hånd" "hånden" ;
|
||||
|
||||
head_N = mk2N "hode" "hodet" ;
|
||||
heart_N = mk2N "hjerte" "hjertet" ;
|
||||
horn_N = mk2N "horn" "hornet" ;
|
||||
husband_N = mkN "ektemann" "ektemannen" "ektemenn" "ektemennen" ;
|
||||
ice_N = mk2N "is" "isen" ;
|
||||
knee_N = mkN "kne" "kneet" "knær" "knæne" ;
|
||||
lake_N = lake_N ;
|
||||
leaf_N = mk2N "løv" "løvet" ;
|
||||
leg_N = mk2N "bein" "beinet" ;
|
||||
liver_N = mkN "lever" "leveren" "levrer" "levrene" ;
|
||||
louse_N = mk2N "lus" "lusa" ;
|
||||
man_N = man_N ;
|
||||
meat_N = meat_N ;
|
||||
moon_N = moon_N ;
|
||||
mother_N = mkN "mor" "moren" "mødre" "mødrene" ;
|
||||
-- mother_N = UseN2 mother_N2 ;
|
||||
mountain_N = mountain_N ;
|
||||
mouth_N = mk2N "munn" "munnen" ;
|
||||
name_N = mk2N "navn" "navnet" ;
|
||||
neck_N = mk2N "nakke" "nakken" ;
|
||||
night_N = mkN "natt" "natta" "netter" "nettene" ;
|
||||
nose_N = mk2N "nese" "nesen" ;
|
||||
person_N = mk2N "person" "personen" ;
|
||||
rain_N = mk2N "regn" "regnet" ;
|
||||
river_N = river_N ;
|
||||
road_N = mk2N "vei" "veien" ;
|
||||
root_N = mkN "rot" "rota" "røtter" "røttene" ;
|
||||
rope_N = mk2N "tau" "tauet" ;
|
||||
salt_N = mk2N "salt" "saltet" ;
|
||||
sand_N = mk2N "sand" "sanden" ;
|
||||
sea_N = sea_N ;
|
||||
seed_N = mk2N "frø" "frøet" ;
|
||||
skin_N = mk2N "skinn" "skinnet" ;
|
||||
sky_N = mkN "himmel" "himmelen" "himler" "himlene" ;
|
||||
smoke_N = mk2N "røyk" "røyken" ;
|
||||
snake_N = snake_N ;
|
||||
snow_N = mk2N "snø" "snøen" ;
|
||||
star_N = star_N ;
|
||||
stick_N = mk2N "pinne" "pinnen" ;
|
||||
stone_N = stone_N ;
|
||||
sun_N = sun_N ;
|
||||
tail_N = mk2N "hale" "halen" ;
|
||||
tongue_N = mk2N "tunge" "tunga" ;
|
||||
tooth_N = mkN "tann" "tanna" "tenner" "tennene" ;
|
||||
tree_N = tree_N ;
|
||||
water_N = water_N ;
|
||||
wife_N = mk2N "kone" "kona" ;
|
||||
wind_N = mk2N "vind" "vinden" ;
|
||||
wing_N = mk2N "vinge" "vingen" ;
|
||||
woman_N = woman_N ;
|
||||
worm_N = mk2N "mark" "marken" ;
|
||||
year_N = mk2N "år" "året" ;
|
||||
|
||||
-- Verbs
|
||||
|
||||
bite_V2 = dirV2 (IrregNor.bite_V) ;
|
||||
blow_V = mk2V "blåse" "blåste" ;
|
||||
breathe_V2 = dirV2 (regV "puste") ;
|
||||
burn_V = brenne_V ;
|
||||
come_V = komme_V ;
|
||||
count_V2 = dirV2 (regV "regne") ;
|
||||
cut_V2 = dirV2 (skjære_V) ;
|
||||
die_V = dø_V ;
|
||||
dig_V = mk2V "grave" "gravde" ;
|
||||
drink_V2 = dirV2 (drikke_V) ;
|
||||
eat_V2 = dirV2 (mk2V "spise" "spiste") ;
|
||||
fall_V = falle_V ;
|
||||
fear_V2 = dirV2 (regV "frykte") ;
|
||||
fight_V2 = dirV2 (slåss_V) ;
|
||||
float_V = flyte_V ;
|
||||
flow_V = renne_V ;
|
||||
fly_V = fly_V ;
|
||||
freeze_V = fryse_V ;
|
||||
give_V = dirdirV3 gi_V ;
|
||||
hear_V2 = dirV2 (mk2V "høre" "hørde") ;
|
||||
hit_V2 = dirV2 (slå_V) ;
|
||||
hold_V2 = dirV2 (holde_V) ;
|
||||
hunt_V2 = dirV2 (regV "jakte") ;
|
||||
kill_V2 = dirV2 (mk2V "drepe" "drepte") ;
|
||||
know_V2 = dirV2 (vite_V) ;
|
||||
laugh_V = mkV "le" "ler" "les" "lo" "ledd" "le" ;
|
||||
lie_V = ligge_V ;
|
||||
live_V = mk2V "leve" "levde" ;
|
||||
play_V = mk2V "leke" "lekte" ;
|
||||
pull_V2 = dirV2 (dra_V) ;
|
||||
push_V2 = dirV2 (irregV "skyve" "skjøv" "skjøvet") ;
|
||||
rub_V2 = dirV2 (gni_V) ;
|
||||
say_V = si_V ;
|
||||
scratch_V2 = dirV2 (regV "klø") ;
|
||||
see_V2 = dirV2 (se_V) ;
|
||||
sew_V = mk2V "sy" "sydde" ;
|
||||
sing_V = synge_V ;
|
||||
sit_V = sitte_V ;
|
||||
sleep_V = sove_V ;
|
||||
smell_V = regV "lukte" ;
|
||||
spit_V = regV "spytte" ;
|
||||
split_V2 = dirV2 (mk2V "kløyve" "kløyvde") ;
|
||||
squeeze_V2 = dirV2 (mk2V "klemme" "klemte") ;
|
||||
stab_V2 = dirV2 (stikke_V) ;
|
||||
stand_V = stå_V ;
|
||||
suck_V2 = dirV2 (suge_V) ;
|
||||
swell_V = partV (regV "hovne") "opp" ;
|
||||
swim_V = regV "simme" ;
|
||||
think_V = mk2V "tenke" "tenkte" ;
|
||||
throw_V2 = dirV2 (regV "kaste") ;
|
||||
tie_V2 = dirV2 (regV "knytte") ;
|
||||
turn_V = mk2V "vende" "vendte" ;
|
||||
vomit_V = partV (regV "kaste") "opp" ;
|
||||
walk_V = gå_V ;
|
||||
wash_V2 = dirV2 (regV "vaske") ;
|
||||
wipe_V2 = dirV2 (regV "tørke") ;
|
||||
|
||||
}
|
||||
@@ -1,251 +0,0 @@
|
||||
--# -path=.:../abstract:../../prelude
|
||||
|
||||
concrete SwadeshRus of Swadesh = CatRus
|
||||
** open ResourceRus, SyntaxRus, ParadigmsRus,
|
||||
BasicRus, Prelude in {
|
||||
flags coding=utf8 ;
|
||||
|
||||
lincat
|
||||
MassN = N ;
|
||||
|
||||
lin
|
||||
|
||||
-- Pronouns
|
||||
|
||||
i_NP = i_Pron ;
|
||||
youSg_NP = youSg_Pron ;
|
||||
he_NP = he_Pron ;
|
||||
we_NP = we_Pron ;
|
||||
youPl_NP = youPl_Pron ;
|
||||
they_NP = they_Pron ;
|
||||
whoPl_IP = whoPl_IP ;
|
||||
whoSg_IP = whoSg_IP ;
|
||||
whatPl_IP = whatPl_IP ;
|
||||
whatSg_IP = whatSg_IP ;
|
||||
|
||||
-- Determiners
|
||||
|
||||
this_Det = this_Det ;
|
||||
that_Det = that_Det ;
|
||||
all_Det = all_NDet ;
|
||||
many_Det = many_Det ;
|
||||
some_Det = someSg_Det ;
|
||||
few_Det = adjInvar "мало" ** {n = Sg; g = PNoGen; c= Nom} ;
|
||||
other_Det = drugojDet ** {n = Sg; g = PNoGen; c= Nom} ;
|
||||
|
||||
-- left_Ord = AStaruyj "лев";
|
||||
-- right_Ord = AStaruyj "прав";
|
||||
|
||||
-- Adverbs
|
||||
|
||||
here_Adv = here_Adv ;
|
||||
there_Adv = there_Adv ;
|
||||
where_IAdv = where_IAdv ;
|
||||
when_IAdv = when_IAdv ;
|
||||
how_IAdv = how_IAdv ;
|
||||
|
||||
-- not : Adv ; -- ?
|
||||
|
||||
-- Conjunctions
|
||||
|
||||
and_Conj = and_Conj ;
|
||||
|
||||
-- Prepositions
|
||||
|
||||
at_Prep = { s2 = "у" ; c = genitive} ;
|
||||
in_Prep = { s2 = "в" ; c = prepositional} ;
|
||||
with_Prep = { s2 = "с" ; c = instructive} ;
|
||||
|
||||
-- Numerals
|
||||
|
||||
one_Det = DetSg one_Quant NoOrd ;
|
||||
two_Num = NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n2))))) ;
|
||||
three_Num = NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n3))))) ;
|
||||
four_Num = NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n4))))) ;
|
||||
five_Num = NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n5))))) ;
|
||||
|
||||
-- Adjectives
|
||||
|
||||
bad_A = bad_A ;
|
||||
big_A = big_A ;
|
||||
black_A = black_A ;
|
||||
cold_A = cold_A ;
|
||||
correct_A = mkA (AStaruyj "правильн") "правильнее";
|
||||
dirty_A = dirty_A ;
|
||||
dry_A = mkA (AMolodoj "сух") "суше";
|
||||
dull_A = mkA (AStaruyj "скучн") "скучнее";
|
||||
far_A = mkA (AKhoroshij "далекий") "дальше";
|
||||
full_A = mkA (AStaruyj "полн") "полнее";
|
||||
good_A = good_A ;
|
||||
green_A = green_A ;
|
||||
heavy_A = mkA (AStaruyj "тяжел") "тяжелее";
|
||||
long_A = long_A ;
|
||||
narrow_A = narrow_A ;
|
||||
near_A = mkA (AMalenkij "близк") "ближе";
|
||||
new_A = new_A ;
|
||||
old_A = old_A ;
|
||||
red_A = red_A ;
|
||||
rotten_A = mkA (AMolodoj "гнил") "гнилее";
|
||||
round_A = mkA (AStaruyj "кругл") "круглее";
|
||||
sharp_A = mkA (AStaruyj "остр") "острее";
|
||||
short_A = short_A ;
|
||||
small_A = small_A ;
|
||||
smooth_A = mkA (AMalenkij "гладк") "глаже";
|
||||
straight_A = mkA (AMolodoj "прям") "прямее";
|
||||
thick_A = thick_A ;
|
||||
thin_A = thin_A ;
|
||||
warm_A = warm_A ;
|
||||
wet_A = mkA (AStaruyj "мокр") "мокрее";
|
||||
white_A = white_A ;
|
||||
wide_A = mkA (AMalenkij "широк") "шире";
|
||||
yellow_A = yellow_A ;
|
||||
|
||||
|
||||
-- Nouns
|
||||
|
||||
animal_N = nZhivotnoe "животн" ;
|
||||
ashes_N = nPepel "пеп" ;
|
||||
back_N = nMashina "спин" ;
|
||||
bark_N = mkN "лай" "лая" "лаю" "лай" "лаем" "лае" "лаи" "лаев" "лаям" "лаи" "лаями" "лаях" masculine inanimate;
|
||||
belly_N = nTelefon "живот" ;
|
||||
bird_N = bird_N ;
|
||||
blood_N = nBol "кров" ;
|
||||
bone_N = nBol "кост" ;
|
||||
breast_N = nBol "грудь" ;
|
||||
child_N = child_N ;
|
||||
cloud_N = nChislo "облак" ;
|
||||
day_N = mkN "день" "дня" "дню" "день" "днём" "дне" "дни" "дней" "дням" "дни" "днями" "днях" masculine inanimate ;
|
||||
dog_N = dog_N ;
|
||||
dust_N = nBol "пыл" ;
|
||||
ear_N = nChislo "ухо" ;
|
||||
earth_N = nTetya "земл" ;
|
||||
egg_N = nChislo "яйц" ;
|
||||
eye_N = nAdres "глаз" ;
|
||||
fat_N = nBank "жир" ;
|
||||
father_N = mkN "отец" "отца" "отцу" "отца" "отцом" "отце" "отцы" "отцов" "отцам" "отцов" "отцами" "отцах" masculine animate ;
|
||||
-- father_N = UseN2 father_N2 ;
|
||||
feather_N = mkN "перо" "пера" "перу" "пера" "пером" "пере" "перья" "перьев" "перьям" "перьев" "перьями" "перьях" neuter inanimate ;
|
||||
fingernail_N = mkN "ноготь" "ногтя" "ногтю" "ногтя" "ногтем" "ногте" "ногти" "ногтей" "ногтям" "ногтей" "ногтями" "ногтях" masculine inanimate ;
|
||||
fire_N = mkN "огонь" "огня" "огню" "огня" "огнём" "огне" "огни" "огней" "огням" "огней" "огнями" "огнях" masculine inanimate ;
|
||||
fish_N = fish_N ;
|
||||
flower_N = mkN "отец" "отца" "отцу" "отца" "отцом" "отце" "отцы" "отцов" "отцам" "отцов" "отцами" "отцах" masculine animate ;
|
||||
fog_N = nTelefon "туман" ;
|
||||
foot_N = nTetya "ступн" ;
|
||||
forest_N = nAdres "лес" ;
|
||||
fruit_N = fruit_N ;
|
||||
grass_N = nMashina "трав" ;
|
||||
guts_N = nBol "внутренност" ;
|
||||
hair_N = nTelefon "волос" ;
|
||||
hand_N = nNoga "рук" ;
|
||||
head_N = nMashina "голов" ;
|
||||
heart_N = mkN "сердце" "сердца" "сердцу" "сердца" "сердцем" "сердце" "сердца" "сердец" "сердцам" "сердец" "сердцами" "сердцах" neuter inanimate;
|
||||
horn_N = nAdres "рог" ;
|
||||
husband_N = mkN "муж" "мужа" "мужу" "мужа" "мужем" "муже" "мужья" "мужей" "мужьям" "мужей" "мужьями" "мужьях" masculine animate ;
|
||||
ice_N = mkN "лёд" "льда" "льду" "льда" "льдом" "льде" "льды" "льдов" "льдам" "льдов" "льдами" "льдах" masculine inanimate ;
|
||||
knee_N = mkN "колено" "колена" "колену" "колена" "коленом" "колене" "колени" "колен" "коленам" "колен" "коленями" "коленях" neuter inanimate ;
|
||||
lake_N = lake_N ;
|
||||
leaf_N = nStul "лист" ;
|
||||
leg_N = nNoga "ног" ;
|
||||
liver_N = nBol "печен" ;
|
||||
louse_N = mkN "вошь" "вши" "вши" "вошь" "вошью" "вше" "вши" "вшей" "вшам" "вшей" "вшами" "вшах" feminine animate ;
|
||||
man_N = man_N ;
|
||||
meat_N = meat_N ;
|
||||
moon_N = moon_N ;
|
||||
mother_N = mkN "мать" "матери" "матери" "мать" "матерью" "матери" "матери" "матерей" "матерям" "матерей" "матерями" "матерях" feminine animate ;
|
||||
--- mother_N = UseN2 mother_N2 ;
|
||||
mountain_N = mountain_N ;
|
||||
mouth_N = mkN "рот" "рта" "рту" "рот" "ртом" "рте" "рты" "ртов" "ртам" "рты" "ртами" "ртах" masculine inanimate;
|
||||
name_N = mkN "имя" "имени" "имени" "имя" "именем" "имени" "имена" "имён" "именам" "имена" "именами" "именах" neuter inanimate;
|
||||
neck_N = nTetya "ше" ;
|
||||
night_N = nBol "ноч" ;
|
||||
nose_N = nTelefon "нос" ;
|
||||
person_N = nBol "личность" ;
|
||||
rain_N = nNol "дожд" ;
|
||||
river_N = river_N ;
|
||||
road_N = nNoga "дорог" ;
|
||||
root_N = nUroven "кор" ;
|
||||
rope_N = nNoga "веревк" ;
|
||||
salt_N = nBol "сол" ;
|
||||
sand_N = mkN "песок" "песка" "песку" "песок" "песком" "песке" "пески" "песков" "пескам" "песков" "песками" "песках" masculine inanimate ;
|
||||
sea_N = sea_N ;
|
||||
seed_N = mkN "семя" "семени" "семении" "семя" "семенем" "семени" "семена" "семян" "семенам" "семена" "семенами" "семенах" neuter inanimate ;
|
||||
skin_N = nEdinica "кож" ;
|
||||
sky_N = mkN "небо" "неба" "небу" "небо" "небом" "небе" "небеса" "небес" "небесам" "небес" "небесами" "небесах" neuter inanimate ;
|
||||
smoke_N = nTelefon "дым" ;
|
||||
snake_N = snake_N ;
|
||||
snow_N = nAdres "снег" ;
|
||||
star_N = star_N ;
|
||||
stick_N = nNoga "палк" ;
|
||||
stone_N = stone_N ;
|
||||
sun_N = sun_N ;
|
||||
tail_N = nTelefon "хвост" ;
|
||||
tongue_N = nBank "язык" ;
|
||||
tooth_N = nTelefon "зуб" ;
|
||||
tree_N = tree_N ;
|
||||
water_N = water_N ;
|
||||
wife_N = nMashina "жен" ;
|
||||
wind_N = mkN "ветер" "ветра" "ветру" "ветер" "ветром" "ветра" "ветров" "ветра" "ветрам" "ветров" "ветрами" "ветрах" masculine inanimate ;
|
||||
wing_N = mkN "крыло" "крыла" "крылу" "крыло" "крылом" "крыле" "крылья" "крыльев" "крыльям" "крылья" "крыльями" "крыльях" neuter inanimate ;
|
||||
woman_N = woman_N ;
|
||||
worm_N = nNol "черв" ;
|
||||
year_N = nAdres "год" ;
|
||||
|
||||
-- Verbs
|
||||
|
||||
bite_V = mkRegVerb imperfective first "куса" "ю" "кусал" "кусай" "кусать";
|
||||
blow_V = mkRegVerb imperfective first "ду" "ю" "дул" "дуй" "дуть" ;
|
||||
breathe_V = mkRegVerb imperfective second "дыш" "у" "дышал" "дыши" "дышать" ;
|
||||
burn_V = mkRegVerb imperfective second "гор" "ю" "горел" "гори" "гореть" ;
|
||||
come_V = come_V ;
|
||||
count_V = mkRegVerb imperfective first "счита" "ю" "считал" "считай" "считать" ;
|
||||
cut_V = mkRegVerb imperfective first "реж" "у" "резал" "режь" "резать" ;
|
||||
die_V = die_V ;
|
||||
dig_V = mkRegVerb imperfective first "копа" "ю" "копал" "копай" "копать" ;
|
||||
drink_V = mkRegVerb imperfective firstE "пь" "ю" "пил" "пей" "пить" ;
|
||||
eat_V = mkVerbum imperfective "ем" "ешь" "ест" "едим" "едите" "едят" "ел" "ешь" "есть" ;
|
||||
fall_V = mkRegVerb imperfective first "пада" "ю" "падал" "падай" "падать" ;
|
||||
fear_V = mkRegVerb imperfective second "бо" "ю" "боял" "бой" "боять" ;
|
||||
fight_V = mkRegVerb imperfective firstE "дер" "у" "драл" "дери" "драть" ;
|
||||
float_V = mkRegVerb imperfective firstE "плыв" "у" "плыл" "плыви" "плыть" ;
|
||||
flow_V = mkRegVerb imperfective firstE "тек" "у" "тёк" "теки" "течь" ;
|
||||
fly_V = mkRegVerb imperfective second "лета" "ю" "летал" "летай" "летать" ;
|
||||
freeze_V = mkRegVerb imperfective first "замерза" "ю" "замерзал" "замерзай" "замерзать" ;
|
||||
give_V = mkRegVerb imperfective firstE "да" "ю" "давал" "давай" "давать" ;
|
||||
hear_V = mkRegVerb imperfective first "слыш" "у" "слышал" "слышь" "слышать" ;
|
||||
hit_V = mkRegVerb imperfective first "ударя" "ю" "ударял" "ударяй" "ударять" ;
|
||||
hold_V = mkRegVerb imperfective second "держ" "у" "держал" "держи" "держать" ;
|
||||
hunt_V = mkRegVerb imperfective second "охоч" "у" "охотил" "охоть" "охотить" ;
|
||||
kill_V = mkRegVerb imperfective first "убива" "ю" "убивал" "убивай" "убивать" ;
|
||||
know_V = mkRegVerb imperfective first "зна" "ю" "знал" "знай" "знать" ;
|
||||
laugh_V = mkRegVerb imperfective firstE "сме" "ю" "смеял" "смей" "смеять" ;
|
||||
lie_V = mkRegVerb imperfective firstE "лг" "у" "лгал" "лги" "лгать" ;
|
||||
live_V = live_V ;
|
||||
play_V = mkRegVerb imperfective first "игра" "ю" "играл" "играй" "играть" ;
|
||||
pull_V = mkRegVerb imperfective first "тян" "у" "тянул" "тяни" "тянуть" ;
|
||||
push_V = mkRegVerb imperfective first "толка" "ю" "толкал" "толкай" "толкать" ;
|
||||
rub_V = mkRegVerb imperfective firstE "тр" "у" "тёр" "три" "тереть" ;
|
||||
say_V = mkRegVerb imperfective second "говор" "ю" "говорил" "говори" "говорить";
|
||||
scratch_V = mkRegVerb imperfective first "чеш" "у" "чесал" "чеши" "чесать" ; see_V = mkRegVerb imperfective second "смотр" "ю" "смотрел" "смотри" "смотреть" ;
|
||||
sew_V = mkRegVerb imperfective firstE "шь" "ю" "шил" "шей" "шить" ;
|
||||
sing_V = mkRegVerb imperfective firstE "по" "ю" "пел" "пой" "петь" ;
|
||||
sit_V = mkVerbum imperfective "сижу" "сидишь" "сидит" "сидим" "сидите" "сидят" "сидел" "сиди" "сидеть" ;
|
||||
sleep_V = sleep_V ;
|
||||
smell_V = mkRegVerb imperfective first "пахн" "у" "пахнул" "пахни" "пахнуть" ;
|
||||
spit_V = mkRegVerb imperfective firstE "плю" "ю" "плевал" "плюй" "плевать" ;
|
||||
split_V = mkRegVerb imperfective first "разбива" "ю" "разбивал" "разбей" "разбивать" ;
|
||||
squeeze_V = mkRegVerb imperfective first "сжима" "ю" "сжимал" "сжимай" "сжимать" ;
|
||||
stab_V = mkRegVerb imperfective first "кол" "ю" "колол" "коли" "колоть" ;
|
||||
stand_V = mkRegVerb imperfective second "сто" "ю" "стоял" "стой" "стоять" ;
|
||||
suck_V = mkRegVerb imperfective firstE "сос" "у" "сосал" "соси" "сосать" ;
|
||||
swell_V = mkRegVerb imperfective first "опуха" "ю" "опухал" "опухай" "опухать" ;
|
||||
swim_V = mkRegVerb imperfective first "плава" "ю" "плавал" "плавай" "плавать" ;
|
||||
think_V = mkRegVerb imperfective first "дума" "ю" "думал" "думай" "думать" ;
|
||||
throw_V = mkRegVerb imperfective first "броса" "ю" "бросал" "бросай" "бросать" ;
|
||||
tie_V = mkRegVerb imperfective first "вяж" "у" "вязал" "вяжи" "вязать" ;
|
||||
turn_V = mkRegVerb imperfective first "поворачива" "ю" "поворачивал" "поворачивай" "поворачивать" ;
|
||||
vomit_V = mkRegVerb imperfective firstE "рв" "у" "рвал" "рви" "рвать" ;
|
||||
walk_V = walk_V ;
|
||||
wash_V = mkRegVerb imperfective first "мо" "ю" "мыл" "мой" "мыть" ;
|
||||
wipe_V = mkRegVerb imperfective first "вытира" "ю" "вытирал" "вытирай" "вытирать" ;
|
||||
|
||||
};
|
||||
@@ -1,262 +0,0 @@
|
||||
--# -path=.:../spanish:../common:../abstract:../../prelude:../romance
|
||||
|
||||
concrete SwadeshSpa of Swadesh = CatSpa
|
||||
** open PhonoSpa, MorphoSpa, LangSpa, ParadigmsSpa, BeschSpa, Prelude in {
|
||||
|
||||
-- words contributed by Ana Bove, May 2005
|
||||
|
||||
lincat
|
||||
MassN = N ;
|
||||
|
||||
lin
|
||||
|
||||
-- Pronouns
|
||||
|
||||
i_NP = i_Pron ;
|
||||
youSg_NP = youSg_Pron ;
|
||||
he_NP = he_Pron ;
|
||||
we_NP = we_Pron ;
|
||||
youPl_NP = youPl_Pron ;
|
||||
they_NP = they_Pron ;
|
||||
whoPl_IP = whoPl_IP ;
|
||||
whoSg_IP = whoSg_IP ;
|
||||
whatPl_IP = whatPl_IP ;
|
||||
whatSg_IP = whatSg_IP ;
|
||||
|
||||
-- Determiners
|
||||
|
||||
this_Det = DetSg (SgQuant this_Quant) NoOrd ;
|
||||
that_Det = DetSg (SgQuant that_Quant) NoOrd ;
|
||||
all_Det = {
|
||||
s = \\g,c => prepCase c ++ genForms ["todos los"] ["todas las"] ! g ;
|
||||
n = Pl
|
||||
} ;
|
||||
many_Det = many_Det ;
|
||||
some_Det = someSg_Det ;
|
||||
few_Det = {s = \\g,c => prepCase c ++ genForms "pocos" "pocas" ! g ; n = Pl} ;
|
||||
other_Det = {
|
||||
s = \\g,c => prepCase c ++ genForms "otros" "otras" ! g ;
|
||||
n = Pl
|
||||
} ;
|
||||
|
||||
left_Ord = mkOrd (regA "izquierda") ;
|
||||
right_Ord = mkOrd (regA "derecha") ;
|
||||
|
||||
oper
|
||||
mkOrd : A -> Ord ;
|
||||
mkOrd x = {s = \\ag => x.s ! Posit ! AF ag.g ag.n; lock_Ord = <> } ;
|
||||
|
||||
lin
|
||||
|
||||
-- Adverbs
|
||||
|
||||
here_Adv = here_Adv;
|
||||
there_Adv = there_Adv;
|
||||
where_IAdv = where_IAdv;
|
||||
when_IAdv = when_IAdv;
|
||||
how_IAdv = how_IAdv;
|
||||
far_Adv = mkAdv "lejos" ; ----?
|
||||
|
||||
-- not : Adv ; -- ?
|
||||
|
||||
-- Conjunctions
|
||||
|
||||
and_Conj = and_Conj ;
|
||||
|
||||
-- Prepositions
|
||||
|
||||
at_Prep = dative ;
|
||||
in_Prep = in_Prep ;
|
||||
with_Prep = with_Prep ;
|
||||
|
||||
-- Numerals
|
||||
|
||||
one_Det = DetSg one_Quant NoOrd ;
|
||||
two_Num = NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n2))))) ;
|
||||
three_Num = NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n3))))) ;
|
||||
four_Num = NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n4))))) ;
|
||||
five_Num = NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n5))))) ;
|
||||
|
||||
|
||||
-- Adjectives
|
||||
|
||||
bad_A = bad_A ;
|
||||
big_A = big_A ;
|
||||
black_A = black_A ;
|
||||
cold_A = cold_A ;
|
||||
correct_A = regA "correcto" ;
|
||||
dirty_A = dirty_A ;
|
||||
dry_A = regA "seco" ;
|
||||
dull_A = regA "desafilado" ;
|
||||
full_A = regA "lleno" ;
|
||||
good_A = good_A ;
|
||||
green_A = green_A ;
|
||||
heavy_A = regA "pesado" ;
|
||||
long_A = long_A ;
|
||||
narrow_A = narrow_A ;
|
||||
near_A = regA "cerca" ;
|
||||
new_A = new_A ;
|
||||
old_A = old_A ;
|
||||
red_A = red_A ;
|
||||
rotten_A = regA "podrido" ;
|
||||
round_A = regA "redondo" ;
|
||||
sharp_A = regA "filoso" ; -- afilado, puntiagudo
|
||||
short_A = short_A ;
|
||||
small_A = small_A ;
|
||||
smooth_A = regA "liso" ; -- suave
|
||||
straight_A = regA "directo" ;
|
||||
thick_A = thick_A ;
|
||||
thin_A = thin_A ;
|
||||
warm_A = warm_A ;
|
||||
wet_A = regA "mojado" ;
|
||||
white_A = white_A ;
|
||||
wide_A = regA "ancho" ; -- extenso
|
||||
yellow_A = yellow_A ;
|
||||
|
||||
-- Nouns
|
||||
|
||||
animal_N = regN "animal" ; -- masc (sometimes fem when adj)
|
||||
ashes_N = regN "ceniza" ;
|
||||
back_N = regN "espalda" ;
|
||||
bark_N = regN "corteza" ;
|
||||
belly_N = regN "panza" ; -- barriga
|
||||
bird_N = bird_N;
|
||||
blood_N = femN (regN "sangre") ;
|
||||
bone_N = regN "hueso" ;
|
||||
breast_N = regN "seno" ; -- pecho
|
||||
child_N = child_N ;
|
||||
cloud_N = femN (regN "nube") ;
|
||||
day_N = mascN (regN "día") ;
|
||||
dog_N = dog_N ;
|
||||
dust_N = regN "polvo" ;
|
||||
ear_N = regN "oreja" ;
|
||||
earth_N = regN "tierra" ;
|
||||
egg_N = regN "huevo" ;
|
||||
eye_N = regN "ojo" ;
|
||||
fat_N = regN "grasa" ;
|
||||
father_N = UseN2 father_N2 ;
|
||||
feather_N = regN "pluma" ;
|
||||
fingernail_N = regN "uña" ;
|
||||
fire_N = regN "fuego" ;
|
||||
fish_N = fish_N ;
|
||||
flower_N = femN (regN "flor") ;
|
||||
fog_N = regN "niebla" ;
|
||||
foot_N = regN "pie" ;
|
||||
forest_N = regN "bosque" ;
|
||||
fruit_N = fruit_N ;
|
||||
grass_N = regN "pasto" ; -- hierba, césped (masc)
|
||||
guts_N = regN "tripa" ; -- gut=intestino ---- pl.t. tripas
|
||||
hair_N = regN "cabello" ; -- pelo
|
||||
hand_N = femN (regN "mano") ;
|
||||
head_N = regN "cabeza" ;
|
||||
heart_N = mkN "corazón" "corazones" masculine ;
|
||||
horn_N = regN "cuerno" ;
|
||||
husband_N = regN "marido" ; -- esposo
|
||||
ice_N = regN "hielo" ;
|
||||
knee_N = regN "rodilla" ;
|
||||
lake_N = lake_N ;
|
||||
leaf_N = regN "hoja" ;
|
||||
leg_N = regN "pierna" ;
|
||||
liver_N = regN "hígado" ;
|
||||
louse_N = regN "piojo" ;
|
||||
man_N = man_N ;
|
||||
meat_N = meat_N ;
|
||||
moon_N = moon_N ;
|
||||
mother_N = UseN2 mother_N2 ;
|
||||
mountain_N = mountain_N ;
|
||||
mouth_N = regN "boca" ;
|
||||
name_N = regN "nombre" ;
|
||||
neck_N = regN "cuello" ;
|
||||
night_N = femN (regN "noche") ;
|
||||
nose_N = femN (regN "nariz") ;
|
||||
person_N = regN "persona" ;
|
||||
rain_N = regN "lluvia" ;
|
||||
river_N = river_N ;
|
||||
road_N = femN (regN "calle") ; -- camino
|
||||
root_N = femN (regN "raíz") ;
|
||||
rope_N = regN "cuerda" ;
|
||||
salt_N = femN (regN "sal") ;
|
||||
sand_N = regN "arena" ;
|
||||
sea_N = sea_N ;
|
||||
seed_N = regN "semilla" ;
|
||||
skin_N = femN (regN "piel") ; -- fem
|
||||
sky_N = regN "cielo" ;
|
||||
smoke_N = regN "humo" ;
|
||||
snake_N = snake_N ;
|
||||
snow_N = femN (regN "nieve") ; -- fem
|
||||
star_N = star_N ;
|
||||
stick_N = mkN "bastón" "bastones" masculine ; -- palo
|
||||
stone_N = stone_N ;
|
||||
sun_N = sun_N ;
|
||||
tail_N = regN "cola" ;
|
||||
tongue_N = regN "lengua" ;
|
||||
tooth_N = regN "diente" ;
|
||||
tree_N = tree_N ;
|
||||
water_N = water_N ;
|
||||
wife_N = regN "esposa" ;
|
||||
wind_N = regN "viento" ;
|
||||
wing_N = regN "ala" ;
|
||||
woman_N = woman_N ;
|
||||
worm_N = regN "gusano" ; -- lombriz (fem)
|
||||
year_N = regN "año" ;
|
||||
|
||||
-- Verbs
|
||||
|
||||
bite_V2 = dirV2 (verboV (morder_50b "morder")) ;
|
||||
blow_V = regV "soplar" ;
|
||||
breathe_V2 = dirV2 (regV "respirar") ;
|
||||
burn_V = regV "quemar" ;
|
||||
come_V = come_V ;
|
||||
count_V2 = dirV2 (verboV (contar_38b "contar")) ;
|
||||
cut_V2 = dirV2 (regV "cortar") ;
|
||||
die_V = die_V ;
|
||||
dig_V = regV "escarbar" ;
|
||||
drink_V2 = dirV2 (regV "tomar") ;
|
||||
eat_V2 = dirV2 (regV "comer") ;
|
||||
fall_V = verboV (caer_20 "caer") ;
|
||||
fear_V2 = dirV2 (fear_VS) ;
|
||||
fight_V2 = dirV2 (regV "pelear") ;
|
||||
float_V = regV "flotar" ;
|
||||
flow_V = verboV (influir_45 "fluir") ; -- circular
|
||||
fly_V = regV "volar" ;
|
||||
freeze_V = regV "congelar" ;
|
||||
give_V = dirdirV3 (verboV (dar_27 "dar")) ;
|
||||
hear_V2 = dirV2 (hear_V2) ;
|
||||
hit_V2 = dirV2 (regV "golpear") ;
|
||||
hold_V2 = dirV2 (verboV (tener_4 "tener")) ;
|
||||
hunt_V2 = dirV2 (regV "cazar") ;
|
||||
kill_V2 = dirV2 (regV "matar") ;
|
||||
know_V2 = dirV2 (know_V2) ;
|
||||
laugh_V = regV "reir" ; ----V reír_67
|
||||
lie_V = reflV (regV "acostar") ; -- "acostarse"
|
||||
live_V = live_V ;
|
||||
play_V = regV "jugar" ;
|
||||
pull_V2 = dirV2 (regV "tirar") ;
|
||||
push_V2 = dirV2 (regV "empujar") ;
|
||||
rub_V2 = dirV2 (regV "resfregar") ;
|
||||
say_V = say_VS ;
|
||||
scratch_V2 = dirV2 (regV "rascar") ;
|
||||
see_V2 = dirV2 (see_V2) ;
|
||||
sew_V = regV "coser" ;
|
||||
sing_V = regV "cantar" ;
|
||||
sit_V = reflV (regV "sentar") ;
|
||||
sleep_V = sleep_V ;
|
||||
smell_V = verboV (oler_52 "oler") ;
|
||||
spit_V = regV "escupir" ;
|
||||
split_V2 = dirV2 (regV "separar") ; -- dividir,) ;
|
||||
squeeze_V2 = dirV2 (regV "exprimir") ;
|
||||
stab_V2 = dirV2 (regV "apuñalar") ;
|
||||
stand_V = verboV (estar_2 "estar") ; ---- "estar de pie" ;
|
||||
suck_V2 = dirV2 (regV "chupar") ;
|
||||
swell_V = regV "tragar" ;
|
||||
swim_V = regV "nadar" ;
|
||||
think_V = regV "pensar" ;
|
||||
throw_V2 = dirV2 (regV "tirar") ;
|
||||
tie_V2 = dirV2 (regV "atar") ;
|
||||
turn_V = regV "doblar" ;
|
||||
vomit_V = regV "vomitar" ;
|
||||
walk_V = regV "caminar" ;
|
||||
wash_V2 = dirV2 (regV "lavar") ;
|
||||
wipe_V2 = dirV2 (regV "secar") ;
|
||||
|
||||
}
|
||||
@@ -1,252 +0,0 @@
|
||||
--# -path=.:present:prelude
|
||||
|
||||
concrete SwadeshSwe of Swadesh = CatSwe
|
||||
** open MorphoSwe, LangSwe, ParadigmsSwe, IrregSwe, Prelude in {
|
||||
|
||||
lincat
|
||||
MassN = N ;
|
||||
|
||||
lin
|
||||
|
||||
-- Pronouns
|
||||
|
||||
i_NP = i_Pron ;
|
||||
youSg_NP = youSg_Pron ;
|
||||
he_NP = he_Pron ;
|
||||
we_NP = we_Pron ;
|
||||
youPl_NP = youPl_Pron ;
|
||||
they_NP = they_Pron ;
|
||||
whoPl_IP = whoPl_IP ;
|
||||
whoSg_IP = whoSg_IP ;
|
||||
whatPl_IP = whatPl_IP ;
|
||||
whatSg_IP = whatSg_IP ;
|
||||
|
||||
-- Determiners
|
||||
|
||||
this_Det = DetSg (SgQuant this_Quant) NoOrd ;
|
||||
that_Det = DetSg (SgQuant that_Quant) NoOrd ;
|
||||
all_Det = {s = \\_,_ => "alla" ; n = Pl ; det = DDef Indef} ;
|
||||
many_Det = many_Det ;
|
||||
some_Det = someSg_Det ;
|
||||
few_Det = {s = \\_,_ => "få" ; n = Pl ; det = DDef Indef} ;
|
||||
other_Det = {s = \\_,_ => "andra" ; n = Pl ; det = DDef Indef} ;
|
||||
|
||||
left_Ord = {s = "vänstra" ; isDet = True} ;
|
||||
right_Ord = {s = "högra" ; isDet = True} ;
|
||||
|
||||
-- Adverbs
|
||||
|
||||
here_Adv = here_Adv ;
|
||||
there_Adv = there_Adv ;
|
||||
where_IAdv = where_IAdv ;
|
||||
when_IAdv = when_IAdv ;
|
||||
how_IAdv = how_IAdv ;
|
||||
far_Adv = mkAdv "långt" ;
|
||||
|
||||
-- not : Adv ; -- ?
|
||||
|
||||
-- Conjunctions
|
||||
|
||||
and_Conj = and_Conj ;
|
||||
|
||||
-- Prepositions
|
||||
|
||||
at_Prep = ss "vid" ;
|
||||
in_Prep = ss "i" ;
|
||||
with_Prep = ss "med" ;
|
||||
|
||||
-- Numerals
|
||||
|
||||
one_Det = DetSg one_Quant NoOrd ;
|
||||
two_Num = NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n2))))) ;
|
||||
three_Num = NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n3))))) ;
|
||||
four_Num = NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n4))))) ;
|
||||
five_Num = NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n5))))) ;
|
||||
|
||||
-- Adjectives
|
||||
|
||||
bad_A = bad_A ;
|
||||
big_A = big_A ;
|
||||
black_A = black_A ;
|
||||
cold_A = cold_A ;
|
||||
correct_A = regA "riktig" ;
|
||||
dirty_A = dirty_A ;
|
||||
dry_A = regA "torr" ;
|
||||
dull_A = mk2A "slö" "slött";
|
||||
full_A = regA "full" ;
|
||||
good_A = good_A ;
|
||||
green_A = green_A ;
|
||||
heavy_A = irregA "tung" "tyngre" "tyngst" ;
|
||||
long_A = long_A ;
|
||||
narrow_A = narrow_A ;
|
||||
near_A = mkA "nära" "nära" "nära" "nära"
|
||||
"närmare" "närmast" "närmaste" ;
|
||||
new_A = new_A ;
|
||||
old_A = old_A ;
|
||||
red_A = red_A ;
|
||||
rotten_A = mk3A "rutten" "ruttet" "ruttna" ;
|
||||
round_A = regA "rund" ;
|
||||
sharp_A = regA "vass" ;
|
||||
short_A = short_A ;
|
||||
small_A = small_A ;
|
||||
smooth_A = regA "slät" ;
|
||||
straight_A = regA "rak" ;
|
||||
thick_A = thick_A ;
|
||||
thin_A = thin_A ;
|
||||
warm_A = warm_A ;
|
||||
wet_A = regA "våt" ;
|
||||
white_A = white_A ;
|
||||
wide_A = mk2A "bred" "brett" ;
|
||||
yellow_A = yellow_A ;
|
||||
|
||||
|
||||
-- Nouns
|
||||
|
||||
animal_N = mk2N "djur" "djur" ;
|
||||
ashes_N = mk2N "aska" "askor" ;
|
||||
back_N = mk2N "rygg" "ryggar" ;
|
||||
bark_N = mk2N "bark" "barkar" ;
|
||||
belly_N = mk2N "mage" "magar" ;
|
||||
bird_N = bird_N ;
|
||||
blood_N = mk2N "blod" "blod" ;
|
||||
bone_N = mk2N "ben" "ben" ;
|
||||
breast_N = mk2N "bröst" "bröst" ;
|
||||
child_N = child_N ;
|
||||
cloud_N = mk2N "moln" "moln" ;
|
||||
day_N = mk2N "dag" "dagar" ;
|
||||
dog_N = dog_N ;
|
||||
dust_N = mk2N "damm" "damm" ;
|
||||
ear_N = mkN "öra" "örat" "öron" "öronen" ;
|
||||
earth_N = mk2N "jord" "jordar" ;
|
||||
egg_N = mk2N "ägg" "ägg" ;
|
||||
eye_N = mkN "öga" "ögat" "ögon" "ögonen" ;
|
||||
fat_N = mk2N "fett" "fett" ;
|
||||
father_N = (mkN "far" "fadern" "fäder" "fäderna") ;
|
||||
-- father_N = UseN2 father_N2 ;
|
||||
feather_N = mk2N "fjäder" "fjädrar" ;
|
||||
fingernail_N = mkN "nagel" "nageln" "naglar" "naglarna";
|
||||
fire_N = mk2N "eld" "eldar" ;
|
||||
fish_N = fish_N ;
|
||||
flower_N = mk2N "blomma" "blommor" ;
|
||||
fog_N = mk2N "dimma" "dimmor" ;
|
||||
foot_N = mk2N "fot" "fötter" ;
|
||||
forest_N = mk2N "skog" "skogar" ;
|
||||
fruit_N = fruit_N ;
|
||||
grass_N = mk2N "gräs" "gräs" ;
|
||||
guts_N = mk2N "inälva" "inälvor" ;
|
||||
hair_N = mk2N "hår" "hår" ;
|
||||
hand_N = mk2N "hand" "händer" ;
|
||||
head_N = mkN "huvud" "huvudet" "huvuden" "huvudena" ;
|
||||
heart_N = mkN "hjärta" "hjärtat" "hjärtan" "hjärtana" ;
|
||||
horn_N = mk2N "horn" "horn" ;
|
||||
husband_N = (mk2N "make" "makar") ;
|
||||
ice_N = mk2N "is" "isar" ;
|
||||
knee_N = mkN "knä" "knäet" "knän" "knäna" ;
|
||||
lake_N = lake_N ;
|
||||
leaf_N = mk2N "löv" "löv" ;
|
||||
leg_N = mk2N "ben" "ben" ;
|
||||
liver_N = mkN "lever" "levern" "levrar" "levrarna";
|
||||
louse_N = mkN "lus" "lusen" "löss" "lössen" ;
|
||||
man_N = man_N ;
|
||||
meat_N = meat_N ;
|
||||
moon_N = moon_N ;
|
||||
mother_N = mkN "mor" "modern" "mödrar" "mödrarna" ;
|
||||
-- mother_N = UseN2 mother_N2 ;
|
||||
mountain_N = mountain_N ;
|
||||
mouth_N = mkN "mun" "munnen" "munnar" "munnarna" ;
|
||||
name_N = mk2N "namn" "namn" ;
|
||||
neck_N = mk2N "nacke" "nackar" ;
|
||||
night_N = mk2N "natt" "nätter" ;
|
||||
nose_N = mk2N "näsa" "näsor" ;
|
||||
person_N = mk2N "person" "personer" ;
|
||||
rain_N = mk2N "regn" "regn" ;
|
||||
river_N = river_N ;
|
||||
road_N = mk2N "väg" "vägar" ;
|
||||
root_N = mk2N "rot" "rötter" ;
|
||||
rope_N = mk2N "rep" "rep" ;
|
||||
salt_N = mkN "salt" "saltet" "salter" "salterna";
|
||||
sand_N = mk2N "sand" "sander" ;
|
||||
sea_N = sea_N ;
|
||||
seed_N = mkN "frö" "fröet" "frön" "fröna" ;
|
||||
skin_N = mk2N "skinn" "skinn" ;
|
||||
sky_N = mk2N "himmel" "himlar" ;
|
||||
smoke_N = mk2N "rök" "rökar" ;
|
||||
snake_N = snake_N ;
|
||||
snow_N = mkN "snö" "snön" "snöer" "snöerna" ;
|
||||
star_N = star_N ;
|
||||
stick_N = mk2N "pinne" "pinnar" ;
|
||||
stone_N = stone_N ;
|
||||
sun_N = sun_N ;
|
||||
tail_N = mk2N "svans" "svansar" ;
|
||||
tongue_N = mk2N "tunga" "tungor" ;
|
||||
tooth_N = mk2N "tand" "tänder" ;
|
||||
tree_N = tree_N ;
|
||||
water_N = water_N ;
|
||||
wife_N = mk2N "fru" "fruar" ;
|
||||
wind_N = mk2N "vind" "vindar" ;
|
||||
wing_N = mk2N "vinge" "vingar" ;
|
||||
woman_N = woman_N ;
|
||||
worm_N = mk2N "mask" "maskar" ;
|
||||
year_N = mk2N "år" "år" ;
|
||||
|
||||
-- Verbs
|
||||
|
||||
bite_V2 = dirV2 (bita_V) ;
|
||||
blow_V = mk2V "blåsa" "blåste" ;
|
||||
breathe_V2 = dirV2 (depV (regV "anda")) ;
|
||||
burn_V = brinna_V ; -- FIXME: bränna?
|
||||
come_V = komma_V ;
|
||||
count_V2 = dirV2 (regV "räkna") ;
|
||||
cut_V2 = dirV2 (skära_V) ;
|
||||
die_V = dö_V ;
|
||||
dig_V = mk2V "gräva" "grävde" ;
|
||||
drink_V2 = dirV2 (dricka_V) ;
|
||||
eat_V2 = dirV2 (äta_V) ;
|
||||
fall_V = falla_V ;
|
||||
fear_V2 = dirV2 (regV "frukta") ;
|
||||
-- FIXME: passive forms are very strange
|
||||
fight_V = mkV2 (mkV "slåss" "slåss" "slåss" "slogs" "slagits" "slagen") "med" ;
|
||||
float_V = flyta_V ;
|
||||
flow_V = rinna_V ;
|
||||
fly_V = flyga_V ;
|
||||
freeze_V = frysa_V ;
|
||||
give_V = dirV3 giva_V "till";
|
||||
hear_V2 = dirV2 (mk2V "höra" "hörde") ;
|
||||
hit_V2 = dirV2 (slå_V) ;
|
||||
hold_V2 = dirV2 (hålla_V) ;
|
||||
hunt_V2 = dirV2 (regV "jaga") ;
|
||||
kill_V2 = dirV2 (regV "döda") ;
|
||||
know_V2 = dirV2 (känna_V) ;
|
||||
laugh_V = regV "skratta" ;
|
||||
lie_V = ligga_V ;
|
||||
live_V = leva_V ;
|
||||
play_V = mk2V "leka" "lekte" ;
|
||||
pull_V2 = dirV2 (draga_V) ;
|
||||
push_V2 = dirV2 (mk2V "trycka" "tryckte") ;
|
||||
rub_V2 = dirV2 (gnida_V) ;
|
||||
say_V = säga_V ;
|
||||
scratch_V2 = dirV2 (regV "klia") ;
|
||||
see_V2 = dirV2 (se_V) ;
|
||||
sew_V = sy_V ;
|
||||
sing_V = sjunga_V ;
|
||||
sit_V = sitta_V ;
|
||||
sleep_V = sova_V ;
|
||||
smell_V = regV "lukta" ;
|
||||
spit_V = regV "spotta" ;
|
||||
split_V2 = dirV2 (klyva_V) ;
|
||||
squeeze_V2 = dirV2 (klämma_V) ;
|
||||
stab_V2 = dirV2 (sticka_V) ;
|
||||
stand_V = stå_V ;
|
||||
suck_V2 = dirV2 (suga_V) ;
|
||||
swell_V = svälla_V ;
|
||||
swim_V = regV "simma" ;
|
||||
think_V = mk2V "tänka" "tänkte" ;
|
||||
throw_V2 = dirV2 (regV "kasta") ;
|
||||
tie_V2 = dirV2 (knyta_V) ;
|
||||
turn_V = vända_V ;
|
||||
vomit_V = mk2V "spy" "spydde" ;
|
||||
walk_V = gå_V ;
|
||||
wash_V2 = dirV2 (regV "tvätta") ;
|
||||
wipe_V2 = dirV2 (regV "torka") ;
|
||||
|
||||
}
|
||||
@@ -1,4 +0,0 @@
|
||||
abstract Compex = {
|
||||
cat Prop ; Ind ;
|
||||
fun Even : Ind -> Prop ;
|
||||
}
|
||||
@@ -1,8 +0,0 @@
|
||||
concrete CompexEng of Compex = open MathematicalEng, ParadigmsEng, Prelude in {
|
||||
lincat
|
||||
Prop = {s : Bool => Str} ;
|
||||
Ind = NP ;
|
||||
lin
|
||||
Even : Ind -> Prop ;
|
||||
|
||||
}
|
||||
@@ -1,12 +0,0 @@
|
||||
abstract Agenda = Dialogue, Weekday ** {
|
||||
|
||||
fun
|
||||
Day : Kind ;
|
||||
Meeting : Kind ;
|
||||
Add : Oper2 Meeting Day ;
|
||||
Remove : Oper1 Meeting ;
|
||||
Interrupt : Oper0 ;
|
||||
|
||||
day : WDay -> Object Day ;
|
||||
|
||||
}
|
||||
@@ -1,15 +0,0 @@
|
||||
--# -path=.:multimodal:alltenses:prelude
|
||||
|
||||
concrete AgendaEng of Agenda =
|
||||
DialogueEng, WeekdayEng ** open MultiEng, ParadigmsEng in {
|
||||
|
||||
lin
|
||||
Day = UseN (regN "day") ;
|
||||
Meeting = UseN (regN "meeting") ;
|
||||
Add = dirV3 (regV "add") (mkPrep "on") ;
|
||||
Remove = dirV2 (regV "remove") ;
|
||||
Interrupt = regV "interrupt" ;
|
||||
|
||||
day = UsePN ;
|
||||
|
||||
}
|
||||
@@ -1,15 +0,0 @@
|
||||
--# -path=.:multimodal:alltenses:prelude
|
||||
|
||||
concrete AgendaFin of Agenda =
|
||||
DialogueFin, WeekdayFin ** open MultiFin, ParadigmsFin in {
|
||||
|
||||
lin
|
||||
Day = UseN (regN "päivä") ;
|
||||
Meeting = UseN (regN "kokous") ;
|
||||
Add = dirV3 (regV "lisätä") translative ;
|
||||
Remove = dirV2 (regV "poistaa") ;
|
||||
Interrupt = regV "keskeyttää" ;
|
||||
|
||||
day = UsePN ;
|
||||
|
||||
}
|
||||
@@ -1,16 +0,0 @@
|
||||
--# -path=.:multimodal:alltenses:prelude
|
||||
|
||||
concrete AgendaFre of Agenda =
|
||||
DialogueFre, WeekdayFre ** open MultiFre, ParadigmsFre, IrregFre in {
|
||||
|
||||
lin
|
||||
Day = UseN (regN "jour") ;
|
||||
Meeting = UseN (regN "réunion") ;
|
||||
Add = dirdirV3 (regV "ajouter") ;
|
||||
Remove = dirV2 (regV "ôter") ;
|
||||
Interrupt = interrompre_V2 ;
|
||||
|
||||
day = UsePN ;
|
||||
|
||||
}
|
||||
|
||||
@@ -1,15 +0,0 @@
|
||||
--# -path=.:prelude
|
||||
|
||||
concrete AgendaProlog of Agenda =
|
||||
DialogueProlog, WeekdayProlog ** open ResProlog, Prelude in {
|
||||
|
||||
lin
|
||||
Day = ss "day" ;
|
||||
Meeting = ss "meeting" ;
|
||||
Add = op2 "add_event" "event_to_store" "date_to_store" ;
|
||||
Remove = op1 "remove_event" "event_to_remove" ;
|
||||
Interrupt = ss "interrupt" ;
|
||||
|
||||
day = apps "weekday" ;
|
||||
|
||||
}
|
||||
@@ -1,16 +0,0 @@
|
||||
--# -path=.:multimodal:alltenses:prelude
|
||||
|
||||
concrete AgendaSwe of Agenda =
|
||||
DialogueSwe, WeekdaySwe ** open MultiSwe, ParadigmsSwe, IrregSwe in {
|
||||
|
||||
lin
|
||||
Day = UseN (regN "dag") ;
|
||||
Meeting = UseN (regGenN "möte" neutrum) ;
|
||||
Add = dirV3 (partV lägga_V "till") (mkPrep "på") ;
|
||||
Remove = dirV2 (partV taga_V "bort") ;
|
||||
Interrupt = avbryta_V ;
|
||||
|
||||
day = UsePN ;
|
||||
|
||||
}
|
||||
|
||||
@@ -1,13 +0,0 @@
|
||||
interface AuxDialogue = open Multi in {
|
||||
oper
|
||||
defN : N -> NP = \n ->
|
||||
DetCN (DetSg (SgQuant DefArt) NoOrd) (UseN n) ;
|
||||
|
||||
mkMove : Str -> Phr = \s -> {s = variants {
|
||||
s ;
|
||||
s ++ please_Voc.s
|
||||
} ;
|
||||
lock_Phr = <>
|
||||
} ;
|
||||
|
||||
}
|
||||
@@ -1,2 +0,0 @@
|
||||
instance AuxEng of AuxDialogue = open MultiEng in {
|
||||
}
|
||||
@@ -1,2 +0,0 @@
|
||||
instance AuxFin of AuxDialogue = open MultiFin in {
|
||||
}
|
||||
@@ -1,2 +0,0 @@
|
||||
instance AuxFre of AuxDialogue = open MultiFre in {
|
||||
}
|
||||
@@ -1,2 +0,0 @@
|
||||
instance AuxSwe of AuxDialogue = open MultiSwe in {
|
||||
}
|
||||
@@ -1,52 +0,0 @@
|
||||
abstract Dialogue = {
|
||||
|
||||
flags startcat=Move ;
|
||||
|
||||
cat
|
||||
Move ;
|
||||
Action ;
|
||||
Proposition ;
|
||||
Question ;
|
||||
Kind ;
|
||||
Object Kind ;
|
||||
Oper0 ;
|
||||
Oper1 Kind ;
|
||||
Oper2 Kind Kind ;
|
||||
|
||||
fun
|
||||
IRequest : Action -> Input ;
|
||||
IConfirm : Action -> Input ;
|
||||
IAnswer : Proposition -> Input ;
|
||||
IIssue : Question -> Input ;
|
||||
|
||||
IYes : Input ;
|
||||
INo : Input ;
|
||||
IObject : (k : Kind) -> Object k -> Input ;
|
||||
|
||||
PAction : Action -> Proposition ;
|
||||
|
||||
QKind : Kind -> Question ;
|
||||
|
||||
AOper0 : Oper0 -> Action ;
|
||||
AOper1 : (k : Kind) -> Oper1 k -> Object k -> Action ;
|
||||
AOper2 : (k,m : Kind) -> Oper2 k m -> Object k -> Object m -> Action ;
|
||||
|
||||
OAll : (k : Kind) -> Object k ;
|
||||
OIndef : (k : Kind) -> Object k ;
|
||||
ODef : (k : Kind) -> Object k ;
|
||||
|
||||
-- multimodality
|
||||
|
||||
cat
|
||||
Click ;
|
||||
Input ; -- multimodal asynchronous input
|
||||
Speech ; -- speech only
|
||||
fun
|
||||
OThis : (k : Kind) -> Click -> Object k ;
|
||||
OThisKind : (k : Kind) -> Click -> Object k ;
|
||||
|
||||
MInput : Input -> Move ;
|
||||
SInput : Input -> Speech ;
|
||||
|
||||
MkClick : String -> Click ;
|
||||
}
|
||||
@@ -1,4 +0,0 @@
|
||||
--# -path=.:multimodal:alltenses:prelude
|
||||
|
||||
concrete DialogueEng of Dialogue = DialogueI with
|
||||
(Multi = MultiEng) ;
|
||||
@@ -1,4 +0,0 @@
|
||||
--# -path=.:multimodal:alltenses:prelude
|
||||
|
||||
concrete DialogueFin of Dialogue = DialogueI with
|
||||
(Multi = MultiFin) ;
|
||||
@@ -1,4 +0,0 @@
|
||||
--# -path=.:multimodal:alltenses:prelude
|
||||
|
||||
concrete DialogueFre of Dialogue = DialogueI with
|
||||
(Multi = MultiFre) ;
|
||||
@@ -1,98 +0,0 @@
|
||||
incomplete concrete DialogueI of Dialogue = open Multi, Prelude in {
|
||||
|
||||
flags optimize = all_subs ;
|
||||
|
||||
lincat
|
||||
Move = Phr ;
|
||||
Action = {s : ActType => Str ; point : Str} ;
|
||||
Proposition = Utt ; ----
|
||||
Question = Utt ;
|
||||
Kind = CN ;
|
||||
Object = NP ;
|
||||
Oper0 = V ;
|
||||
Oper1 = V2 ;
|
||||
Oper2 = V3 ;
|
||||
|
||||
lin
|
||||
IRequest a = {s = a.s ! ARequest ; point = a.point ; lock_Utt = <>} ;
|
||||
IConfirm a = {s = a.s ! AConfirm ; point = a.point ; lock_Utt = <>} ;
|
||||
IAnswer a = a ;
|
||||
IIssue a = a ;
|
||||
|
||||
IYes = yes_Phr ** noPoint ;
|
||||
INo = no_Phr ** noPoint ;
|
||||
IObject _ ob = UttNP ob ;
|
||||
|
||||
PAction a = {s = a.s ! AConfirm ; point = a.point ; lock_Utt = <>} ;
|
||||
|
||||
QKind k =
|
||||
UttQS (UseQCl TPres ASimul PPos
|
||||
(ExistIP (IDetCN whichPl_IDet NoNum NoOrd k))) ;
|
||||
|
||||
AOper0 op = mkAction (UseV op) ;
|
||||
AOper1 _ op x = mkAction (ComplV2 op x) ;
|
||||
AOper2 _ _ op x y = mkAction (ComplV3 op x y) ;
|
||||
|
||||
OAll k = PredetNP all_Predet (DetCN (DetPl (PlQuant IndefArt) NoNum NoOrd) k) ;
|
||||
OIndef k = DetCN (DetSg (SgQuant IndefArt) NoOrd) k ;
|
||||
ODef k = DetCN (DetSg (SgQuant DefArt) NoOrd) k ;
|
||||
|
||||
param
|
||||
ActType = ARequest | AConfirm ; -- and some others
|
||||
|
||||
oper
|
||||
|
||||
-- this should perhaps be language dependent - but at least these
|
||||
-- variants seem to make sense in all languages
|
||||
|
||||
mkAction : VP -> {s : ActType => Str ; point : Str} = \vp -> {
|
||||
s = table {
|
||||
ARequest => (variants {
|
||||
aImp vp ;
|
||||
aWant vp ;
|
||||
aCanYou vp
|
||||
}).s ;
|
||||
AConfirm => (variants {
|
||||
aInf vp
|
||||
}).s
|
||||
} ;
|
||||
point = vp.point
|
||||
} ;
|
||||
|
||||
optPlease : Voc = variants {NoVoc ; please_Voc} ;
|
||||
|
||||
aImp : VP -> Utt = \vp ->
|
||||
UttImpSg PPos (ImpVP vp) ;
|
||||
|
||||
aWant : VP -> Utt = \vp ->
|
||||
UttS (UseCl TPres ASimul PPos
|
||||
(PredVP (UsePron i_Pron) (ComplVV want_VV vp))) ;
|
||||
|
||||
aCanYou : VP -> Utt = \vp ->
|
||||
UttQS (UseQCl TPres ASimul PPos (QuestCl
|
||||
(PredVP (UsePron youSg_Pron) (ComplVV can_VV vp)))) ;
|
||||
|
||||
aInf : VP -> Utt = \vp ->
|
||||
UttVP vp ;
|
||||
|
||||
-- multimodality
|
||||
|
||||
lincat
|
||||
Click = Point ;
|
||||
Input = Utt ;
|
||||
Speech = Multi.Speech ;
|
||||
|
||||
lin
|
||||
OThis k c = this8point_NP c ;
|
||||
OThisKind k c = DetCN (DetSg (SgQuant (this8point_Quant c)) NoOrd) k ;
|
||||
|
||||
MInput i = PhrUtt NoPConj i optPlease ;
|
||||
SInput i = SpeechUtt NoPConj i optPlease ;
|
||||
|
||||
MkClick = MkPoint ;
|
||||
|
||||
oper
|
||||
noPoint = {point = []} ;
|
||||
|
||||
}
|
||||
|
||||
@@ -1,42 +0,0 @@
|
||||
--# -path=.:prelude
|
||||
|
||||
concrete DialogueProlog of Dialogue = open ResProlog, Prelude in {
|
||||
|
||||
flags lexer=codelit ; unlexer=code ;
|
||||
|
||||
lincat
|
||||
Move = SS ;
|
||||
Action = SS ;
|
||||
Proposition = SS ;
|
||||
Question = SS ;
|
||||
Kind = SS ;
|
||||
Object = SS ;
|
||||
Oper0 = SS ;
|
||||
Oper1 = {s, x : Str} ;
|
||||
Oper2 = {s, x, y : Str} ;
|
||||
|
||||
lin
|
||||
MRequest a = a ;
|
||||
MConfirm a = a ; --- ??
|
||||
MAnswer a = a ; --- ??
|
||||
MIssue a = ss (bracket (app1 "ask" a.s)) ; --- ??
|
||||
|
||||
MYes = ss (bracket (app1 "answer" "yes")) ;
|
||||
MNo = ss (bracket (app1 "answer" "no")) ;
|
||||
MObject _ ob = ss (bracket (apps "answer" ob).s) ;
|
||||
|
||||
QKind k = ss (app2 "q" "X" (app1 k.s "X")) ;
|
||||
|
||||
AOper0 op = ss (bracket (request op.s)) ;
|
||||
AOper1 _ op x = ss (req_ans op.s op.x x.s) ;
|
||||
AOper2 _ _ op x y =
|
||||
ss (bracket (request op.s ++ "," ++
|
||||
answer (app1 op.x x.s) ++ "," ++ answer (app1 op.y y.s))) ;
|
||||
|
||||
OAll = apps "all" ;
|
||||
OIndef = apps "indef" ;
|
||||
ODef = apps "def" ;
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -1,4 +0,0 @@
|
||||
--# -path=.:multimodal:alltenses:prelude
|
||||
|
||||
concrete DialogueSwe of Dialogue = DialogueI with
|
||||
(Multi = MultiSwe) ;
|
||||
@@ -1,16 +0,0 @@
|
||||
abstract Lights = Dialogue ** {
|
||||
|
||||
fun
|
||||
Light : Kind ;
|
||||
Room : Kind ;
|
||||
SwitchOnIn : Oper2 Light Room ;
|
||||
SwitchOffIn : Oper2 Light Room ;
|
||||
SwitchOn : Oper1 Light ;
|
||||
SwitchOff : Oper1 Light ;
|
||||
|
||||
LivingRoom : Object Room ;
|
||||
Kitchen : Object Room ;
|
||||
|
||||
MorningMode : Move ;
|
||||
|
||||
}
|
||||
@@ -1,19 +0,0 @@
|
||||
--# -path=.:multimodal:alltenses:prelude
|
||||
|
||||
concrete LightsEng of Lights =
|
||||
DialogueEng ** open MultiEng, ParadigmsEng, AuxEng, Prelude in {
|
||||
|
||||
lin
|
||||
Light = UseN (regN "light") ;
|
||||
Room = UseN (regN "room") ;
|
||||
SwitchOnIn = dirV3 (partV (regV "switch") "on") (mkPrep "in") ;
|
||||
SwitchOffIn = dirV3 (partV (regV "switch") "off") (mkPrep "in") ;
|
||||
SwitchOn = dirV2 (partV (regV "switch") "on") ;
|
||||
SwitchOff = dirV2 (partV (regV "switch") "off") ;
|
||||
|
||||
LivingRoom = defN (regN ["living-room"]) ;
|
||||
Kitchen = defN (regN ["kitchen"]) ;
|
||||
|
||||
MorningMode = mkMove (optStr "the" ++ ["morning mode"]) ;
|
||||
|
||||
}
|
||||
@@ -1,19 +0,0 @@
|
||||
--# -path=.:multimodal:alltenses:prelude
|
||||
|
||||
concrete LightsFin of Lights =
|
||||
DialogueFin ** open MultiFin, ParadigmsFin, AuxFin in {
|
||||
|
||||
lin
|
||||
Light = UseN (regN "valo") ;
|
||||
Room = UseN (regN "huone") ;
|
||||
SwitchOnIn = dirV3 (regV "sytyttää") inessive ;
|
||||
SwitchOffIn = dirV3 (regV "sammuttaa") inessive ;
|
||||
SwitchOn = dirV2 (regV "sytyttää") ;
|
||||
SwitchOff = dirV2 (regV "sammuttaa") ;
|
||||
|
||||
LivingRoom = defN (regN "olohuone") ;
|
||||
Kitchen = defN (regN "keittiö") ;
|
||||
|
||||
MorningMode = mkMove ["aamuvalaistus"] ;
|
||||
|
||||
}
|
||||
@@ -1,19 +0,0 @@
|
||||
--# -path=.:multimodal:alltenses:prelude
|
||||
|
||||
concrete LightsFre of Lights =
|
||||
DialogueFre ** open MultiFre, ParadigmsFre, IrregFre, AuxFre in {
|
||||
|
||||
lin
|
||||
Light = UseN (regN "lampe") ;
|
||||
Room = UseN (regN "chambre") ;
|
||||
SwitchOnIn = dirV3 (regV "allumer") (mkPrep "dans") ;
|
||||
SwitchOffIn = dirV3 éteindre_V2 (mkPrep "dans") ;
|
||||
SwitchOn = dirV2 (regV "allumer") ;
|
||||
SwitchOff = dirV2 éteindre_V2 ;
|
||||
|
||||
LivingRoom = defN (regN "salon") ;
|
||||
Kitchen = defN (regN "cuisine") ;
|
||||
|
||||
MorningMode = mkMove ["le mode matinal"] ;
|
||||
|
||||
}
|
||||
@@ -1,20 +0,0 @@
|
||||
--# -path=.:prelude
|
||||
|
||||
concrete LightsProlog of Lights =
|
||||
DialogueProlog ** open ResProlog, Prelude in {
|
||||
|
||||
lin
|
||||
Light = ss "light" ;
|
||||
Room = ss "room" ;
|
||||
SwitchOnIn = op2 "switch_on" "switch_what" "switch_where" ;
|
||||
SwitchOffIn = op2 "switch_off" "switch_what" "switch_where" ;
|
||||
SwitchOn = op1 "switch_on" "switch_what" ;
|
||||
SwitchOff = op1 "switch_off" "switch_what" ;
|
||||
|
||||
LivingRoom = ss "living_room" ;
|
||||
Kitchen = ss "kitchen" ;
|
||||
|
||||
MorningMode = ss (bracket (app1 "answer" "morning_mode")) ;
|
||||
|
||||
}
|
||||
|
||||
@@ -1,20 +0,0 @@
|
||||
--# -path=.:multimodal:alltenses:prelude
|
||||
|
||||
|
||||
concrete LightsSwe of Lights =
|
||||
DialogueSwe ** open MultiSwe, ParadigmsSwe, AuxSwe in {
|
||||
|
||||
lin
|
||||
Light = UseN (regN "lampa") ;
|
||||
Room = UseN (mkN "rum" "rummet" "rum" "rummen") ;
|
||||
SwitchOnIn = dirV3 (regV "tänder") (mkPrep "i") ;
|
||||
SwitchOffIn = dirV3 (regV "släcker") (mkPrep "i") ;
|
||||
SwitchOn = dirV2 (regV "tänder") ;
|
||||
SwitchOff = dirV2 (regV "släcker") ;
|
||||
|
||||
LivingRoom = defN (mkN "vardagsrum" "vardagsrummet" "vardagsrum" "vardagsrummen") ;
|
||||
Kitchen = defN (mk2N "kök" "kök") ;
|
||||
|
||||
MorningMode = mkMove ["morgonläget"] ;
|
||||
|
||||
}
|
||||
@@ -1,14 +0,0 @@
|
||||
lights:
|
||||
echo "s ;; pm | wf lights.gfcm" | gf Lights*.gf
|
||||
|
||||
agenda:
|
||||
echo "s ;; pm | wf agenda.gfcm" | gf Agenda*.gf
|
||||
|
||||
engcorpus:
|
||||
echo "gt -depth=4 | pt -transform=typecheck | l -all" | gf LightsEng.gf
|
||||
|
||||
swecorpus:
|
||||
echo "gt -depth=4 | pt -transform=typecheck | l -all" | gf LightsSwe.gf
|
||||
|
||||
doc:
|
||||
txt2tags -thtml -ogf-dialogue.html README.txt
|
||||
@@ -1,99 +0,0 @@
|
||||
Dialogue system grammars using GF resource.
|
||||
|
||||
AR 16/5/2006
|
||||
|
||||
|
||||
24/5 Added multimodality.
|
||||
|
||||
==Functionality and purpose==
|
||||
|
||||
Dialogue system abstract syntax + concrete syntaxes for
|
||||
different languages. One of them is Prolog (with some resemblance to
|
||||
dialogue moves in GoDiS).
|
||||
|
||||
The purpose is to show how new systems can be built for new domains just
|
||||
by specifying just two things:
|
||||
- a domain ontology in abstract syntax
|
||||
- a domain terminologies in concrete syntaxes
|
||||
|
||||
|
||||
This is based on two library elements
|
||||
- base dialogue grammars
|
||||
- resource grammar libraries
|
||||
|
||||
|
||||
In general, the only kind of elements that need to be added are
|
||||
constants (0-place fun's) of the following categories from Dialogue.gf.
|
||||
```
|
||||
Kind ; -- e.g. Room
|
||||
Object Kind ; -- e.g. Kitchen
|
||||
Oper0 ; -- e.g. Stop
|
||||
Oper1 Kind ; -- e.g. Play
|
||||
Oper2 Kind Kind ; -- e.g. Add
|
||||
Move ; -- e.g. MorningMode
|
||||
```
|
||||
|
||||
|
||||
==Files in this directory==
|
||||
|
||||
Files (for X = Eng, Fin, Fre, Prolog, Swe):
|
||||
|
||||
Files provided as library to build on:
|
||||
```
|
||||
Dialogue.gf -- base dialogue grammar
|
||||
DialogueX.gf -- implementation instance
|
||||
DialogueI.gf -- implementation functor
|
||||
|
||||
ResProlog.gf -- help constructs for Prolog terms
|
||||
|
||||
Weekday.gf -- untility grammar with weekdays
|
||||
WeekdayX.gf
|
||||
|
||||
AuxDialogue.gf-- interface of auxiliary resource-defined opers
|
||||
AuxX.gf -- instances for different languages
|
||||
```
|
||||
Files implementing two examples.
|
||||
```
|
||||
Agenda.gf -- application grammar for agenda
|
||||
AgendaX.gf
|
||||
|
||||
Lights.gf -- application grammar for lights
|
||||
Lights.gf
|
||||
```
|
||||
|
||||
==Files needed to build a new application==
|
||||
|
||||
To build a new application for domain Dom, you thus need
|
||||
```
|
||||
Dom.gf -- introduce fun's in Kind, Object, Oper0, Oper1, Oper2
|
||||
DomX.gf -- concrete syntax of the new fun's for language X
|
||||
```
|
||||
|
||||
==Some tests==
|
||||
|
||||
You first need to do, with the latest resource grammar version,
|
||||
- ``make present`` in ``lib/resource-1.0``
|
||||
|
||||
To test an application in GF, do e.g.
|
||||
- ``make lights`` to make a package with all the Lights grammars
|
||||
- ``make engcorpus`` to generate an English corpus
|
||||
- ``make swecorpus`` to generate a Swedish corpus
|
||||
|
||||
|
||||
|
||||
Here are some other commands:
|
||||
- ``i LightsEng.gf`` in current dir, to load a grammar
|
||||
- ``gr | l -all`` to random-generate
|
||||
- ``gt -depth=4 | pt -transform=typecheck | l -all`` to generate a corpus
|
||||
- ``p "switch off all lights in the kitchen"`` to parse
|
||||
- ``i LightsProlog.gf`` to load the Prolog version
|
||||
- ``pg -printer=gsl -startcat=Move`` to print a Nuance grammar
|
||||
- ``p -lang=LightsEng "switch off all lights" | pt -transform=solve | l -lang=LightsProlog``
|
||||
to translate from English to Prolog
|
||||
- ``si -tr -lang=LightsEng | p -cat=Move -lang=LightsEng | pt -transform=solve | l -lang=LightsProlog``
|
||||
to translate English speech into Prolog
|
||||
|
||||
|
||||
The last one is the coolest - but you may need to enable the ``speech_input`` command by installing ATK
|
||||
and recompiling GF.
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user