Neural Code Comprehension: A Learnable Representation of Code Semantics