Index: branches/apertium-separable/examples/apertium-fao-nor.fao-nor.lsx =================================================================== --- branches/apertium-separable/examples/apertium-fao-nor.fao-nor.lsx (nonexistent) +++ branches/apertium-separable/examples/apertium-fao-nor.fao-nor.lsx (revision 81846) @@ -0,0 +1,105 @@ + + + ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzÀÁÂÄÅÆÈÉÊÍÐÒÓÔÖØÚÝàáâäåæèéêíðòóôöøúýČč𩹠+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +

snjúgvasnjúgvaseg

+ +

seg

+
+ +

haldahaldafram

+ +

fram,at,at

+ +
+
+
+ + Index: branches/apertium-separable/src/lsx_compiler.cc =================================================================== --- branches/apertium-separable/src/lsx_compiler.cc (revision 81845) +++ branches/apertium-separable/src/lsx_compiler.cc (revision 81846) @@ -178,9 +178,7 @@ } int -Compiler::matchTransduction(list const &pi, - list const &pd, - int estado, Transducer &t) +Compiler::matchTransduction(list const &pi, list const &pd, int estado, Transducer &t) { list::const_iterator izqda, dcha, limizqda, limdcha; @@ -242,7 +240,9 @@ int nuevo_estado = t.insertSingleTransduction(etiqueta, estado); if(etiqueta == alphabet(alphabet(L""),alphabet(L"")) - || etiqueta == alphabet(alphabet(L""),alphabet(L""))) + || etiqueta == alphabet(alphabet(L""),alphabet(L"")) + || etiqueta == alphabet(alphabet(L""), 0) + || etiqueta == alphabet(alphabet(L""), 0)) { t.linkStates(nuevo_estado, estado, 0); } @@ -470,14 +470,6 @@ { break; } - else if(name == COMPILER_ANYTAG_ELEM) - { - // list temp; - // readString(temp, name); - // cout << temp.size(); - // e.setSingleTransduction(temp,temp); - // readString(rhs, name); - } readString(lhs, name); } } @@ -510,6 +502,14 @@ EntryToken e; e.setSingleTransduction(lhs, rhs); + + // for(auto v : e.left()) + // { + // if(v == COMPILER_ANYTAG_ELEM) + // { + // } + // } + return e; } @@ -560,8 +560,8 @@ } else if(elements[i].isSingleTransduction()) { - e = matchTransduction(elements[i].left(), - elements[i].right(), e, t); + e = matchTransduction(elements[i].left(), elements[i].right(), e, t); + } else if(elements[i].isRegexp()) { @@ -791,6 +791,7 @@ wcerr << L">'." << endl; exit(EXIT_FAILURE); } + } }