Commit 28f11d57f5b5e556775161ce7e97aee32db66069
1 parent
85860116
- praca nad parserem dla reguł zlepiania
git-svn-id: svn://svn.nlp.ipipan.waw.pl/morfeusz/morfeusz@84 ff4e3ee1-f430-4e82-ade0-24591c43f1fd
Showing
2 changed files
with
77 additions
and
0 deletions
fsabuilder/morfeuszbuilder/segrules/segrules.py
0 → 100644
1 | +''' | ||
2 | +Created on 24 sty 2014 | ||
3 | + | ||
4 | +@author: mlenart | ||
5 | +''' | ||
6 | + | ||
7 | +class SegmentRule(object): | ||
8 | + ''' | ||
9 | + classdocs | ||
10 | + ''' | ||
11 | + | ||
12 | + | ||
13 | + def __init__(self): | ||
14 | + ''' | ||
15 | + Constructor | ||
16 | + ''' | ||
17 | + | ||
18 | +class SimpleRule(SegmentRule): | ||
19 | + | ||
20 | + def __init__(self, name, typeId): | ||
21 | + self.name = name | ||
22 | + self.identifier = typeId | ||
23 | + | ||
24 | +class ComplexRule(SegmentRule): | ||
25 | + | ||
26 | + def __init__(self, children): | ||
27 | + self.children = children | ||
28 | + | ||
29 | +class ConcatRule(ComplexRule): | ||
30 | + | ||
31 | + def __init__(self, children): | ||
32 | + super(ConcatRule, self).__init__(children) | ||
33 | + | ||
34 | +class OrRule(ComplexRule): | ||
35 | + | ||
36 | + def __init__(self, children): | ||
37 | + super(OrRule, self).__init__(children) | ||
38 | + | ||
39 | +class UnaryRule(SegmentRule): | ||
40 | + | ||
41 | + def __init__(self, child): | ||
42 | + self.child = child | ||
43 | + | ||
44 | +class ZeroOrMoreRule(UnaryRule): | ||
45 | + | ||
46 | + def __init__(self, child): | ||
47 | + super(ZeroOrMoreRule, self).__init__(child) | ||
48 | + | ||
49 | +class IgnoreOrthRule(UnaryRule): | ||
50 | + | ||
51 | + def __init__(self, child): | ||
52 | + super(IgnoreOrthRule, self).__init__(child) |
fsabuilder/morfeuszbuilder/segrules/segsfsa.py
0 → 100644
1 | +''' | ||
2 | +Created on 24 sty 2014 | ||
3 | + | ||
4 | +@author: mlenart | ||
5 | +''' | ||
6 | + | ||
7 | +class SegmentsFSAState(object): | ||
8 | + | ||
9 | + def __init__(self): | ||
10 | + self.transitionsMap = {} | ||
11 | + | ||
12 | + def addSegmentRule(self, segmentRule): | ||
13 | + pass | ||
14 | + | ||
15 | +class SegmentsFSA(object): | ||
16 | + | ||
17 | + def __init__(self): | ||
18 | + self.initialState = SegmentsFSAState() | ||
19 | + | ||
20 | + def addSegmentRule(self, segmentRule): | ||
21 | + self.initialState.addSegmentRule(segmentRule) | ||
22 | + | ||
23 | + def serialize(self): | ||
24 | + res = bytearray() | ||
25 | + return res |