# Structs
ArrayLiteral is a Node that represents a slice of Expressions.
BlockStatement is a Node and a slice of Statements.
Boolean is both a Node and an Expression.
CallExpression is a Node and an Expression.
Expression Statement is both a Node and Statement, ast.Expression can be added to the Statements slice of ast.Program.
FunctionLiteral is a Node and an Expression.
HashLiteral is a hashmap Node.
Identifier is both a Node and an Expression.
IfExpression is both a Node and an Expression.
IndexExpression is an Expression Node for indexing into Arrays.
InfixExpression is both a Node and an Expression.
No description provided by the author
LetStatement is both a a Node and a Statement.
PrefixExpression is both a Node and an Expression.
Program is a Node that contains a slice of Statements, which are also Nodes.
No description provided by the author
StringLiteral is a Node that represents strings.
# Interfaces
Expression Nodes.
Everything is a Node in the Abstract Syntax Tree.
Statement Nodes.