コード例 #1
0
ファイル: Basic.cs プロジェクト: Punk-Sky/PunkOS
 /// <summary>
 /// Reset Basic to initial state
 /// </summary>
 public void Reset()
 {
     this.GOSUBStackPosition = 0;
     this.FORStackPosition = 0;
     this.WHILEStackPosition = 0;
     this.Ended = false;
     this.DontExectuteIF = false;
     this.CodeParser.Reset();
     this.NumericModifier = new NumericModifiers(this);
     this.StringModifier = new StringModifiers(this);
 }
コード例 #2
0
ファイル: Basic.cs プロジェクト: Punk-Sky/PunkOS
        /// <summary>
        /// Create a new BASIC Interpreter Instance
        /// </summary>
        /// <param name="Program">Program to excecute</param>
        /// <param name="CustomTokens">Custom Tokens</param>
        public Basic(String SourceCode, CodeParser.KeywordTokenConstructor[] CustomTokens)
        {
            for (byte i = 0; i < 26; i++)
            {
                NumericVariables.Add(new NumericBasicVariable(((char) (((char)i) + 'a')).ToString(), 0));
            }

            // Remove carrage return from sourcecode
            this.SourceCode = "";
            foreach (char c in SourceCode)
            {
                if (c != '\r')
                    this.SourceCode += c;
            }

            this.GOSUBStackPosition = 0;
            this.FORStackPosition = 0;
            this.WHILEStackPosition = 0;
            this.Ended = false;
            this.DontExectuteIF = false;
            this.CodeParser = new CodeParser(this.SourceCode, CustomTokens);
            this.NumericModifier = new NumericModifiers(this);
            this.StringModifier = new StringModifiers(this);
        }