-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathlexe.lil
More file actions
103 lines (89 loc) · 1.59 KB
/
lexe.lil
File metadata and controls
103 lines (89 loc) · 1.59 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
:- module("lexe").
:- module_interface.
:- ensure_loaded("types").
:- ensure_loaded("grammar").
lexe <- [pred].
:- module_implementation.
% PREPOSITIONS
% up to, to
lexe("do",
SYNSEM\LOCAL\CAT\
( HEAD\PFORM\do_gen
& VAL\COMPS\[ CAT\HEAD\CASE\gen ]
)
& WORDORDER\WO_CLITIC\proclitic
).
% in, inside
lexe("u",
SYNSEM\LOCAL\CAT\
( HEAD\PFORM\$pform
& VAL\COMPS\[ CAT\HEAD\CASE\$case ]
)
& WORDORDER\WO_CLITIC\proclitic
) :-
member([$pform, $case],
[ [u_loc, loc]
, [u_acc, acc]
, [u_gen, gen]
]).
% towards
lexe($phon,
SYNSEM\LOCAL\CAT\
( HEAD\PFORM\k_loc
& VAL\COMPS\[ CAT\HEAD\(noun_like & CASE\loc) ]
)
& WORDORDER\WO_CLITIC\proclitic
) :-
% TODO rules for selection
$phon = "k";
$phon = "ka".
% like
lexe("poput",
SYNSEM\LOCAL\CAT\
( HEAD\PFORM\poput_gen
& VAL\
( COMPS\
[ ( MAND\plus
& CAT\HEAD\
( noun_like
& CASE\gen
)
)
]
& MOD\[ CAT\HEAD\$mod ]
)
)
& WORDORDER\WO_CLITIC\proclitic
) :-
member($mod, [adverb, adjective, noun_like, verb]).
% ADVERBS
% today
lexe("danas",
SYNSEM\LOCAL\CAT\
( HEAD\adverb
& VAL\MOD\[ CAT\HEAD\PREDICATE\plus ]
)
).
% very
% TODO: replace MOD\adjective with MOD\gradable
% because it can be certain adverbs too
% and maybe kick verb out
lexe("jako",
SYNSEM\LOCAL\CAT\
( HEAD\adverb
& VAL\MOD\[ CAT\HEAD\$mod ]
)
) :-
member($mod, [adjective, verb]).
% CONJUNCTIONS
% because
lexe("jer",
SYNSEM\LOCAL\CAT\
( HEAD\conj
& VAL\
( COMPS\[ CAT\CLAUSE\plus ]
& MOD\[ CAT\CLAUSE\plus ]
)
)
& WORDORDER\WO_CBLOCK\in_cb
).