updated node class and subclasses to be more clean
created a lexer for lexing c++ code and annotations