Exemplo n.º 1
0
        private static bool IsOpenBrace(ElemType _type, string _cur, List <string> _list)
        {
            if (ElemIdentify.IsOpenComment(_cur))
            {
                return(true);
            }

            if (_list.Count > 0)
            {
                string nextLine = _list[0];

                if (nextLine.Equals("{") || nextLine.Equals("("))
                {
                    if (IElement.IsBraceType(_type))
                    {
                        _list.RemoveAt(0);
                        return(true);
                    }
                    else
                    {
                        string msg = "ElementParser::IsOpenBrace() Invalid open brace.";
                        msg += string.Format(" type = {0}, cur = {1}, next = {2}", _type, _cur, nextLine);
                        Debug.Assert(false, msg);
                        throw new Exception(msg);
                    }
                }
            }

            return(false);
        }
Exemplo n.º 2
0
        private static bool IsCloseBrace(ElemType _root_type, string _line)
        {
            if (_root_type == ElemType.GroupComment)
            {
                if (!ElemIdentify.IsOpenComment(_line) && ElemIdentify.IsCloseComment(_line))
                {
                    return(true);
                }

                return(false);
            }

            if (_line.Equals("}") || _line.Equals(")"))
            {
                return(true);
            }

            return(false);
        }
Exemplo n.º 3
0
        public static bool IsLostParentConstMember(IElement _elem)
        {
            if (!ElemIdentify.IsConstMember(_elem.originData) && !ElemIdentify.IsDefine(_elem.originData))
            {
                return(false);
            }

            if (_elem.elemType == ElemType.Comment ||
                _elem.elemType == ElemType.ForceComment)
            {
                return(false);
            }

            if (_elem.parent.elemType != ElemType.Root &&
                _elem.parent.elemType != ElemType.NameSpace)
            {
                return(false);
            }

            return(true);
        }
Exemplo n.º 4
0
        public static ElemType GetType(ref string _line)
        {
            if (ElemIdentify.IsComment(_line))
            {
                return(ElemType.Comment);
            }

            if (ElemIdentify.IsGroupComment(_line))
            {
                return(ElemType.GroupComment);
            }

            if (ElemIdentify.IsForceComment(_line))
            {
                return(ElemType.ForceComment);
            }

            if (ElemIdentify.IsInclude(_line) ||
                ElemIdentify.IsUsingNamespace(_line))
            {
                return(ElemType.Include);
            }

            if (ElemIdentify.IsDefine(_line))
            {
                return(ElemType.Define);
            }

            if (ElemIdentify.IsNamespace(_line))
            {
                return(ElemType.NameSpace);
            }

            if (ElemIdentify.IsClass(_line))
            {
                return(ElemType.Class);
            }

            if (ElemIdentify.IsStruct(_line))
            {
                return(ElemType.Struct);
            }

            if (ElemIdentify.IsEnum(_line))
            {
                return(ElemType.Enum);
            }

            if (ElemIdentify.IsEnumMember(_line))
            {
                return(ElemType.EnumMember);
            }

            if (ElemIdentify.IsFunction(_line))
            {
                return(ElemType.Function);
            }

            if (ElemIdentify.IsConstMember(_line))
            {
                return(ElemType.ConstMember);
            }

            if (ElemIdentify.IsMember(_line))
            {
                return(ElemType.Member);
            }

            string msg = "ElementFactory::GetType() Not implemented type. line = " + _line;

            Debug.Assert(false, msg);
            throw new Exception(msg);
        }