using System; using System.Collections.Generic; using System.IO; using System.Linq; namespace MarkovGrams { class MainClass { public static void Main(string[] args) { if(args.Length != 4) { Console.WriteLine("Usage:"); Console.WriteLine(" ./MarkovGrams.exe "); return; } string wordlistFilename = args[0]; int order = int.Parse(args[1]); int desiredStringLength = int.Parse(args[2]); int count = int.Parse(args[3]); IEnumerable words = File.ReadLines(wordlistFilename).SelectMany(word => word.Trim().Split(' ')); IEnumerable ngrams = NGrams.GenerateFlat(words, order); UnweightedMarkovChain chain = new UnweightedMarkovChain(ngrams); for(int i = 0; i < count; i++) Console.WriteLine(chain.Generate(desiredStringLength)); } } }