コード例 #1
0
ファイル: ServerScript.cs プロジェクト: laszlo-kiss/Dataphor
        internal ServerScript(ServerProcess process, string script, DebugLocator locator) : base()
        {
            _process       = process;
            _batches       = new ServerBatches();
            _messages      = new ParserMessages();
            _sourceContext = new SourceContext(script, locator);
            try
            {
                _script = _process.ParseScript(script, _messages);
            }
            catch (SyntaxException e)
            {
                e.SetLocator(locator);
                throw;
            }
            _messages.SetLocator(locator);
            if ((_script is Block) && (((Block)_script).Statements.Count > 0))
            {
                Block block = (Block)_script;

                for (int index = 0; index < block.Statements.Count; index++)
                {
                    _batches.Add(new ServerBatch(this, block.Statements[index]));
                }
            }
            else
            {
                _batches.Add(new ServerBatch(this, _script));
            }
        }