示例#1
0
        public void CompileFullCode()
        {
            enabled = true;

            lastLineNumber = 0;

            theVarWindow.ResetList();

            foreach (IPMCompilerStarted ev in UISingleton.FindInterfaces <IPMCompilerStarted>())
            {
                ev.OnPMCompilerStarted();
            }

            try
            {
                compiledCode = CreateProcessor();
                compiledCode.AddBuiltin(BUILTIN_FUNCTIONS.ToArray());
                compiledCode.AddBuiltin(addedFunctions.ToArray());
            }
            catch (SyntaxException e) when(!e.SourceReference.IsFromClr)
            {
                StopCompiler(StopStatus.RuntimeError);
                PMWrapper.RaiseError(e.SourceReference.FromRow, e.Message);
            }
            catch (Exception e)
            {
                StopCompiler(StopStatus.RuntimeError);
                PMWrapper.RaiseError(e.Message);
            }
        }