flookup reports file format error and file error
GoogleCodeExporter opened this issue · comments
Google Code Exporter commented
What steps will reproduce the problem?
echo regék | flookup -x hun41.foma
File format error foma!
: Success
File error: hun41.foma
Hun41 lexc/foma look:
!!!hun41.lexc!!!
Multichar_Symbols +N +V +Nom +Pl
!Poss
+Posss1 +Posss2 +Posss3 +Possp1 +Possp2 +Possp3
+Posss1p +Posss2p +Posss3p +Possp1p +Possp2p +Possp3p
!Genitiv
+Gen
+Genpl
!Cases
+Abl +Acc +Ade +All
+Cau +Dat +Del
+Ela +Fac +For
+Ill +Ine +Ins
+Sub +Sup +Ter
!Special cases
+Dis +Ess +Fam +Soc +Tem
LEXICON Root
Noun ;
LEXICON Noun
!+N:kar Plur;
!+N:kéz Plur;
!+N:kör Plur;
!+N:hajó Plur;
rege Poss;
LEXICON Poss
+Dis:^Lnként #;
+Ess:^Zl #;
+Soc:^NstZl #;
+Tem:^kor #;
+Posss1:^Bm Plur;
+Posss2:^Bd Plur;
+Posss3:^JC Plur;
+Possp1:^Hnk Plur;
+Possp2:^KtQk Plur;
+Possp3:^JRk Plur;
+Posss1p:^STim Plur;
+Posss2p:^STid Plur;
+Posss3p:^STi Plur;
+Possp1p:^STink Plur;
+Possp2p:^STitWk Plur;
+Possp3p:^STik Plur;
Plur;
LEXICON Plur
+Plur:^Ok Fam;
Fam;
LEXICON Fam
+Fam:^ék Gen;
Gen;
LEXICON Gen
+Gen:^é Case;
+Genpl:^éi Case;
Case;
! H, K, unused
LEXICON Case
+Abl:^tUl #;
+Acc:^Gt #;
+Ade:^nDl #;
+All:^hIz #;
+Cau:^ért #;
+Dat:^nFk #;
+Del:^rUl #;
+Ela:^bUl #;
+Fac:^VD #;
+For:^ként #;
+Ill:^bF #;
+Ine:^bFn #;
+Ins:^VFl #;
+Sub:^rF #;
+Sup:^Pn #;
+Ter:^ig; #;
### hun4.foma ###
# Vowels
define Vowel [ a | á | e | é | i | í | o | ó | u | ú | ü | ű | ö | ő ];
define BackVowel [ a | á | o | ó | u | ú ];
define FrontUnroundedVowel [ e | é | i | í | ü | ű ];
define FrontRoundedVowel [ ö | ő ];
define FrontVowel [e | é | i | í | ü | ű | ö | ő ];
# E to é: if any ending e-> é
define Etoee e -> é || _ "^" [ \0 ] ;
# Cleanup: remove morpheme boundaries
define Cleanup "^" -> 0;
#define DelRule O -> 0 || Vowel %^ _ ;
define HarmRuleO O -> 0 // Vowel %^ _ .o.
O -> o // BackVowel \Vowel+ _ ,,
O -> e // FrontUnroundedVowel \Vowel+ _ ,,
O -> ö // FrontRoundedVowel \Vowel+ _ ;
define HarmRuleB B -> 0 // Vowel %^ _ .o.
B -> o // BackVowel \Vowel+ _ ,,
B -> e // FrontUnroundedVowel \Vowel+ _ ,,
B -> ö // FrontRoundedVowel \Vowel+ _ ;
define HarmRuleA A -> 0 // Vowel %^ _ .o.
A -> a // BackVowel \Vowel+ _ ,,
A -> e // FrontVowel \Vowel+ _ ;
define HarmRuleC C -> a // BackVowel \Vowel+ _ .#. .o.
C -> e // FrontVowel \Vowel+ _ .#. .o.
C -> á // BackVowel \Vowel+ _ .o.
C -> é // FrontVowel \Vowel+ _ ;
define HarmRuleJ J -> j || Vowel %^ _ .o.
J -> 0 // \Vowel+ _ ;
define HarmRuleU U -> ó // BackVowel \Vowel+ _ ,,
U -> ő // FrontVowel \Vowel+ _ ;
define HarmRuleZ Z -> u // BackVowel \Vowel+ _ ,,
Z -> ü // FrontVowel \Vowel+ _ ;
define HarmRuleD D -> á // BackVowel \Vowel+ _ ,,
D -> é // FrontVowel \Vowel+ _ ;
define HarmRuleF F -> a // BackVowel \Vowel+ _ ,,
F -> e // FrontVowel \Vowel+ _ ;
define HarmRuleV V -> v || Vowel %^ _ ,,
V -> k || k %^ _ ,,
V -> m || m %^ _ ,,
V -> d || d %^ _ ,,
V -> r || r %^ _ ;
define HarmRuleG G -> 0 // Vowel %^ _ .o.
G -> o // BackVowel \Vowel+ _ ,,
G -> e // FrontUnroundedVowel \Vowel+ _ ,,
G -> ö // FrontRoundedVowel \Vowel+ _ ;
define HarmRuleI I -> o // BackVowel \Vowel+ _ ,,
I -> e // FrontUnroundedVowel \Vowel+ _ ,,
I -> ö // FrontRoundedVowel \Vowel+ _ ;
define HarmRuleP P -> 0 // Vowel %^ _ .o.
P -> o // BackVowel \Vowel+ _ ,,
P -> e // FrontUnroundedVowel \Vowel+ _ ,,
P -> ö // FrontRoundedVowel \Vowel+ _ ;
define HarmRuleL L -> 0 // Vowel %^ _ .o.
L -> o // BackVowel \Vowel+ _ ,,
L -> e // FrontUnroundedVowel \Vowel+ _ ,,
L -> ö // FrontRoundedVowel \Vowel+ _ ;
define HarmRuleN N -> 0 // Vowel %^ _ .o.
N -> o // BackVowel \Vowel+ _ ,,
N -> e // FrontUnroundedVowel \Vowel+ _ ,,
N -> ö // FrontRoundedVowel \Vowel+ _ ;
define HarmRuleH H -> 0 // Vowel %^ _ .o.
H -> u // BackVowel \Vowel+ _ ,,
H -> ü // FrontVowel \Vowel+ _ ;
define HarmRuleK K -> 0 // Vowel %^ _ .o.
K -> o // BackVowel \Vowel+ _ ,,
K -> e // FrontUnroundedVowel \Vowel+ _ ,,
K -> ö // FrontRoundedVowel \Vowel+ _ ;
define HarmRuleQ Q -> o // BackVowel \Vowel+ _ ,,
Q -> e // FrontUnroundedVowel \Vowel+ _ ,,
Q -> ö // FrontRoundedVowel \Vowel+ _ ;
define HarmRuleR R -> u // BackVowel \Vowel+ _ ,,
R -> ü // FrontVowel \Vowel+ _ ;
define HarmRuleS S -> j || Vowel %^ _ .o.
S -> 0 // \Vowel+ _ ;
define HarmRuleT T -> a // BackVowel \Vowel+ _ ,,
T -> e // FrontVowel \Vowel+ _ ;
define HarmRuleW W -> o // BackVowel \Vowel+ _ ,,
W -> e // FrontVowel \Vowel+ _ ;
define Ablaut é -> e || _ z "^" [ \0 ] ;
read lexc hun41.lexc
define Lexicon
define Grammar Lexicon .o.
HarmRuleO .o.
HarmRuleB .o.
HarmRuleA .o.
HarmRuleJ .o.
HarmRuleU .o.
HarmRuleC .o.
HarmRuleZ .o.
HarmRuleD .o.
HarmRuleF .o.
HarmRuleV .o.
HarmRuleG .o.
HarmRuleI .o.
HarmRuleP .o.
HarmRuleL .o.
HarmRuleN .o.
HarmRuleH .o.
HarmRuleK .o.
HarmRuleQ .o.
HarmRuleR .o.
HarmRuleS .o.
HarmRuleT .o.
HarmRuleW .o.
Ablaut .o.
Etoee .o.
Cleanup;
regex Grammar;
Original issue reported on code.google.com by eleonor...@gmx.net
on 1 Jan 2012 at 7:03
Google Code Exporter commented
hun41.foma works perfectly well with foma.
Original comment by eleonor...@gmx.net
on 1 Jan 2012 at 10:15
Google Code Exporter commented
Are you sure hun41.foma is a binary file. That is, did you create it by having
only one network on the stack in foma with the command "save stack"? Like so:
foma[1]: save stack hun41.foma
What's pasted looks like a lexc-file.
Original comment by mans.hul...@gmail.com
on 2 Jan 2012 at 10:09
Google Code Exporter commented
Thanks, that works.
en@en-desktop ~/program/foma/tktest $ echo regék | flookup hun41.fst
regék rege+Plur+Nom
en@en-desktop ~/program/foma/tktest $ echo rege+Plur+Nom | flookup -i
hun41.fst
rege+Plur+Nom regék
It would be good, if this (save stack file.fst needed) were mentioned in the
flookup documentation. For me .foma is a txt file.
Original comment by eleonor...@gmx.net
on 2 Jan 2012 at 6:49