コード例 #1
0
        private CoordPair[] GetPairs()
        {
            int cnt = GrammarApi.sol_GetProjCoordCount(_engine.GetEngineHandle(), _hList, _idx);
            var res = new CoordPair[cnt];

            for (int i = 0; i < cnt; ++i)
            {
                int coordId = GrammarApi.sol_GetProjCoordId(_engine.GetEngineHandle(), _hList, _idx, i);
                int stateId = GrammarApi.sol_GetProjStateId(_engine.GetEngineHandle(), _hList, _idx, i);

                res[i] = new CoordPair(coordId, stateId,
                                       _engine.GetCoordName(coordId),
                                       _engine.GetCoordStateName(coordId, stateId));
            }

            return(res);
        }
コード例 #2
0
        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));
            }
        }
コード例 #3
0
 public int GetVersionEntryID(int version_index)
 {
     return(GrammarApi.sol_GetNodeVerIEntry(_gren.GetEngineHandle(), _hNode, version_index));
 }