protected ModedMatchData simpleScan(InputPosition whence,
            						 int shiftable,
            						 LinkedList<ModedMatchData> layouts)
	throws IOException
	{
		// DEBUG-X-BEGIN
		//System.err.println("Simple-shiftable " + shiftable);
		// DEBUG-X-END
		int currentState = shiftable;
		char symbol = '\0';
		InputPosition p;
		int present = -1;
		InputPosition presentPos = whence;
		for(p = InputPosition.copy(whence);;p = InputPosition.advance(p,symbol))
		{
			if(currentState == 0) break;
			int tA = acceptSets[currentState];
			if(tA != -1)
			{
				present = tA;
				presentPos = InputPosition.copy(p);
			}
			symbol = buffer.charAt(p.getPos());
			if(symbol == ScannerBuffer.EOFIndicator)
			{
				break;
			}
			currentState = transition(currentState,symbol);
		}
		if(symbol == ScannerBuffer.EOFIndicator &&
		   p.equals(whence)/* &&
		   shiftableSets[this.currentState.statenum].get(EOF_SYMNUM)*/)
		{
			present = EOF_SYMNUM;
			return new ModedMatchData(present,whence,p,"",layouts);
		}
		else return new ModedMatchData(present,whence,presentPos,buffer.readStringFromBuffer(whence.getPos(),presentPos.getPos()),layouts);
	}