public bool Visit(FormalParamSection node)
        {
            var paramSectionType = _symStack.FindType(node.ParamType.ToString());

            if (paramSectionType == null)
            {
                throw new Exception(string.Format("({0}, {1}) semantic error: type '{2}' is not found",
                                                  node.ParamType.Token.Line, node.ParamType.Token.Column, node.ParamType.ToString()));
            }

            foreach (var ident in node.ParamList)
            {
                CheckIdentifierDuplicateInScope(ident.Token);
                _symStack.AddParameter(node.ParamModifier, ident.ToString(), paramSectionType);
            }

            return(true);
        }