public override Node VisitArrayConstant(MetaCodeParser.ArrayConstantContext context)
        {
            var text = context.GetText();
            var expressions = context.expression()
                                     .Select(expression => expression.Accept(this))
                                     .OfType<ExpressionNode>()
                                     .ToArray();

            return ConstantLiteralFactory.Array(expressions);
        }
 public override Node VisitStringConstant(MetaCodeParser.StringConstantContext context)
 {
     return new StringConstantLiteralNode(context.GetText().Trim('"').Trim('\''));
 }
        public override Node VisitBooleanConstant(MetaCodeParser.BooleanConstantContext context)
        {
            var text = context.GetText();

            return ConstantLiteralFactory.Logical(text);
        }
        public override Node VisitNumberConstant(MetaCodeParser.NumberConstantContext context)
        {
            var text = context.GetText();

            return ConstantLiteralFactory.Number(text);
        }