public override double VisitFuncDef(MeelanLanguageParser.FuncDefContext context)
        {
            var functionName = context.ID().GetText();

            if (_callStack.CurrentScope.HasFunctionDeclared(functionName))
            {
                throw new InvalidOperationException(
                          $"A function {functionName} has already been declared in this scope.");
            }

            _callStack.CurrentScope.SetFunction(functionName, context);

            return(0);
        }
 public void SetFunction(string functionName, MeelanLanguageParser.FuncDefContext functionContext)
 {
     Functions[functionName] = functionContext;
 }