當前位置: 首頁>>代碼示例>>C#>>正文


C# Processor.VisitorArgument類代碼示例

本文整理匯總了C#中Unicoen.Processor.VisitorArgument的典型用法代碼示例。如果您正苦於以下問題:C# VisitorArgument類的具體用法?C# VisitorArgument怎麽用?C# VisitorArgument使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。


VisitorArgument類屬於Unicoen.Processor命名空間,在下文中一共展示了VisitorArgument類的11個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的C#代碼示例。

示例1: Visit

 public override bool Visit(
     UnifiedReferenceType element, VisitorArgument arg)
 {
     Writer.Write("/* & */");
     element.Type.TryAccept(this, arg);
     return false;
 }
開發者ID:macc704,項目名稱:UNICOEN,代碼行數:7,代碼來源:JavaLikeCodeFactoryVisitor.Types.cs

示例2: Visit

 public override bool Visit(UnifiedImport element, VisitorArgument arg)
 {
     Writer.Write("import ");
     element.Modifiers.TryAccept(this, arg);
     element.Name.TryAccept(this, arg);
     return false;
 }
開發者ID:macc704,項目名稱:UNICOEN,代碼行數:7,代碼來源:Python2CodeFactoryVisitor.Statements.cs

示例3: Visit

 public override bool Visit(UnifiedProgram element, VisitorArgument arg)
 {
     element.MagicComment.TryAccept(this, arg);
     Writer.WriteLine();
     element.Body.TryAccept(this, arg);
     return false;
 }
開發者ID:UnicoenProject,項目名稱:UNICOEN,代碼行數:7,代碼來源:Python2CodeFactoryVisitor.Others.cs

示例4: Visit

        // ブロック(UnifiedBlock)
        public override bool Visit(UnifiedBlock element, VisitorArgument arg)
        {
            // 要素の左端に記述すべきものがある場合はそれを出力する
            // プログラム全體の場合は何も出力しないが、関數の場合には中括弧が必要になるなど
            if (!string.IsNullOrEmpty(arg.Decoration.MostLeft)) {
                Writer.WriteLine(arg.Decoration.MostLeft);
                arg = arg.IncrementDepth();
            }

            // ブロック內の要素を列挙する
            // セミコロンが必要な要素の場合にはセミコロンを出力する
            foreach (var stmt in element) {
                WriteIndent(arg);
                if (stmt.TryAccept(this, arg)) {
                    Writer.Write(";");
                }
                Writer.Write(arg.Decoration.EachRight);
            }

            // 要素の右端に記述すべきものがある場合はインデントを元に戻しそれを出力する
            if (!string.IsNullOrEmpty(arg.Decoration.MostRight)) {
                arg = arg.DecrementDepth();
                WriteIndent(arg);
                Writer.Write(arg.Decoration.MostRight);
            }
            return false;
        }
開發者ID:macc704,項目名稱:UNICOEN,代碼行數:28,代碼來源:CCodeFactoryVisitor.Statements.cs

示例5: Visit

 public override bool Visit(UnifiedImport element, VisitorArgument arg)
 {
     Writer.Write(ImportKeyword);
     element.Modifiers.TryAccept(this, arg);
     element.Name.TryAccept(this, arg);
     return true;
 }
開發者ID:macc704,項目名稱:UNICOEN,代碼行數:7,代碼來源:JavaLikeCodeFactoryVisitor.Statements.cs

示例6: Visit

 public override bool Visit(UnifiedLambda element, VisitorArgument arg)
 {
     element.Parameters.TryAccept(this, arg);
     Writer.Write(" => ");
     element.Body.Accept(this, arg);
     return true;
 }
開發者ID:macc704,項目名稱:UNICOEN,代碼行數:7,代碼來源:CSharpCodeFactoryVisitor.cs

示例7: Visit

 //単項演算子
 public override bool Visit(
         UnifiedUnaryOperator element, VisitorArgument arg)
 {
     var kind = element.Kind;
     switch (kind) {
     case (UnifiedUnaryOperatorKind.Negate):
         Writer.Write("-");
         break;
     case (UnifiedUnaryOperatorKind.Not):
         Writer.Write("!");
         break;
     case (UnifiedUnaryOperatorKind.PostDecrementAssign):
     case (UnifiedUnaryOperatorKind.PreDecrementAssign):
         Writer.Write("--");
         break;
     case (UnifiedUnaryOperatorKind.PostIncrementAssign):
     case (UnifiedUnaryOperatorKind.PreIncrementAssign):
         Writer.Write("++");
         break;
     case (UnifiedUnaryOperatorKind.UnaryPlus):
         Writer.Write("+");
         break;
     case (UnifiedUnaryOperatorKind.OnesComplement):
         Writer.Write("~");
         break;
     case (UnifiedUnaryOperatorKind.Unknown):
         Writer.Write(element.Sign);
         break;
     default:
         throw new InvalidOperationException();
     }
     return false;
 }
開發者ID:UnicoenProject,項目名稱:UNICOEN,代碼行數:34,代碼來源:JavaScriptCodeFactoryVisitor.Others.cs

示例8: Visit

 //goto文
 public override bool Visit(UnifiedGoto element, VisitorArgument arg)
 {
     //JavaScriptではgoto文はサポートされていない
     Writer.Write("/* goto ");
     element.Target.TryAccept(this, arg);
     Writer.Write("*/");
     return true;
 }
開發者ID:macc704,項目名稱:UNICOEN,代碼行數:9,代碼來源:JavaScriptCodeFactoryVisitor.Statements.cs

示例9: Visit

 public override bool Visit(
         UnifiedNamespaceDefinition element, VisitorArgument arg)
 {
     Writer.Write("package ");
     element.Name.TryAccept(this, arg);
     Writer.WriteLine(";");
     element.Body.TryAccept(this, arg);
     return false;
 }
開發者ID:UnicoenProject,項目名稱:UNICOEN,代碼行數:9,代碼來源:JavaLikeCodeFactoryVisitor.Others.cs

示例10: Visit

 public override bool Visit(
         UnifiedSet<UnifiedCase> element, VisitorArgument arg)
 {
     arg = arg.IncrementDepth();
     foreach (var caseElement in element) {
         WriteIndent(arg.IndentDepth);
         caseElement.TryAccept(this, arg);
     }
     return false;
 }
開發者ID:UnicoenProject,項目名稱:UNICOEN,代碼行數:10,代碼來源:JavaScriptCodeFactoryVisitor.Collections.cs

示例11: Visit

        // enum定義(UnifiedEnumDefinition)
        public override bool Visit(
				UnifiedEnumDefinition element, VisitorArgument arg)
        {
            // enum COLOR {RED, BLUE, YELLOW};
            element.Modifiers.TryAccept(this, arg);
            Writer.Write("enum ");
            element.Name.TryAccept(this, arg);
            Writer.Write(" ");
            element.Body.TryAccept(this, arg.Set(ForBlock));
            return true;
        }
開發者ID:UnicoenProject,項目名稱:UNICOEN,代碼行數:12,代碼來源:CCodeFactoryVisitor.Others.cs


注:本文中的Unicoen.Processor.VisitorArgument類示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。