Example #1
0
        public bool AnalyzeLine(string str)
        {
            ScriptLine line = new ScriptLine(str);
            string     word = new string(new char[STR_MAXLEN]);

            line.Skip(" \t");
            if (!line.GetWord(ref word, " \t(=+-*/["))
            {
                return(true);
            }

            TokenInfo tokenInfo;

            if (!m_tokenMap.Get(word, out tokenInfo))
            {
                Error("AnalyzeLine - [{0}] is not a tokenMap", word);
                return(false);
            }

            if (tokenInfo.type == TOKENTYPE.TOKENTYPE_COMMAND)
            {
                if (!OnControl(line, tokenInfo.num))
                {
                    return(false);
                }
            }

            Parsing Parse = new Parsing();

            if (!Parse.Run(line.GetBase(), "$"))
            {
                Error("(,) error type AnalyzeLine 1");
                return(false);
            }

            for (int i = 0; i < Parse.GetNum(); i++)
            {
                var p = Parse.Get(i);
                if (!AnalyzeParse(ref p))
                {
                    return(false);
                }
            }

            return(true);
        }