Evolving Algebra Model of Programming Language Semantics