Пример #1
0
        /// <summary>
        /// Reads the define file.
        /// </summary>
        private void Read()
        {
            _scanner.Read();

            string token = null;

            while ((token = _scanner.GetToken()) != null)
            {
                if (token == "#" && _scanner.GetToken() == "define")
                {
                    string defineName = _scanner.GetToken();

                    if (_scanner.CurrentTokenIs("#"))
                    {
                        continue;
                    }

                    var defineValueToken = _scanner.GetToken();

                    if (defineValueToken is null)
                    {
                        continue;
                    }

                    object defineValue = ParseDefineValue(defineValueToken);

                    if (_defines.ContainsKey(defineName))
                    {
                        _defines[defineName] = defineValue;
                    }
                    else
                    {
                        _defines.Add(defineName, defineValue);
                    }
                }
            }
        }
Пример #2
0
        private void Read()
        {
            _scanner.Read();

            string token = null;

            while ((token = _scanner.GetToken()) != null)
            {
                switch (token)
                {
                case "{":
                    _statements.Add(ParseBlock());
                    break;

                case "(":
                    _statements.Add(ParseInstruction());
                    break;

                case "=":
                    _statements.Add(ParseVariable());
                    break;
                }
            }
        }