PrimaryExpression and UnaryExpression are not decomposed and this has a negative impact on the amount of memory used.
UnaryExpression should be
classUnaryExpression : AstNode
{
Expression exp;
}and then
classPrefixExpression : UnaryExpression {}
classPreIncrementExpression : PrefixExpression {}
classPreDecrementExpression : PrefixExpression {}
classAtExpression : PrefixExpression {}
classDereferenceExpression : PrefixExpression {}
classPostfixExpression : UnaryExpression {}
classIndexExpression : PostfixExpression {}
classDotExpression : PostfixExpression {}
/**\ ETC \**/For example a.b.c takes almost 3 kB of memory.
PrimaryExpressionandUnaryExpressionare not decomposed and this has a negative impact on the amount of memory used.UnaryExpression should be
and then
For example
a.b.ctakes almost 3 kB of memory.