... transducer.1
The syntax at this point is merely suggestive. As an example, suppose that Tacr transduces phrases into acronyms. Then \begin{displaymath}x\Rightarrow T_{acr}(x)/\langle
\mbox{abbr}\rangle\mbox{\_\_}\langle /\mbox{abbr}\rangle\end{displaymath} would transduce <abbr>non-deterministic finite automaton</abbr> into <abbr>NDFA</abbr>.

To compare this with a backreference in Perl, suppose that Tacr is a subroutine that converts phrases into acronyms and that Racr is a regular expression matching phrases that can be converted into acronyms. Then (ignoring the left context) one can write something like: s/(Racr)(?=$ \langle$/ABBR$ \rangle$)/Tacr($1)/ge;. The backreference variable, $1, will be set to whatever string Racr matches.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... not.2
This approach is similar to the idea of laying down tracks as in the compilation of monadic second-order logic into automata Klarlund (1997, p. 5). In fact, this technique could possibly be used for a more efficient implementation of our algorithm: instead of adding transitions over 0 and 1, one could represent the alphabet as bit sequences and then add a final 0 bit for any ordinary symbol and a final 1 bit for a marker symbol.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... transitions.3
The alternative implementation is provided in [17].
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... as:4
The line with $$(rb1) can be optimized a bit: Since we know that an rb1 must be preceded by Phi, we can write: [ign_(non_markers(Phi),brack),rb1,xsig*]). This may lead to a more constrained (hence smaller) transducer.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... top#o#logical.5
An anonymous reviewer suggested that lm_concat could be implemented in the framework of [8] as:

$\displaystyle \mbox{[t o $\mid$ t o p $\mid$\space o $\mid$\space p o l o ] $\rightarrow$\space ... \char93 }$;

Indeed the resulting transducer from this expression would transduce topological into top#o#logical. But unfortunately this transducer would also transduce polotopogical into polo#top#o#gical, since the notion of left-right ordering is lost in this expression.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... filtering.6
The bracketing operator of [8], on the other hand, does not provide for left and right contexts.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...$\mbox{\it xy} \Rightarrow [_{NP}\, \mbox{\it RepairDet(x)
RepairN(y)}\,]/\lambda \mbox{\_\_}\rho$7
The syntax here has been simplified. The rule should be understood as: replace(lm_concat([[]:'[np', repair_det, repair_n, []:']'],lambda, rho).
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Noord G.J.M. van
1999-04-15