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);
}
+
}
}