Пример #1
0
        X3DFieldBase ParseUntypedFieldValueArray()
        {
            char ts = GetNextTerminalSymbolToken();           // [

            object token = PeekNextToken();

            X3DFieldBase ret = null;

            VRMLTokenIdKeywordOrFieldType idToken = token as VRMLTokenIdKeywordOrFieldType;

            if (idToken != null)
            {
                ret = new MFNode(ParseUntypedFieldValueNodeArray());
            }

            VRMLTokenString strToken = token as VRMLTokenString;

            if (strToken != null)
            {
                ret = new MFString(ParseUntypedFieldValueStringArray());
            }

            VRMLTokenNumber numberToken = token as VRMLTokenNumber;

            if (numberToken != null)
            {
                ret = new MFNumbers(ParseUntypedFieldValueNumbers());
            }

            ts = GetNextTerminalSymbolToken();
            if (ts != ']')
            {
                ErrorParsingToken("]", ts.ToString(), "unknown type value (array)");
            }

            if (ret == null)
            {
                ret = new MFEmpty();
            }
            return(ret);
        }
		X3DFieldBase ParseUntypedFieldValueArray()
		{
			char ts=GetNextTerminalSymbolToken(); // [

			object token=PeekNextToken();

			X3DFieldBase ret=null;

			VRMLTokenIdKeywordOrFieldType idToken=token as VRMLTokenIdKeywordOrFieldType;
			if(idToken!=null) ret=new MFNode(ParseUntypedFieldValueNodeArray());

			VRMLTokenString strToken=token as VRMLTokenString;
			if(strToken!=null) ret=new MFString(ParseUntypedFieldValueStringArray());

			VRMLTokenNumber numberToken=token as VRMLTokenNumber;
			if(numberToken!=null) ret=new MFNumbers(ParseUntypedFieldValueNumbers());

			ts=GetNextTerminalSymbolToken();
			if(ts!=']') ErrorParsingToken("]", ts.ToString(), "unknown type value (array)");

			if(ret==null) ret=new MFEmpty();
			return ret;
		}