public static void translate ( Syntax syntax , Definition source , int [ ] moves , int [ ] symbols , Definition target , int modifier ) throws GenericException { IntBitSet [ ] stoppers ; List < Definition > targets ; int i ; if ( moves . length - 1 != symbols . length ) { throw new IllegalArgumentException ( ) ; } stoppers = new IntBitSet [ moves . length ] ; targets = new ArrayList < Definition > ( ) ; targets . add ( target ) ; for ( i = 0 ; i < symbols . length ; i ++ ) { stoppers [ i ] = new IntBitSet ( ) ; stoppers [ i ] . add ( symbols [ i ] ) ; } stoppers [ i ] = new IntBitSet ( ) ; stoppers [ i ] . add ( target . getAttribute ( ) . symbol ) ; translate ( syntax , modifier , source , targets , moves , stoppers ) ; }
Creates a path with 1 + steps