A programming language for automatic language analysis