Programming for Corpus Linguistics: How to Do Text Analysis with Java (Edinburgh Textbooks in Empirical Linguistics EUP)