/// <summary> /// Loads an entry from a binary stream. /// </summary> public static EntryToken Load(BinaryReader reader, GrammarEngine engine) { int id = reader.ReadInt32(); string srcWord = reader.ReadString(); return(new EntryToken(engine.GetEntry(id), srcWord)); }
internal WordProjection(GrammarEngine engine, IntPtr hList, int idx) { _engine = engine; _hList = hList; _idx = idx; Entry = _engine.GetEntry(GrammarApi.sol_GetIEntry(_hList, _idx)); }
public SyntaxTreeNode(GrammarEngine gren, IntPtr hNode) { _gren = gren; _hNode = hNode; Entry = gren.GetEntry(GrammarApi.sol_GetNodeIEntry(_gren.GetEngineHandle(), _hNode)); SourceWord = GetNodeContents(_hNode); int nleaf = GrammarApi.sol_CountLeafs(_hNode); Leafs = new SyntaxTreeNode[nleaf]; for (int i = 0; i < nleaf; ++i) { Leafs[i] = new SyntaxTreeNode(_gren, GrammarApi.sol_GetLeaf(_hNode, i)); } }