You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- Outputs: ParserUpdateEventArgs events for task progress
31
-
- Threading: Single background thread, synchronized queue access
32
-
-**ParserWorker**: Executes parse tasks on background thread. Creates active parser (HCParser or XAmpleParser based on MorphologicalDataOA.ActiveParser setting), instantiates ParseFiler for result filing, handles TryAWord() test parses and BulkUpdateOfWordforms() batch processing.
-**HCParser** (IParser): HermitCrab parser implementation using SIL.Machine.Morphology.HermitCrab. Wraps Morpher and Language from SIL.Machine, manages FwXmlTraceManager for trace output, monitors ParserModelChangeListener for model changes. Supports GuessRoots, MergeAnalyses options. Maps HC Word/ShapeNode results to ParseResult/ParseAnalysis/ParseMorph.
-**XAmpleParser** (IParser): Legacy XAmple parser implementation via XAmpleManagedWrapper COM interop. Converts LCModel data to XAmple format using M3ToXAmpleTransformer and XAmplePropertiesPreparer. Invokes native XAmple DLL via IXAmpleWrapper COM interface.
-**ParserReport**: Report on overall parsing status
78
-
-**FwXmlTraceManager**: Manages XML trace output for HermitCrab parser diagnostics
26
+
-**ParserScheduler/ParserWorker**: Background thread scheduler with priority queue, executes parse tasks, manages ParserWork items and ParseFiler for result filing
27
+
-**HCParser/XAmpleParser**: IParser implementations for HermitCrab (SIL.Machine) and legacy XAmple (COM interop) engines
- Threading: COM STA required for XAmple parser interaction
102
-
-**Native DLL**: XAmpleDLLWrapper P/Invoke calls to native XAmple.dll
103
-
-**Managed wrapper**: XAmpleManagedWrapper.dll wraps COM calls for C# consumers
104
-
-**Data contracts**:
105
-
- FXT XML format for morphology export (consumed by M3ToXAmpleTransformer)
106
-
- XAmple ANA/DICT file formats (grammar/lexicon for legacy parser)
107
-
- ParseResult/ParseAnalysis/ParseMorph DTOs for parse results
108
-
-**Event contracts**: ParserUpdateEventArgs for task progress events
41
+
XAmpleCOMWrapper (C++/CLI) exposes IXAmpleWrapper COM interface to native XAmple.dll. Data contracts: ParseResult/ParseAnalysis/ParseMorph DTOs, ParserUpdateEventArgs.
109
42
110
43
## Threading & Performance
111
44
Single background thread (ParserWorker) with 5-level priority queue. Results delivered to UI thread via IdleQueue. XAmple requires STA threading.
0 commit comments