forked from rc0/jbofihe
-
Notifications
You must be signed in to change notification settings - Fork 0
/
morf.h
52 lines (42 loc) · 1.12 KB
/
morf.h
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
/***************************************
$Header$
Header file for morphology functions module.
***************************************/
/* Copyright (C) Richard P. Curnow 2000-2001 */
/* LICENCE */
#ifndef MORF_H
#define MORF_H
/* Return type. Note that gismu/lujvo/fu'ivla are compressed together. This
* could be exposed later if the rest of the main program has a use for the
* information. */
typedef enum {
MT_BOGUS,
MT_GISMU,
MT_LUJVO,
MT_FUIVLA3, /* stage 3 */
MT_FUIVLA3_CVC, /* stage 3 starting with CVC rafsi */
MT_FUIVLA3X, /* stage-3-like with >1 rafsi before hyphen */
MT_FUIVLA3X_CVC, /* stage-3-like starting with CVC rafsi */
MT_FUIVLA4, /* stage 4 */
MT_CMAVOS,
MT_CMENE,
MT_BAD_UPPERCASE
} MorfType;
/* Structure for returning extra information about some of the
* word types */
struct morf_xtra {
union {
struct {
int is_bad;
int can_split;
char *ladoi;
char *tail;
} cmene;
struct {
char *hyph;
} stage_3;
} u;
};
/* Prototypes for fns */
extern MorfType morf_scan(char *s, char ***buf_end, struct morf_xtra *);
#endif /* MORF_H */