public LanguageType Visit(FunctionNode node)
        {
            CurrentSymbolTable = node.SymbolTable;
            node.AcceptSiblings(node.Params, this);
            node.AcceptChildren(this);
            CurrentSymbolTable = node.SymbolTable.parent;

            return(LanguageType.Null);
        }
        public void Visit(FunctionNode node)
        {
            CurrentSymbolTable.Insert(node.Identifier, node.Type, node);

            CurrentSymbolTable.OpenScope();
            node.AcceptSiblings(node.Params, this);
            node.AcceptChildren(this);
            node.SymbolTable = CurrentSymbolTable.currentTable;
            CurrentSymbolTable.CloseScope();
        }