A node in the abstract syntax tree of a surface level program.
The topmost level node is ProgramNode.