コード例 #1
0
        public Interpreter()
        {
            Environment = new Environment();

            Environment.Words.AddRange(StackOperations.Primitives);
            Environment.Words.AddRange(MathOperations.Primitives);
            Environment.Words.AddRange(MemoryOperations.Primitives);
            Environment.Words.AddRange(StringOperations.Primitives);
            Environment.Words.AddRange(IOOperations.Primitives);
            Environment.Words.AddRange(Variables.Primitives);
            Environment.Words.AddRange(Compiling.Primitives);
            Environment.Words.AddRange(ControlFlow.Primitives);
            Environment.Words.AddRange(Comments.Primitives);
            Environment.Words.AddRange(DevEnvironment.Primitives);

            Interpret(KernelSourceCode);
            Environment.LastCompiledWord = null;
        }
コード例 #2
0
        private bool isInsideMultilineComment(Environment env)
        {
            if (env.IsMultilineCommentMode)
            {
                ParanEndedStringToken paranEndedStringToken = TokenReader.ReadParanEndedStringToken(env.TextBuffer);
                env.IsMultilineCommentMode = !paranEndedStringToken.IsEndingInParan;
                return true;
            }

            return false;
        }