コード例 #1
0
ファイル: PythonTranslator.cs プロジェクト: falun/crayon
        protected override void TranslateSwitchStatementContinuousSafe(List <string> output, SwitchStatementContinuousSafe switchStatement)
        {
            SwitchStatementContinuousSafe.SearchTree tree = switchStatement.GenerateSearchTree();
            int    switchId = this.GetNextInt();
            string varName  = "switch_key_" + switchId;

            output.Add(this.CurrentTabIndention);
            output.Add(varName);
            output.Add(" = ");
            this.TranslateExpression(output, switchStatement.Condition);
            output.Add("\r\n");
            this.GenerateSearchTree(output, tree, varName);
        }
コード例 #2
0
ファイル: PythonTranslator.cs プロジェクト: falun/crayon
 private void GenerateSearchTree(List <string> output, SwitchStatementContinuousSafe.SearchTree tree, string varName)
 {
     if (tree.Code == null)
     {
         output.Add(this.CurrentTabIndention);
         output.Add("if " + varName + " < " + tree.LessThanThis + ":\r\n");
         this.CurrentIndention++;
         this.GenerateSearchTree(output, tree.Left, varName);
         this.CurrentIndention--;
         output.Add(this.CurrentTabIndention);
         output.Add("else:\r\n");
         this.CurrentIndention++;
         this.GenerateSearchTree(output, tree.Right, varName);
         this.CurrentIndention--;
     }
     else
     {
         this.Translate(output, tree.Code);
     }
 }