Exemple #1
0
        // ugly but x2 faster than the method based on IEnumerable
        protected int indexOf(ISliceView <ITokenMatch <SYMBOL_ENUM> > view)
        {
            int power  = 1;
            int result = 0;

            for (int i = 0; i < LookaheadWidth; ++i)
            {
                result += power * ((int)(object)(view[i].Token));
                power  *= edgesTable.GetLength(1);
            }

            return(result);
        }
Exemple #2
0
 // ugly but x2 faster than the method based on IEnumerable
 public IEnumerable <ParseAction <SYMBOL_ENUM, TREE_NODE> > Get(int row, ISliceView <ITokenMatch <SYMBOL_ENUM> > view)
 {
     return(actionsTable[row, indexOf(view)]);
 }