ast nodes
ast nodes
ast nodes accept method
ast node accept
merge conflict
semantic analyzer
sem. analyzer