Difference between revisions of "Talk:Automatically trimming a monodix"
Jump to navigation
Jump to search
(Created page with '==Implementing automatic trimming in lttoolbox== The simplest method seems to be to first create the analyser in the normal way, then loop through all its states (see transducer.…') |
|||
Line 11: | Line 11: | ||
for s, next_b in bidix.transitions[current_b]: |
for s, next_b in bidix.transitions[current_b]: |
||
if s==symbol: |
if s==symbol: |
||
trim(next_a, next_b |
trim(next_a, next_b) |
||
found = true |
found = true |
||
if seen tags: |
|||
found = true |
|||
if !found && !current_b.isFinal(): |
if !found && !current_b.isFinal(): |
||
Line 24: | Line 26: | ||
Trimming while reading the XML file might have lower memory usage, but seems like more work, since pardefs are read before we get to an "initial" state. |
Trimming while reading the XML file might have lower memory usage, but seems like more work, since pardefs are read before we get to an "initial" state. |
||
https://github.com/unhammer/lttoolbox/branches has some experiments |
Revision as of 14:31, 9 February 2013
Implementing automatic trimming in lttoolbox
The simplest method seems to be to first create the analyser in the normal way, then loop through all its states (see transducer.cc:Transducer::closure for a loop example), trying to do the same steps in parallel with the compiled bidix:
trim(current_a, current_b): for symbol, next_a in analyser.transitions[current_a]: found = false for s, next_b in bidix.transitions[current_b]: if s==symbol: trim(next_a, next_b) found = true if seen tags: found = true if !found && !current_b.isFinal(): delete symbol from analyser.transitions[current_a] // else: all transitions from this point on will just be carried over unchanged by bidix trim(analyser.initial, bidix.initial)
Trimming while reading the XML file might have lower memory usage, but seems like more work, since pardefs are read before we get to an "initial" state.
https://github.com/unhammer/lttoolbox/branches has some experiments