コード例 #1
0
ファイル: NodeBinOp.cs プロジェクト: HassiumTeam/Betterium
 public NodeBinOp(BinOp type, AstNode left, AstNode right)
     : base("Binary Operation", NodeType.Operation)
 {
     Type = type;
     AddChild (left);
     AddChild (right);
 }
コード例 #2
0
ファイル: NodeIf.cs プロジェクト: HassiumTeam/Betterium
 public NodeIf(AstNode predicate, AstNode body, AstNode elseBody = null)
     : base("If Statement", NodeType.Statement)
 {
     AddChild (predicate);
     AddChild (body);
     AddChild (elseBody ?? new AstNode ());
 }
コード例 #3
0
ファイル: NodeFuncCall.cs プロジェクト: HassiumTeam/Betterium
 public NodeFuncCall(AstNode left, AstNode args)
     : base("Function Call", NodeType.Function)
 {
     AddChild (left);
     AddChild (args);
 }
コード例 #4
0
ファイル: AstNode.cs プロジェクト: HassiumTeam/Betterium
 public void AddChild(AstNode node)
 {
     Children.Add (node);
 }
コード例 #5
0
ファイル: Program.cs プロジェクト: HassiumTeam/Betterium
 void DumpAst(AstNode node, int depth = 0)
 {
     Console.WriteLine ("{0}* {1}", "".PadLeft (depth * 2, ' '), node.Name);
     foreach (var child in node.Children)
         DumpAst (child, depth + 1);
 }
コード例 #6
0
ファイル: NodeUnOp.cs プロジェクト: HassiumTeam/Betterium
 public NodeUnOp(UnOp type, AstNode val)
     : base("Unary Operation", NodeType.Operation)
 {
     Type = type;
     AddChild (val);
 }