Associative definition of programming languages