Beispiel #1
0
        /// <summary>
        /// Passes an edge into the edge object
        /// </summary>
        /// <param name="T">Tokeniser to use</param>
        /// <returns></returns>
        public bool parseElement(Tokeniser T)
        {
            assertToken(T, Tokeniser.TokenType.T_Edge, "Edge expected");
            labelExpected(T, "name");
            T.getNextToken();
            name = T.getToken_string();
            labelExpected(T, "fromNodeName");
            T.getNextToken();
            assertToken(T, Tokeniser.TokenType.T_String, "String expected");
            fromNodeName = T.getToken_string();

            labelExpected(T, "toNodeName");
            T.getNextToken();
            assertToken(T, Tokeniser.TokenType.T_String, "String expected");
            toNodeName = T.getToken_string();

            T.getNextToken();
            if (T.getToken_string().Equals("hFromPortNumber"))
            {
                T.getNextToken();
                assertToken(T, Tokeniser.TokenType.T_Number, "Number expected");
                hFromPortNumber = T.getLongValue();
                T.getNextToken();
            }

            return(true);
        }
Beispiel #2
0
 /// <summary>Expect a label in the input stream</summary>
 /// <param name="T"></param>
 /// <param name="labelName"></param>
 public void labelExpected(Tokeniser T, String labelName)
 {
     T.getNextToken();
     assertToken(T, Tokeniser.TokenType.T_Label, "A label starting with '// " +
                 labelName + "' expected.  Found '" + T.getToken_string() + "'.");
     System.Diagnostics.Debug.Assert(T.getToken_string().Equals(labelName),
                                     "// " + labelName + " expected. Found '" + T.getToken_string() + "'.");
 }
Beispiel #3
0
        internal bool parseElement(Tokeniser T)
        {
            assertToken(T, Tokeniser.TokenType.T_Node, "Node expected");
            labelExpected(T, "name");
            T.getNextToken();
            name = T.getToken_string();
            labelExpected(T, "x");
            T.getNextToken();
            assertToken(T, Tokeniser.TokenType.T_Number, "Number expected");
            x = T.getLongValue();
            labelExpected(T, "y");
            T.getNextToken();
            assertToken(T, Tokeniser.TokenType.T_Number, "Number expected");
            y = T.getLongValue();
            labelExpected(T, "width");
            T.getNextToken();
            assertToken(T, Tokeniser.TokenType.T_Number, "Number expected");
            width = T.getLongValue();
            labelExpected(T, "height");
            T.getNextToken();
            assertToken(T, Tokeniser.TokenType.T_Number, "Number expected");
            height = T.getLongValue();
            // optional fields
            T.getNextToken();
            if (T.getToken_string().Equals("numberOfInPorts"))
            {
                T.getNextToken();
                assertToken(T, Tokeniser.TokenType.T_Number, "Number expected");
                T.getLongValue();                  // read outPorts
                T.getNextToken();
            }

            if (T.getToken_string().Equals("numberOfOutPorts"))
            {
                T.getNextToken();
                assertToken(T, Tokeniser.TokenType.T_Number, "Number expected");
                T.getLongValue();                  // read outPorts
                T.getNextToken();
            }

            if (T.getToken_string().Equals("Editor Node"))
            {
                // longNode=true;
                T.getNextToken();                  // Ignore version
                T.getNextToken();                  // Get node text
                editorText = T.getToken_string();
                T.getNextToken();                  // Some object data e.g Reason.MapperViewFactory3#CNodeViewReason2 9
                T.getNextToken();                  // some hex number e.g. 0x0
                T.getNextToken();                  // some hex number e.g. 0xcaffca
                T.getNextToken();                  // some integer number e.g. 1
                T.getNextToken();                  // some hex number and space delimited information
                T.getNextToken();                  // Version 1.1 Info
                if (T.getToken_string().Equals("Version 1.1 Info"))
                {
                    T.getNextToken();                      // Get comment if there
                    CommentText = T.getToken_string();
                    T.getNextToken();
                }
            }
            return(true);
        }